Changeset 51

Show
Ignore:
Timestamp:
03/17/06 16:49:38 (3 years ago)
Author:
schst
Message:

schema finetuning

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/main/resources/schemas/xjconf.xsd

    r50 r51  
    11<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
    2     <xs:element name="defines"> 
     2 
     3  <!--  
     4    defines 
     5  --> 
     6  <xs:element name="defines"> 
     7    <xs:complexType> 
     8      <xs:sequence> 
     9        <xs:element ref="namespace" minOccurs="0" maxOccurs="unbounded"/> 
     10        <xs:element ref="tag" minOccurs="0" maxOccurs="unbounded"/> 
     11      </xs:sequence> 
     12    </xs:complexType> 
     13  </xs:element> 
     14   
     15  <!-- 
     16    namespace 
     17  --> 
     18  <xs:element name="namespace"> 
     19    <xs:complexType> 
     20      <xs:sequence> 
     21        <xs:element ref="tag" minOccurs="0" maxOccurs="unbounded"/> 
     22      </xs:sequence> 
     23      <xs:attribute name="uri" type="xs:anyURI" use="required"/> 
     24    </xs:complexType> 
     25  </xs:element> 
     26 
     27  <!-- 
     28    tag 
     29  --> 
     30  <xs:element name="tag"> 
     31    <xs:complexType> 
     32      <xs:sequence> 
     33        <xs:element ref="constructor" minOccurs="0" maxOccurs="1"/> 
     34        <xs:element ref="cdata" minOccurs="0" maxOccurs="1"/> 
     35        <xs:element ref="attribute" minOccurs="0" maxOccurs="unbounded"/> 
     36      </xs:sequence> 
     37      <xs:attribute name="name" type="xs:string" use="required"/> 
     38      <xs:attribute name="type" type="xs:string" use="required"/> 
     39      <xs:attribute name="key" type="xs:string" use="optional"/> 
     40      <xs:attribute name="keyAttribute" type="xs:string" use="optional"/> 
     41      <xs:attribute name="setter" type="xs:string" use="optional"/> 
     42    </xs:complexType> 
     43  </xs:element> 
     44   
     45  <!-- 
     46    attribute 
     47  --> 
     48  <xs:element name="attribute"> 
     49    <xs:complexType> 
     50      <xs:attribute name="name" type="xs:string" use="required"/> 
     51      <xs:attribute name="type" type="xs:string" use="required"/> 
     52      <xs:attribute name="required" type="xs:boolean" use="optional"/> 
     53      <xs:attribute name="setter" type="xs:string" use="optional"/> 
     54      <xs:attribute name="default" type="xs:string" use="optional"/> 
     55    </xs:complexType> 
     56  </xs:element> 
     57   
     58  <!-- 
     59    cdata 
     60  --> 
     61  <xs:element name="cdata"> 
     62    <xs:complexType> 
     63      <xs:attribute name="type" type="xs:string" use="required"/> 
     64      <xs:attribute name="setter" type="xs:string" use="optional"/> 
     65    </xs:complexType> 
     66  </xs:element> 
     67   
     68  <!-- 
     69    Constructor 
     70  --> 
     71  <xs:element name="constructor"> 
     72    <xs:complexType> 
     73      <xs:sequence> 
     74        <xs:group ref="any-value" minOccurs="1" maxOccurs="unbounded"/> 
     75      </xs:sequence> 
     76    </xs:complexType> 
     77  </xs:element> 
     78 
     79  <!-- 
     80    Group te represent any value 
     81  --> 
     82  <xs:group name="any-value"> 
     83    <xs:choice> 
     84        <xs:element ref="cdata"/> 
     85        <xs:element name="child"> 
    386        <xs:complexType> 
    4             <xs:sequence> 
    5                 <xs:element ref="namespace" minOccurs="0" maxOccurs="unbounded"/> 
    6                 <xs:element ref="tag" minOccurs="0" maxOccurs="unbounded"/> 
    7             </xs:sequence>                 
     87          <xs:attribute type="xs:string" name="name"/> 
    888        </xs:complexType> 
    9     </xs:element> 
    10     <xs:element name="namespace"> 
    11         <xs:complexType> 
    12             <xs:sequence> 
    13                 <xs:element ref="tag" minOccurs="1" maxOccurs="unbounded"/> 
    14             </xs:sequence>                 
    15             <xs:attribute name="uri" type="xs:string"/> 
    16         </xs:complexType> 
    17     </xs:element> 
    18     <xs:element name="tag"> 
    19         <xs:complexType> 
    20             <xs:sequence> 
    21                 <xs:element ref="constructor" minOccurs="0" maxOccurs="1"/> 
    22                 <xs:element ref="cdata" minOccurs="0" maxOccurs="1"/> 
    23                 <xs:element ref="attribute" minOccurs="0" maxOccurs="unbounded"/> 
    24             </xs:sequence>                 
    25             <xs:attribute name="name" type="xs:string"/> 
    26             <xs:attribute name="type" type="xs:string"/> 
    27             <xs:attribute name="key" type="xs:string"/> 
    28             <xs:attribute name="keyAttribute" type="xs:string"/> 
    29             <xs:attribute name="setter" type="xs:string"/> 
    30         </xs:complexType> 
    31     </xs:element> 
    32     <xs:element name="attribute"> 
    33         <xs:complexType> 
    34             <xs:attribute name="name" type="xs:string"/> 
    35             <xs:attribute name="type" type="xs:string"/> 
    36             <xs:attribute name="setter" type="xs:string"/> 
    37             <xs:attribute name="default" type="xs:string"/> 
    38             <xs:attribute name="required" type="xs:boolean"/> 
    39         </xs:complexType> 
    40     </xs:element> 
    41     <xs:element name="cdata"> 
    42         <xs:complexType> 
    43             <xs:attribute name="type" type="xs:string"/> 
    44             <xs:attribute name="setter" type="xs:string"/> 
    45         </xs:complexType> 
    46     </xs:element> 
    47     <xs:element name="constructor"> 
    48     </xs:element> 
     89      </xs:element> 
     90        <xs:element ref="attribute"/> 
     91    </xs:choice> 
     92  </xs:group> 
     93   
    4994</xs:schema>