RelaxNG/publidoc.rng
changeset 33 c70de8fae29d
parent 30 c0f9e813c039
child 34 c51d5097d065
equal deleted inserted replaced
32:057abb684d35 33:c70de8fae29d
   250   <define name="author">
   250   <define name="author">
   251     <element name="author">
   251     <element name="author">
   252       <ref name="author.content"/>
   252       <ref name="author.content"/>
   253     </element>
   253     </element>
   254   </define>
   254   </define>
       
   255   <define name="author.attributes">
       
   256     <optional>
       
   257       <ref name="role.attribute"/>
       
   258     </optional>
       
   259   </define>
       
   260   <define name="role.attribute">
       
   261     <attribute name="role">
       
   262       <choice>
       
   263         <value>author</value>
       
   264         <value>illustrator</value>
       
   265       </choice>
       
   266     </attribute>
       
   267   </define>
   255   <define name="author.content">
   268   <define name="author.content">
   256     <optional>
   269     <optional>
   257       <ref name="firstname"/>
   270       <ref name="firstname"/>
   258     </optional>
   271     </optional>
   259     <ref name="lastname"/>
   272     <ref name="lastname"/>
       
   273     <zeroOrMore>
       
   274       <ref name="role"/>
       
   275     </zeroOrMore>
       
   276   </define>
       
   277   <define name="role">
       
   278     <element name="role">
       
   279       <ref name="role.attributes"/>
       
   280     </element>
       
   281   </define>
       
   282   <define name="role.attributes">
       
   283     <ref name="role.of.attribute"/>
       
   284   </define>
       
   285   <define name="role.of.attribute">
       
   286     <attribute name="of">
       
   287       <choice>
       
   288         <value>author</value>
       
   289         <value>illustrator</value>
       
   290       </choice>
       
   291     </attribute>
   260   </define>
   292   </define>
   261   <!-- ~~~~~~ publisher -->
   293   <!-- ~~~~~~ publisher -->
   262   <define name="publisher">
   294   <define name="publisher">
   263     <element name="publisher">
   295     <element name="publisher">
   264       <ref name="publisher.content"/>
   296       <ref name="publisher.content"/>
   341   <define name="pagenumber.attributes">
   373   <define name="pagenumber.attributes">
   342     <ref name="pagenumber.value.attribute"/>
   374     <ref name="pagenumber.value.attribute"/>
   343   </define>
   375   </define>
   344   <define name="pagenumber.value.attribute">
   376   <define name="pagenumber.value.attribute">
   345     <attribute name="value">
   377     <attribute name="value">
   346       <ref name="pagenumber.value.enumeration"/>
   378       <data type="positiveInteger"/>
   347     </attribute>
   379     </attribute>
   348   </define>
       
   349   <define name="pagenumber.value.enumeration">
       
   350     <data type="positiveInteger"/>
       
   351   </define>
   380   </define>
   352   <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ subject ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
   381   <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ subject ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
   353   <!-- ~~~~~~ subjectset -->
   382   <!-- ~~~~~~ subjectset -->
   354   <define name="subjectset">
   383   <define name="subjectset">
   355     <element name="subjectset">
   384     <element name="subjectset">
   969       </choice>
   998       </choice>
   970     </attribute>
   999     </attribute>
   971   </define>
  1000   </define>
   972   <define name="date.of.attribute">
  1001   <define name="date.of.attribute">
   973     <attribute name="of">
  1002     <attribute name="of">
   974       <ref name="date.of.enumeration"/>
  1003       <choice>
   975     </attribute>
  1004         <value>birth</value>
   976   </define>
  1005         <value>death</value>
   977   <define name="date.of.enumeration">
  1006       </choice>
   978     <choice>
  1007     </attribute>
   979       <value>birth</value>
       
   980       <value>death</value>
       
   981     </choice>
       
   982   </define>
  1008   </define>
   983   <define name="date.content">
  1009   <define name="date.content">
   984     <mixed>
  1010     <mixed>
   985       <zeroOrMore>
  1011       <zeroOrMore>
   986         <ref name="sup"/>
  1012         <ref name="sup"/>
   999       <ref name="name.of.attribute"/>
  1025       <ref name="name.of.attribute"/>
  1000     </optional>
  1026     </optional>
  1001   </define>
  1027   </define>
  1002   <define name="name.of.attribute">
  1028   <define name="name.of.attribute">
  1003     <attribute name="of">
  1029     <attribute name="of">
  1004       <ref name="name.of.enumeration"/>
  1030       <choice>
  1005     </attribute>
  1031         <value>person</value>
  1006   </define>
  1032         <value>company</value>
  1007   <define name="name.of.enumeration">
  1033         <value>book</value>
  1008     <choice>
  1034         <value>newspaper</value>
  1009       <value>person</value>
  1035         <value>party</value>
  1010       <value>company</value>
  1036       </choice>
  1011       <value>book</value>
  1037     </attribute>
  1012       <value>newspaper</value>
       
  1013       <value>party</value>
       
  1014     </choice>
       
  1015   </define>
  1038   </define>
  1016   <define name="name.content">
  1039   <define name="name.content">
  1017     <ref name="inlines"/>
  1040     <ref name="inlines"/>
  1018   </define>
  1041   </define>
  1019   <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ note ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  1042   <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ note ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->