Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. <!--
  2.  
  3. Copyright (c) 2001-2004 World Wide Web Consortium,
  4. (Massachusetts Institute of Technology, Institut National de
  5. Recherche en Informatique et en Automatique, Keio University).  All
  6. Rights Reserved.  This program is distributed under the W3C's Software
  7. Intellectual Property License.  This program is distributed in the
  8. hope that it will be useful, but WITHOUT ANY WARRANTY; without even
  9. the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
  10. PURPOSE.  
  11.  
  12. See W3C License http://www.w3.org/Consortium/Legal/ for more details.
  13.  
  14. -->
  15.  
  16. <!--
  17.  
  18. This schema is attempts to use every construct that could
  19. be interrogated by DOM Level 3 and is no way intended to
  20. be a general purpose schema for XHTML  
  21.  
  22. -->
  23.  
  24. <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  25.         targetNamespace="http://www.w3.org/1999/xhtml"
  26.         xmlns="http://www.w3.org/1999/xhtml">
  27.  
  28.  <xsd:element name="html">
  29.          <xsd:complexType>
  30.                 <xsd:sequence>
  31.                         <xsd:element ref="head"/>
  32.                         <xsd:element ref="body"/>
  33.                 </xsd:sequence>
  34.          </xsd:complexType>
  35.  </xsd:element>
  36.  
  37.  <xsd:element name="head">
  38.         <xsd:complexType>
  39.                 <xsd:sequence>
  40.                         <xsd:element ref="meta"/>
  41.                         <xsd:element ref="title"/>
  42.                         <xsd:element ref="script" minOccurs="0" maxOccurs="unbounded"/>
  43.                 </xsd:sequence>
  44.         </xsd:complexType>
  45.  </xsd:element>
  46.  
  47.  <xsd:element name="meta">
  48.         <xsd:complexType>
  49.                 <xsd:attribute name="http-equiv" type="xsd:string" use="required"/>
  50.                 <xsd:attribute name="content" type="xsd:string" use="required"/>
  51.         </xsd:complexType>
  52.  </xsd:element>
  53.  
  54.  <xsd:element name="script">
  55.         <xsd:complexType>
  56.                 <xsd:simpleContent>
  57.                         <xsd:extension base="xsd:string">
  58.                                 <xsd:attribute name="src" type="xsd:string" use="optional"/>
  59.                                 <xsd:attribute name="charset" type="xsd:string" use="optional"/>
  60.                                 <xsd:attribute name="type" type="xsd:string" use="required"/>
  61.                         </xsd:extension>
  62.                 </xsd:simpleContent>
  63.         </xsd:complexType>
  64.  </xsd:element>
  65.  
  66.  <xsd:element name="title" type="xsd:string"/>
  67.  
  68.  <xsd:element name="body">
  69.         <xsd:complexType>
  70.                 <xsd:sequence minOccurs="0" maxOccurs="unbounded">
  71.                         <xsd:element ref="p"/>
  72.                 </xsd:sequence>
  73.                 <xsd:attribute name="onload" type="xsd:string" use="optional"/>
  74.         </xsd:complexType>
  75.  </xsd:element>
  76.  
  77.  <xsd:simpleType name="classType">
  78.           <xsd:restriction base="xsd:string">
  79.                   <xsd:enumeration value="Yes"/>
  80.                   <xsd:enumeration value="No"/>
  81.                   <xsd:enumeration value="Y&#945;"/>
  82.                   <xsd:enumeration value="Y"/>
  83.           </xsd:restriction>
  84.  </xsd:simpleType>
  85.  
  86.  <xsd:complexType name="part1">
  87.           <xsd:sequence>
  88.                           <xsd:element ref="em"/>
  89.                           <xsd:element ref="strong"/>
  90.                           <xsd:element ref="code"/>
  91.           </xsd:sequence>
  92.  </xsd:complexType>
  93.  
  94.  <xsd:complexType name="pType">
  95.           <xsd:complexContent>
  96.                         <xsd:extension base="part1">
  97.                                 <xsd:sequence>
  98.                                         <xsd:element ref="sup"/>
  99.                                         <xsd:element ref="var"/>
  100.                                         <xsd:element ref="acronym"/>
  101.                                 </xsd:sequence>
  102.                                 <xsd:attribute name="title" type="xsd:string" use="optional"/>
  103.                                 <xsd:attribute name="class" type="classType" use="optional"/>
  104.                                 <xsd:attribute name="dir" type="dirType" use="optional" default="rtl"/>
  105.                                 <xsd:attribute name="foo" type="xsd:string" use="optional"/>
  106.                         </xsd:extension>
  107.                 </xsd:complexContent>
  108.  </xsd:complexType>
  109.  
  110.                    
  111.  <xsd:element name="p">
  112.           <xsd:complexType>
  113.                   <xsd:complexContent>
  114.                            <xsd:restriction base="pType">
  115.                                         <xsd:sequence>
  116.                                                 <xsd:element ref="em"/>
  117.                                                 <xsd:element ref="strong"/>
  118.                                                 <xsd:element ref="code"/>
  119.                                                 <xsd:element ref="sup"/>
  120.                                                 <xsd:element ref="var"/>
  121.                                                 <xsd:element ref="acronym"/>
  122.                                         </xsd:sequence>
  123.                                         <xsd:attribute name="title" type="xsd:string" use="optional"/>
  124.                                         <xsd:attribute name="class" type="classType" use="optional"/>
  125.                                         <xsd:attribute name="dir" type="dirType" use="optional" default="rtl"/>
  126.                                         <xsd:attribute name="foo" type="xsd:string" use="prohibited"/>
  127.                             </xsd:restriction>
  128.                   </xsd:complexContent>
  129.           </xsd:complexType>
  130.  </xsd:element>
  131.  
  132.  <xsd:simpleType name="emp0001_3Type">
  133.           <xsd:restriction base="xsd:ID">
  134.                   <xsd:enumeration value="EMP0001"/>
  135.                   <xsd:enumeration value="EMP0002"/>
  136.                   <xsd:enumeration value="EMP0003"/>
  137.                   <xsd:enumeration value="EMP0004"/>
  138.                   <xsd:enumeration value="EMP0005"/>
  139.           </xsd:restriction>
  140.  </xsd:simpleType>
  141.  
  142.  <xsd:simpleType name="emp0004_5Type">
  143.           <xsd:restriction base="xsd:ID">
  144.                   <xsd:enumeration value="EMP0006"/>
  145.                   <xsd:enumeration value="EMP0007"/>
  146.           </xsd:restriction>
  147.  </xsd:simpleType>
  148.  
  149.  <xsd:simpleType name="unboundedEmType">
  150.                 <xsd:union memberTypes="emp0001_3Type emp0004_5Type"/>
  151.  </xsd:simpleType>
  152.  
  153.  <xsd:simpleType name="emType">
  154.             <xsd:restriction base="unboundedEmType">
  155.                 <xsd:pattern value="EMP[0-9]*"/>
  156.             </xsd:restriction>
  157.  </xsd:simpleType>
  158.                
  159.  
  160.  <xsd:element name="em" type="emType"/>
  161.  
  162.  <xsd:simpleType name="unboundedStrongType">
  163.                 <xsd:list itemType="xsd:string"/>
  164.  </xsd:simpleType>
  165.  
  166.  
  167.  <xsd:simpleType name="strongType">
  168.           <xsd:restriction base="unboundedStrongType">
  169.                   <xsd:maxLength value="100"/>
  170.           </xsd:restriction>
  171.  </xsd:simpleType>
  172.  
  173.  <xsd:element name="strong" type="strongType"/>
  174.  
  175.  <!--  union of union and union of list   -->
  176.  <xsd:simpleType name="integers">
  177.          <xsd:list itemType="xsd:integer"/>
  178.  </xsd:simpleType>
  179.  
  180.  
  181.  <xsd:simpleType name="sup">
  182.         <xsd:union memberTypes="emType integers xsd:string"/>
  183.  </xsd:simpleType>
  184.  <xsd:element name="sup" type="sup"/>
  185.  
  186.  <!--   list of union of union  -->
  187.  <xsd:simpleType name="supervisoryTitle">
  188.         <xsd:restriction base="xsd:string">
  189.           <xsd:enumeration value="Specialist"/>
  190.           <xsd:enumeration value="Director"/>
  191.           <xsd:enumeration value="Manager"/>
  192.         </xsd:restriction>
  193.  </xsd:simpleType>
  194.  
  195.  <xsd:simpleType name="nonSupervisoryTitle">
  196.         <xsd:restriction base="xsd:string">
  197.           <xsd:enumeration value="Accountant"/>
  198.           <xsd:enumeration value="Secretary"/>
  199.         </xsd:restriction>
  200.  </xsd:simpleType>
  201.  
  202.  <xsd:simpleType name="title">
  203.         <xsd:union memberTypes="supervisoryTitle nonSupervisoryTitle"/>
  204.  </xsd:simpleType>
  205.          
  206.  <xsd:simpleType name="field">
  207.         <xsd:restriction base="xsd:string">
  208.           <xsd:enumeration value="Department"/>
  209.           <xsd:enumeration value="Personnel"/>
  210.           <xsd:enumeration value="Computer"/>
  211.         </xsd:restriction>
  212.  </xsd:simpleType>
  213.  
  214.  <xsd:simpleType name="codeItem">
  215.         <xsd:union memberTypes="field title"/>
  216.  </xsd:simpleType>
  217.  <xsd:simpleType name="code">
  218.         <xsd:list itemType="codeItem"/>
  219.  </xsd:simpleType>
  220.  <xsd:element name="code" type="code"/>
  221.  
  222.  <xsd:element name="span" type="xsd:string"/>
  223.  
  224.  <xsd:complexType name="var" mixed="true">
  225.                 <xsd:sequence>
  226.                         <xsd:element ref="span" minOccurs="0"/>
  227.                 </xsd:sequence>
  228.  </xsd:complexType>
  229.  
  230.  <xsd:element name="var" type="var"/>
  231.  
  232.  <xsd:simpleType name="dirType">
  233.           <xsd:restriction base="xsd:string">
  234.                   <xsd:enumeration value="ltr"/>
  235.                   <xsd:enumeration value="rtl"/>
  236.           </xsd:restriction>
  237.  </xsd:simpleType>
  238.  
  239.  <xsd:element name="acronym">
  240.         <xsd:complexType>
  241.                 <xsd:simpleContent>
  242.                         <xsd:extension base="xsd:string">
  243.                                 <xsd:attribute name="class" type="classType" use="optional"/>
  244.                                 <xsd:attribute name="title" type="xsd:string" use="optional"/>
  245.                                 <xsd:attribute name="id" type="xsd:ID" use="optional"/>
  246.                         </xsd:extension>
  247.                 </xsd:simpleContent>
  248.         </xsd:complexType>
  249.  </xsd:element>
  250. </xsd:schema>
  251.