home *** CD-ROM | disk | FTP | other *** search
/ MacFormat UK 160 - Disc 2 / MF_UK_160_2.iso / pc / DiscContent / Trials / oxygen / lib / oxygen.jar / builtin / relaxng.xsd < prev    next >
Encoding:
Extensible Markup Language  |  2005-07-21  |  11.9 KB  |  353 lines

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- RELAX NG for RELAX NG -->
  3. <!-- $Id: relaxng.xsd,v 1.1 2003/05/29 09:01:06 dan Exp $ -->
  4. <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://relaxng.org/ns/structure/1.0" xmlns:structure="http://relaxng.org/ns/structure/1.0">
  5.   <xs:group name="pattern">
  6.     <xs:choice>
  7.       <xs:element ref="structure:element"/>
  8.       <xs:element ref="structure:attribute"/>
  9.       <xs:element ref="structure:group"/>
  10.       <xs:element ref="structure:interleave"/>
  11.       <xs:element name="choice">
  12.         <xs:complexType>
  13.           <xs:group ref="structure:open-patterns"/>
  14.           <xs:attributeGroup ref="structure:common-atts"/>
  15.         </xs:complexType>
  16.       </xs:element>
  17.       <xs:element ref="structure:optional"/>
  18.       <xs:element ref="structure:zeroOrMore"/>
  19.       <xs:element ref="structure:oneOrMore"/>
  20.       <xs:element ref="structure:list"/>
  21.       <xs:element ref="structure:mixed"/>
  22.       <xs:element ref="structure:ref"/>
  23.       <xs:element ref="structure:parentRef"/>
  24.       <xs:element ref="structure:empty"/>
  25.       <xs:element ref="structure:text"/>
  26.       <xs:element ref="structure:value"/>
  27.       <xs:element ref="structure:data"/>
  28.       <xs:element ref="structure:notAllowed"/>
  29.       <xs:element ref="structure:externalRef"/>
  30.       <xs:element ref="structure:grammar"/>
  31.     </xs:choice>
  32.   </xs:group>
  33.   <xs:element name="element">
  34.     <xs:complexType>
  35.       <xs:sequence>
  36.         <xs:group minOccurs="0" ref="structure:open-name-class"/>
  37.         <xs:group ref="structure:open-patterns"/>
  38.       </xs:sequence>
  39.       <xs:attribute name="name" type="xs:QName"/>
  40.       <xs:attributeGroup ref="structure:common-atts"/>
  41.     </xs:complexType>
  42.   </xs:element>
  43.   <xs:element name="attribute">
  44.     <xs:complexType>
  45.       <xs:sequence>
  46.         <xs:group minOccurs="0" ref="structure:open-name-class"/>
  47.         <xs:choice minOccurs="0" maxOccurs="unbounded">
  48.           <xs:group ref="structure:other"/>
  49.           <xs:group ref="structure:pattern"/>
  50.         </xs:choice>
  51.       </xs:sequence>
  52.       <xs:attributeGroup ref="structure:common-atts"/>
  53.       <xs:attribute name="name" type="xs:QName"/>
  54.     </xs:complexType>
  55.   </xs:element>
  56.   <xs:element name="group">
  57.     <xs:complexType>
  58.       <xs:group ref="structure:open-patterns"/>
  59.       <xs:attributeGroup ref="structure:common-atts"/>
  60.     </xs:complexType>
  61.   </xs:element>
  62.   <xs:element name="interleave">
  63.     <xs:complexType>
  64.       <xs:group ref="structure:open-patterns"/>
  65.       <xs:attributeGroup ref="structure:common-atts"/>
  66.     </xs:complexType>
  67.   </xs:element>
  68.   <xs:element name="optional">
  69.     <xs:complexType>
  70.       <xs:group ref="structure:open-patterns"/>
  71.       <xs:attributeGroup ref="structure:common-atts"/>
  72.     </xs:complexType>
  73.   </xs:element>
  74.   <xs:element name="zeroOrMore">
  75.     <xs:complexType>
  76.       <xs:group ref="structure:open-patterns"/>
  77.       <xs:attributeGroup ref="structure:common-atts"/>
  78.     </xs:complexType>
  79.   </xs:element>
  80.   <xs:element name="oneOrMore">
  81.     <xs:complexType>
  82.       <xs:group ref="structure:open-patterns"/>
  83.       <xs:attributeGroup ref="structure:common-atts"/>
  84.     </xs:complexType>
  85.   </xs:element>
  86.   <xs:element name="list">
  87.     <xs:complexType>
  88.       <xs:group ref="structure:open-patterns"/>
  89.       <xs:attributeGroup ref="structure:common-atts"/>
  90.     </xs:complexType>
  91.   </xs:element>
  92.   <xs:element name="mixed">
  93.     <xs:complexType>
  94.       <xs:group ref="structure:open-patterns"/>
  95.       <xs:attributeGroup ref="structure:common-atts"/>
  96.     </xs:complexType>
  97.   </xs:element>
  98.   <xs:element name="ref">
  99.     <xs:complexType>
  100.       <xs:group ref="structure:other"/>
  101.       <xs:attribute name="name" use="required" type="xs:NCName"/>
  102.       <xs:attributeGroup ref="structure:common-atts"/>
  103.     </xs:complexType>
  104.   </xs:element>
  105.   <xs:element name="parentRef">
  106.     <xs:complexType>
  107.       <xs:group ref="structure:other"/>
  108.       <xs:attribute name="name" use="required" type="xs:NCName"/>
  109.       <xs:attributeGroup ref="structure:common-atts"/>
  110.     </xs:complexType>
  111.   </xs:element>
  112.   <xs:element name="empty">
  113.     <xs:complexType>
  114.       <xs:group ref="structure:other"/>
  115.       <xs:attributeGroup ref="structure:common-atts"/>
  116.     </xs:complexType>
  117.   </xs:element>
  118.   <xs:element name="text">
  119.     <xs:complexType>
  120.       <xs:group ref="structure:other"/>
  121.       <xs:attributeGroup ref="structure:common-atts"/>
  122.     </xs:complexType>
  123.   </xs:element>
  124.   <xs:element name="value">
  125.     <xs:complexType mixed="true">
  126.       <xs:attribute name="type" type="xs:NCName"/>
  127.       <xs:attributeGroup ref="structure:common-atts"/>
  128.     </xs:complexType>
  129.   </xs:element>
  130.   <xs:element name="data">
  131.     <xs:complexType>
  132.       <xs:choice minOccurs="0" maxOccurs="unbounded">
  133.         <xs:group ref="structure:other"/>
  134.         <xs:choice>
  135.           <xs:element ref="structure:param"/>
  136.           <xs:element name="except">
  137.             <xs:complexType>
  138.               <xs:group ref="structure:open-patterns"/>
  139.               <xs:attributeGroup ref="structure:common-atts"/>
  140.             </xs:complexType>
  141.           </xs:element>
  142.         </xs:choice>
  143.       </xs:choice>
  144.       <xs:attribute name="type" use="required" type="xs:NCName"/>
  145.       <xs:attributeGroup ref="structure:common-atts"/>
  146.     </xs:complexType>
  147.   </xs:element>
  148.   <xs:element name="param">
  149.     <xs:complexType mixed="true">
  150.       <xs:attribute name="name" use="required" type="xs:NCName"/>
  151.       <xs:attributeGroup ref="structure:common-atts"/>
  152.     </xs:complexType>
  153.   </xs:element>
  154.   <xs:element name="notAllowed">
  155.     <xs:complexType>
  156.       <xs:group ref="structure:other"/>
  157.       <xs:attributeGroup ref="structure:common-atts"/>
  158.     </xs:complexType>
  159.   </xs:element>
  160.   <xs:element name="externalRef">
  161.     <xs:complexType>
  162.       <xs:group ref="structure:other"/>
  163.       <xs:attribute name="href" use="required" type="xs:anyURI"/>
  164.       <xs:attributeGroup ref="structure:common-atts"/>
  165.     </xs:complexType>
  166.   </xs:element>
  167.   <xs:element name="grammar">
  168.     <xs:complexType>
  169.       <xs:complexContent>
  170.         <xs:extension base="structure:grammar-content">
  171.           <xs:attributeGroup ref="structure:common-atts"/>
  172.         </xs:extension>
  173.       </xs:complexContent>
  174.     </xs:complexType>
  175.   </xs:element>
  176.   <xs:complexType name="grammar-content">
  177.     <xs:choice minOccurs="0" maxOccurs="unbounded">
  178.       <xs:group ref="structure:other"/>
  179.       <xs:choice>
  180.         <xs:element ref="structure:start"/>
  181.         <xs:element ref="structure:define"/>
  182.         <xs:element name="div">
  183.           <xs:complexType>
  184.             <xs:complexContent>
  185.               <xs:extension base="structure:grammar-content">
  186.                 <xs:attributeGroup ref="structure:common-atts"/>
  187.               </xs:extension>
  188.             </xs:complexContent>
  189.           </xs:complexType>
  190.         </xs:element>
  191.         <xs:element ref="structure:include"/>
  192.       </xs:choice>
  193.     </xs:choice>
  194.   </xs:complexType>
  195.   <xs:element name="include">
  196.     <xs:complexType>
  197.       <xs:complexContent>
  198.         <xs:extension base="structure:include-content">
  199.           <xs:attribute name="href" use="required" type="xs:anyURI"/>
  200.           <xs:attributeGroup ref="structure:common-atts"/>
  201.         </xs:extension>
  202.       </xs:complexContent>
  203.     </xs:complexType>
  204.   </xs:element>
  205.   <xs:complexType name="include-content">
  206.     <xs:choice minOccurs="0" maxOccurs="unbounded">
  207.       <xs:group ref="structure:other"/>
  208.       <xs:choice>
  209.         <xs:element ref="structure:start"/>
  210.         <xs:element ref="structure:define"/>
  211.         <xs:element name="div">
  212.           <xs:complexType>
  213.             <xs:complexContent>
  214.               <xs:extension base="structure:include-content">
  215.                 <xs:attributeGroup ref="structure:common-atts"/>
  216.               </xs:extension>
  217.             </xs:complexContent>
  218.           </xs:complexType>
  219.         </xs:element>
  220.       </xs:choice>
  221.     </xs:choice>
  222.   </xs:complexType>
  223.   <xs:element name="start">
  224.     <xs:complexType>
  225.       <xs:complexContent>
  226.         <xs:extension base="structure:open-pattern">
  227.           <xs:attributeGroup ref="structure:combine-att"/>
  228.           <xs:attributeGroup ref="structure:common-atts"/>
  229.         </xs:extension>
  230.       </xs:complexContent>
  231.     </xs:complexType>
  232.   </xs:element>
  233.   <xs:element name="define">
  234.     <xs:complexType>
  235.       <xs:group ref="structure:open-patterns"/>
  236.       <xs:attribute name="name" use="required" type="xs:NCName"/>
  237.       <xs:attributeGroup ref="structure:combine-att"/>
  238.       <xs:attributeGroup ref="structure:common-atts"/>
  239.     </xs:complexType>
  240.   </xs:element>
  241.   <xs:attributeGroup name="combine-att">
  242.     <xs:attribute name="combine">
  243.       <xs:simpleType>
  244.         <xs:restriction base="xs:token">
  245.           <xs:enumeration value="choice"/>
  246.           <xs:enumeration value="interleave"/>
  247.         </xs:restriction>
  248.       </xs:simpleType>
  249.     </xs:attribute>
  250.   </xs:attributeGroup>
  251.   <xs:group name="open-patterns">
  252.     <xs:sequence>
  253.       <xs:choice minOccurs="0" maxOccurs="unbounded">
  254.         <xs:group ref="structure:other"/>
  255.         <xs:group ref="structure:pattern"/>
  256.       </xs:choice>
  257.     </xs:sequence>
  258.   </xs:group>
  259.   <xs:complexType name="open-pattern">
  260.     <xs:choice minOccurs="0" maxOccurs="unbounded">
  261.       <xs:group ref="structure:other"/>
  262.       <xs:group ref="structure:pattern"/>
  263.     </xs:choice>
  264.   </xs:complexType>
  265.   <xs:group name="name-class">
  266.     <xs:choice>
  267.       <xs:element ref="structure:name"/>
  268.       <xs:element ref="structure:anyName"/>
  269.       <xs:element ref="structure:nsName"/>
  270.       <xs:element name="choice">
  271.         <xs:complexType>
  272.           <xs:complexContent>
  273.             <xs:extension base="structure:open-name-classes">
  274.               <xs:attributeGroup ref="structure:common-atts"/>
  275.             </xs:extension>
  276.           </xs:complexContent>
  277.         </xs:complexType>
  278.       </xs:element>
  279.     </xs:choice>
  280.   </xs:group>
  281.   <xs:element name="name">
  282.     <xs:complexType>
  283.       <xs:simpleContent>
  284.         <xs:extension base="xs:QName">
  285.           <xs:attributeGroup ref="structure:common-atts"/>
  286.         </xs:extension>
  287.       </xs:simpleContent>
  288.     </xs:complexType>
  289.   </xs:element>
  290.   <xs:element name="anyName">
  291.     <xs:complexType>
  292.       <xs:complexContent>
  293.         <xs:extension base="structure:except-name-class">
  294.           <xs:attributeGroup ref="structure:common-atts"/>
  295.         </xs:extension>
  296.       </xs:complexContent>
  297.     </xs:complexType>
  298.   </xs:element>
  299.   <xs:element name="nsName">
  300.     <xs:complexType>
  301.       <xs:complexContent>
  302.         <xs:extension base="structure:except-name-class">
  303.           <xs:attributeGroup ref="structure:common-atts"/>
  304.         </xs:extension>
  305.       </xs:complexContent>
  306.     </xs:complexType>
  307.   </xs:element>
  308.   <xs:complexType name="except-name-class">
  309.     <xs:choice minOccurs="0" maxOccurs="unbounded">
  310.       <xs:group ref="structure:other"/>
  311.       <xs:element ref="structure:except"/>
  312.     </xs:choice>
  313.   </xs:complexType>
  314.   <xs:element name="except" type="structure:open-name-classes"/>
  315.   <xs:complexType name="open-name-classes">
  316.     <xs:choice minOccurs="0" maxOccurs="unbounded">
  317.       <xs:group ref="structure:other"/>
  318.       <xs:group ref="structure:name-class"/>
  319.     </xs:choice>
  320.   </xs:complexType>
  321.   <xs:group name="open-name-class">
  322.     <xs:sequence>
  323.       <xs:choice minOccurs="0" maxOccurs="unbounded">
  324.         <xs:group ref="structure:other"/>
  325.         <xs:group ref="structure:name-class"/>
  326.       </xs:choice>
  327.     </xs:sequence>
  328.   </xs:group>
  329.   <xs:attributeGroup name="common-atts">
  330.     <xs:attribute name="ns"/>
  331.     <xs:attribute name="datatypeLibrary" type="xs:anyURI"/>
  332.     <xs:anyAttribute namespace="##other" processContents="skip"/>
  333.   </xs:attributeGroup>
  334.   <xs:group name="other">
  335.       <xs:sequence>
  336.           <xs:choice minOccurs="0" maxOccurs="unbounded">
  337.               <xs:any namespace="##any" processContents="lax"/>
  338.           </xs:choice>
  339.       </xs:sequence>
  340.     <!--<xs:sequence>
  341.       <xs:choice minOccurs="0" maxOccurs="unbounded">
  342.         <xs:any namespace="##other" processContents="skip"/>
  343.         <xs:any namespace="##local" processContents="skip"/>
  344.       </xs:choice>
  345.     </xs:sequence>-->
  346.   </xs:group>
  347.   <xs:group name="any">
  348.     <xs:sequence>
  349.       <xs:any processContents="skip"/>
  350.     </xs:sequence>
  351.   </xs:group>
  352. </xs:schema>
  353.