Skip to content

Purpose of nested descriptor siblings not clear #80

@dschulten

Description

@dschulten

Quote from the spec:

--- snip ---

If 'descriptor' is declared at the top level of an ALPS document,
then a client SHOULD assume that 'descriptor' can appear anywhere in
a runtime message.

If 'descriptor' is nested, i.e. declared as a child of another
descriptor, then:

  1. A client SHOULD assume them to appear in any sibling 'descriptor'
    element and recursively in their child descriptors.
  2. A client SHOULD NOT assume that it can appear anywhere outside of
    parent descriptor, unless it was explicitly referenced by another
    descriptor in 'href' attribute. In that case the same rules are
    applied to 'descriptor' containing 'href' attribute.

A nested item may not occur outside its parent, except when explicitly referenced from the outside. (seems clear)

But I have difficulties to understand statement 1.

When I read the word "them" in 1. as "A client SHOULD assume that the nested descriptor may appear in any sibling 'descriptor' element and recursively in their child descriptors"

<descriptor id="parent">
  <descriptor id="child" >
    <descriptor id="grandchild1"/>
  </descriptor>
  <descriptor id="sibling" >
     <descriptor id="grandchild2"/>
  </descriptor>  
</descriptor>

It seems to say that 'child' implicitly is also present within 'sibling' and within 'grandchild2' and any deeper level below 'sibling', but not implicitly present below 'child'. Do I read that correctly? If so, what is the purpose of this?

Cheers

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions