RelaxNG/publidoc.rng
changeset 12 2885b2c3ff59
parent 11 2b32b535705c
child 17 ca367d4d080b
equal deleted inserted replaced
11:2b32b535705c 12:2885b2c3ff59
   436     </optional>
   436     </optional>
   437     <choice>
   437     <choice>
   438       <group>
   438       <group>
   439         <optional>
   439         <optional>
   440           <attribute name="type">
   440           <attribute name="type">
   441             <value>itemized</value>
   441             <value>ordered</value>
   442           </attribute>
   442           </attribute>
   443         </optional>
   443         </optional>
   444         <ref name="item"/>
       
   445         <oneOrMore>
       
   446           <ref name="item"/>
       
   447         </oneOrMore>
       
   448       </group>
       
   449       <group>
       
   450         <attribute name="type">
       
   451           <value>ordered</value>
       
   452         </attribute>
       
   453         <ref name="item"/>
   444         <ref name="item"/>
   454         <oneOrMore>
   445         <oneOrMore>
   455           <ref name="item"/>
   446           <ref name="item"/>
   456         </oneOrMore>
   447         </oneOrMore>
   457       </group>
   448       </group>
   495     </element>
   486     </element>
   496   </define>
   487   </define>
   497   <define name="label.content">
   488   <define name="label.content">
   498     <ref name="inlines"/>
   489     <ref name="inlines"/>
   499   </define>
   490   </define>
   500   <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ speech ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
   491   <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ speech ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
   501   <!-- ~~~~~~ speech -->
   492   <!-- ~~~~~~ speech -->
   502   <define name="speech">
   493   <define name="speech">
   503     <element name="speech">
   494     <element name="speech">
   504       <ref name="speech.content"/>
   495       <ref name="speech.content"/>
   505     </element>
   496     </element>
   602         </zeroOrMore>
   593         </zeroOrMore>
   603         <zeroOrMore>
   594         <zeroOrMore>
   604           <ref name="sub"/>
   595           <ref name="sub"/>
   605         </zeroOrMore>
   596         </zeroOrMore>
   606         <zeroOrMore>
   597         <zeroOrMore>
   607           <ref name="romannum"/>
   598           <ref name="number"/>
   608         </zeroOrMore>
   599         </zeroOrMore>
   609         <zeroOrMore>
   600         <zeroOrMore>
   610           <ref name="date"/>
   601           <ref name="date"/>
   611         </zeroOrMore>
   602         </zeroOrMore>
   612         <zeroOrMore>
   603         <zeroOrMore>
   645   <define name="sub">
   636   <define name="sub">
   646     <element name="sub">
   637     <element name="sub">
   647       <ref name="inlines"/>
   638       <ref name="inlines"/>
   648     </element>
   639     </element>
   649   </define>
   640   </define>
   650   <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ romannum ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
   641   <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ number ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
   651   <define name="romannum">
   642   <define name="number">
   652     <element name="romannum">
   643     <element name="number">
   653       <data type="token">
   644       <choice>
   654         <param name="pattern">([dlxvi]+)</param>
   645         <group>
   655       </data>
   646           <attribute name="type">
   656     </element>
   647             <value>roman</value>
       
   648           </attribute>
       
   649           <ref name="number.attributes"/>
       
   650           <ref name="number.roman.content"/>
       
   651         </group>
       
   652         <group>
       
   653           <ref name="number.attributes"/>
       
   654           <ref name="number.content"/>
       
   655         </group>
       
   656       </choice>
       
   657     </element>
       
   658   </define>
       
   659   <define name="number.attributes">
       
   660     <optional>
       
   661       <ref name="number.value.attribute"/>
       
   662     </optional>
       
   663   </define>
       
   664   <define name="number.value.attribute">
       
   665     <attribute name="value">
       
   666       <choice>
       
   667         <data type="integer"/>
       
   668         <data type="decimal"/>
       
   669       </choice>
       
   670     </attribute>
       
   671   </define>
       
   672   <define name="number.content">
       
   673     <mixed>
       
   674       <zeroOrMore>
       
   675         <ref name="sup"/>
       
   676       </zeroOrMore>
       
   677     </mixed>
       
   678   </define>
       
   679   <define name="number.roman.content">
       
   680     <data type="token">
       
   681       <param name="pattern">[dlxvi]+</param>
       
   682     </data>
   657   </define>
   683   </define>
   658   <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ date ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
   684   <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ date ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
   659   <define name="date">
   685   <define name="date">
   660     <element name="date">
   686     <element name="date">
   661       <ref name="date.attributes"/>
   687       <ref name="date.attributes"/>
   662       <ref name="date.content"/>
   688       <ref name="date.content"/>
   663     </element>
   689     </element>
   664   </define>
   690   </define>
   665   <define name="date.attributes">
   691   <define name="date.attributes">
   666     <optional>
   692     <interleave>
   667       <ref name="date.of.attribute"/>
   693       <ref name="date.value.attribute"/>
   668     </optional>
   694       <optional>
       
   695         <ref name="date.of.attribute"/>
       
   696       </optional>
       
   697     </interleave>
       
   698   </define>
       
   699   <define name="date.value.attribute">
       
   700     <attribute name="value">
       
   701       <choice>
       
   702         <data type="date"/>
       
   703         <data type="gYearMonth"/>
       
   704         <data type="gYear"/>
       
   705       </choice>
       
   706     </attribute>
   669   </define>
   707   </define>
   670   <define name="date.of.attribute">
   708   <define name="date.of.attribute">
   671     <attribute name="of">
   709     <attribute name="of">
   672       <ref name="date.of.enumeration"/>
   710       <ref name="date.of.enumeration"/>
   673     </attribute>
   711     </attribute>
   674   </define>
   712   </define>
   675   <define name="date.of.enumeration">
   713   <define name="date.of.enumeration">
   676     <choice>
   714     <choice>
   677       <value>event</value>
       
   678       <value>birth</value>
   715       <value>birth</value>
   679       <value>death</value>
   716       <value>death</value>
   680     </choice>
   717     </choice>
   681   </define>
   718   </define>
   682   <define name="date.content">
   719   <define name="date.content">
   683     <choice>
   720     <mixed>
   684       <data type="date"/>
   721       <zeroOrMore>
   685       <data type="gYearMonth"/>
   722         <ref name="sup"/>
   686       <data type="gYear"/>
   723       </zeroOrMore>
   687     </choice>
   724     </mixed>
   688   </define>
   725   </define>
   689   <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ name ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
   726   <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ name ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
   690   <define name="name">
   727   <define name="name">
   691     <element name="name">
   728     <element name="name">
   692       <ref name="name.attributes"/>
   729       <ref name="name.attributes"/>
   733   <define name="note.content">
   770   <define name="note.content">
   734     <oneOrMore>
   771     <oneOrMore>
   735       <ref name="parag"/>
   772       <ref name="parag"/>
   736     </oneOrMore>
   773     </oneOrMore>
   737   </define>
   774   </define>
   738   <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ foreign ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
   775   <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ foreign ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
   739   <define name="foreign">
   776   <define name="foreign">
   740     <element name="foreign">
   777     <element name="foreign">
   741       <ref name="foreign.attributes"/>
   778       <ref name="foreign.attributes"/>
   742       <ref name="foreign.content"/>
   779       <ref name="foreign.content"/>
   743     </element>
   780     </element>