poetry.xsd
branchdtd
changeset 0 80b83583ec4b
equal deleted inserted replaced
-1:000000000000 0:80b83583ec4b
       
     1 <?xml version="1.0" ?>
       
     2 <schema xmlns="http://www.w3.org/2001/XMLSchema"
       
     3   xmlns:p="http://www.tzone.org/~fabien/DTD/2002/Poetry"
       
     4   targetNamespace="http://www.tzone.org/~fabien/DTD/2002/Poetry"
       
     5   elementFormDefault="qualified">
       
     6 
       
     7   <annotation>
       
     8     <documentation xml:lang="en">
       
     9       Poetry DTD and other stuff.
       
    10       © 2002 Fabien Niñoles. All right reserved.
       
    11     </documentation>
       
    12   </annotation>
       
    13 
       
    14   <attributeGroup name="commonAttrib">
       
    15     <attribute minOccurs="0" name="id" type="ID"/>
       
    16     <attribute minOccurs="0" name="lang" type="xml:lang"/>
       
    17     <attribute minOccurs="0" name="role" type="token"/>
       
    18     <attribute minOccurs="0" name="xreflabel" type="token"/>
       
    19    </attributeGroup>
       
    20 
       
    21   <attributeGroup ref="p:commonAttrib"/>
       
    22 
       
    23   <element name="book">
       
    24     <sequence>
       
    25       <element minOccurs="0" name="docinfo" type="p:docinfoType"/>
       
    26       <element name="title" type="p:titleType"/>
       
    27       <choice>
       
    28         <element maxOccurs="unbounded" name="chapter" type="p:chapterType"/>
       
    29         <element maxOccurs="unbounded" name="section" type="p:sectionType"/>
       
    30         <element maxOccurs="unbounded" name="poetry" type="p:poetryType"/>
       
    31       </choice>
       
    32     </sequence>
       
    33   </element>
       
    34 
       
    35   <complexType name="docinfoType">
       
    36     <sequence>
       
    37       <element name="title" type="string"/>
       
    38       <element minOccurs="0" name="subtitle" type="string"/>
       
    39       <element minOccurs="0" name="version" type="string"/>
       
    40       <element minOccurs="0" name="status" type="string"/>
       
    41       <choice>
       
    42         <element name="author" type="p:individuType"/>
       
    43         <element name="authorgroup" type="authorgroupType"/>
       
    44       </choice>
       
    45       <element minOccurs="0" name="copyright" type="p:copyrightType"/>
       
    46       <element minOccurs="0" name="legalnotice" type="p:legalnoticeType"/>
       
    47       <element minOccurs="0" name="revhistory" type="p:revhistoryType"/>
       
    48     </sequence>
       
    49   </complexType>
       
    50 
       
    51   <complexType name="individuType">
       
    52     <sequence>
       
    53       <element minOccurs="0" name="firstname" type="string"/>
       
    54       <element minOccurs="0" name="initials" type="string"/>
       
    55       <element name="surname" type="string"/>
       
    56       <element minOccurs="0" name="email" type="p:emailType"/>
       
    57       <element minOccurs="0" name="address" type="p:addressType"/>
       
    58     </sequence>
       
    59   </complexType>
       
    60 
       
    61   <simpleType name="emailType">
       
    62     <restriction base="token">
       
    63       <pattern value=".*@.*"/>
       
    64     </restriction>
       
    65   </simpleType>
       
    66 
       
    67   <complexType name="addressType">
       
    68     <sequence>
       
    69       <element minOccurs="0" name="civicnumber" type="token"/>
       
    70       <element minOccurs="0" name="street" type="string"/>
       
    71       <element minOccurs="0" name="pob" type="token"/>
       
    72       <element minOccurs="0" name="city" type="string"/>
       
    73       <element minOccurs="0" name="state" type="string"/>
       
    74       <element minOccurs="0" name="country" type="string"/>
       
    75       <element minOccurs="0" name="postcode" type="string"/>
       
    76       <element minOccurs="0" name="phone" type="string"/>
       
    77       <element minOccurs="0" name="fax" type="string"/>
       
    78       <element minOccurs="0" name="email" type="p:emailType"/>
       
    79       <element minOccurs="0" name="other" type="string"/>
       
    80     </sequence>
       
    81   </complexType>
       
    82 
       
    83   <complexType name="authorgroupType">
       
    84     <sequence>
       
    85       <element maxOccurs="unbounded" name="author" type="p:individuType"/>
       
    86     </sequence>
       
    87   </complexType>
       
    88 
       
    89   <complexType name="copyrightType">
       
    90   <complexType name="legalnoticeType"/>
       
    91   <complexType name="revhistoryType"/>
       
    92 
       
    93   <complexType name="sectionType"/>
       
    94   <complexType name="poetryType"/>
       
    95 
       
    96   <attributeGroup name="xrefAttrib">
       
    97     <attribute name="linkend" type="IDREF"/>
       
    98     <attribute minOccurs="0" name="endterm" type="IDREF"/>
       
    99   </attributeGroup>
       
   100 
       
   101   <complexType name="titleClass">
       
   102     <sequence>
       
   103       <element name="title" type="p:textClass"/>
       
   104       <element minOccurs="0" name="subtitle" type="p:textClass"/>
       
   105       <element minOccurs="0" name="subtitle" type="p:textClass"/>
       
   106     </sequence>
       
   107   </complexType>
       
   108 
       
   109   <complexType name="infoClass">
       
   110     <complexContent>
       
   111       <sequence>
       
   112         <element minOccurs="0" name="docinfo" type="p:docinfoType"/>
       
   113       </sequence>
       
   114       <extension base="p:titleClass"/>
       
   115     </complexContent>
       
   116   </complexType>
       
   117 
       
   118   <complexType name="authorClass">
       
   119     <element name="author" type="p:authorType"/>
       
   120   </complexType>
       
   121   
       
   122   <complexType name="xrefClass">
       
   123     <choice>
       
   124       <element name="anchor"/>
       
   125       <element name="xref">
       
   126         <attributeGroup ref="xrefAttrib"/>
       
   127       </element>
       
   128       <element name="link" type="p:textClass">
       
   129         <attributeGroup ref="p:xrefAttrib"/>
       
   130       </element>
       
   131       <element name="ulink" type="p:textClass">
       
   132         <attributeGroup ref="p:xrefAttrib"/>
       
   133         <attribute name="url" type="anyURI"/>
       
   134       </element>
       
   135     </choice>
       
   136   </complexType>
       
   137 
       
   138   <complexType name="individuClass">
       
   139     <sequence>
       
   140       <element minOccurs="0" name="firstname" type="token"/>
       
   141       <element minOccurs="0" name="initials" type="token"/>
       
   142       <element name="surname" type="token"/>
       
   143       <element minOccurs="0" name="email" type="anyURI"/>
       
   144       <element minOccurs="0" name="address" type="p:addressType"/>
       
   145     </sequence>
       
   146   </complexType>
       
   147 
       
   148   <complexType name="textClass" mixed="true">
       
   149     <complexContent>
       
   150       <extension base="xrefClass"/>
       
   151       <choice minOccurs="0" maxOccurs="unbounded">
       
   152         <element name="emphasis" type="p:textClass"/>
       
   153         <element name="term"/>
       
   154         <element name="subscript"/>
       
   155         <element name="superscript"/>
       
   156         <element name="foreign"/>
       
   157         <element name="replaceable"/>
       
   158         <element name="literal"/>
       
   159       </choice>
       
   160     </complexContent>
       
   161   </complexType>
       
   162 
       
   163 </schema>
       
   164 <!-- Keep this comment at the end of the file
       
   165 Local variables:
       
   166 mode: xml
       
   167 sgml-omittag:nil
       
   168 sgml-shorttag:nil
       
   169 sgml-namecase-general:nil
       
   170 sgml-general-insert-case:lower
       
   171 sgml-minimize-attributes:nil
       
   172 sgml-always-quote-attributes:t
       
   173 sgml-indent-step:2
       
   174 sgml-indent-data:t
       
   175 sgml-parent-document:nil
       
   176 sgml-default-dtd-file:"poetry.ced"
       
   177 sgml-exposed-tags:nil
       
   178 sgml-local-catalogs:nil
       
   179 sgml-local-ecat-files:nil
       
   180 End:
       
   181 -->