[dfdl-wg] Annotation complexity

Martin Westhead martinwesthead at yahoo.co.uk
Fri Nov 19 12:38:14 CST 2004


Sorry the elements in the triple were all supposed to be of a simple 
type e.g.:

    <xs:complexType name="triple">
      <xs:annotation>
        <xs:appinfo>
          <dfdlFromBinary/>
        </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
        <xs:element name="first" type="xs:int"/>
        <xs:element name="second" type="xs:int"/>
        <xs:element name="third" type="xs:int"/>
      </xs:sequence>
    </xs:complexType>


    <xs:complexType name="data">
      <xs:annotation>
        <xs:appinfo>
          <dfdlFromStrings/>
        </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
        <xs:element name="triple"/>
      </xs:sequence>
    </xs:complexType>

Martin Westhead wrote:
> Hi,
> 
> I think I understand Suman's issue with annotations on the Schema tree. 
> (Please Suman tell me if I am right here).  The problem is, that 
> lexically there are many trees in an XSD. Whilst in practice these can 
> clearly be considered as a single tree (including, I think, even the 
> simple type hierarchies) by placing all the type definitions inline, 
> this is not the way they appear to the user. So for example if I have a 
> file with conflicting annotations looking like:
> 
>   <xs:complexType name="triple">
>     <xs:annotation>
>       <xs:appinfo>
>         <dfdlFromBinary/>
>       </xs:appinfo>
>     </xs:annotation>
>     <xs:sequence>
>       <xs:element name="first" type="xs:int"/>
>       <xs:element name="second"/>
>       <xs:element name="third"/>
>     </xs:sequence>
>   </xs:complexType>
> 
> 
>   <xs:complexType name="data">
>     <xs:annotation>
>       <xs:appinfo>
>         <dfdlFromStrings/>
>       </xs:appinfo>
>     </xs:annotation>
>     <xs:sequence>
>       <xs:element name="triple"/>
>     </xs:sequence>
>   </xs:complexType>
> 
> So what I imagined is that we would assume that the "triple" type is 
> considered _inside_ the scope of the "data" type and so the 
> "dfdlFromBinary" tag wins.
> 
> On the other hand the user sees two trees of equal depth with 
> conflicting annotations. The examples can obviously get much more 
> intricate.
> 
> The issue is really that the scope of the annotations is not lexically 
> defined.  At some level this is just like having globally included 
> variables in a programming language. On the other hand we have arbitrary 
> levels of these.
> 
> Suman is this the problem?
> 
> If this is the problem, and we agree that it is too confusing to the 
> user (my opinion is still out on this). Then I see that the conclusion 
> is to adopt an approach similar to IBM's that annotations can appear 
> only on <element> and <attribute> tags. Even the top level of the file 
> is confusing since there may be many files involved. I guess we can also 
> have runtime defaults and default settings set in the standard. I don't 
> like this conclusion incidentally, can someone convince me it is the 
> wrong one?
> 
> Martin
> 
> 
> 
> 
> 
> 
> 
> 





More information about the dfdl-wg mailing list