--- a/RelaxNG/publidoc.rng sam. juin 11 01:26:31 2011 +0200
+++ b/RelaxNG/publidoc.rng sam. juin 11 12:43:52 2011 +0200
@@ -438,7 +438,7 @@
<group>
<optional>
<attribute name="type">
- <value>itemized</value>
+ <value>ordered</value>
</attribute>
</optional>
<ref name="item"/>
@@ -448,15 +448,6 @@
</group>
<group>
<attribute name="type">
- <value>ordered</value>
- </attribute>
- <ref name="item"/>
- <oneOrMore>
- <ref name="item"/>
- </oneOrMore>
- </group>
- <group>
- <attribute name="type">
<value>glossary</value>
</attribute>
<oneOrMore>
@@ -497,7 +488,7 @@
<define name="label.content">
<ref name="inlines"/>
</define>
- <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ speech ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ speech ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<!-- ~~~~~~ speech -->
<define name="speech">
<element name="speech">
@@ -604,7 +595,7 @@
<ref name="sub"/>
</zeroOrMore>
<zeroOrMore>
- <ref name="romannum"/>
+ <ref name="number"/>
</zeroOrMore>
<zeroOrMore>
<ref name="date"/>
@@ -647,14 +638,49 @@
<ref name="inlines"/>
</element>
</define>
- <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ romannum ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <define name="romannum">
- <element name="romannum">
- <data type="token">
- <param name="pattern">([dlxvi]+)</param>
- </data>
+ <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ number ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <define name="number">
+ <element name="number">
+ <choice>
+ <group>
+ <attribute name="type">
+ <value>roman</value>
+ </attribute>
+ <ref name="number.attributes"/>
+ <ref name="number.roman.content"/>
+ </group>
+ <group>
+ <ref name="number.attributes"/>
+ <ref name="number.content"/>
+ </group>
+ </choice>
</element>
</define>
+ <define name="number.attributes">
+ <optional>
+ <ref name="number.value.attribute"/>
+ </optional>
+ </define>
+ <define name="number.value.attribute">
+ <attribute name="value">
+ <choice>
+ <data type="integer"/>
+ <data type="decimal"/>
+ </choice>
+ </attribute>
+ </define>
+ <define name="number.content">
+ <mixed>
+ <zeroOrMore>
+ <ref name="sup"/>
+ </zeroOrMore>
+ </mixed>
+ </define>
+ <define name="number.roman.content">
+ <data type="token">
+ <param name="pattern">[dlxvi]+</param>
+ </data>
+ </define>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ date ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<define name="date">
<element name="date">
@@ -663,9 +689,21 @@
</element>
</define>
<define name="date.attributes">
- <optional>
- <ref name="date.of.attribute"/>
- </optional>
+ <interleave>
+ <ref name="date.value.attribute"/>
+ <optional>
+ <ref name="date.of.attribute"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="date.value.attribute">
+ <attribute name="value">
+ <choice>
+ <data type="date"/>
+ <data type="gYearMonth"/>
+ <data type="gYear"/>
+ </choice>
+ </attribute>
</define>
<define name="date.of.attribute">
<attribute name="of">
@@ -674,17 +712,16 @@
</define>
<define name="date.of.enumeration">
<choice>
- <value>event</value>
<value>birth</value>
<value>death</value>
</choice>
</define>
<define name="date.content">
- <choice>
- <data type="date"/>
- <data type="gYearMonth"/>
- <data type="gYear"/>
- </choice>
+ <mixed>
+ <zeroOrMore>
+ <ref name="sup"/>
+ </zeroOrMore>
+ </mixed>
</define>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ name ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<define name="name">
@@ -735,7 +772,7 @@
<ref name="parag"/>
</oneOrMore>
</define>
- <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ foreign ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ foreign ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<define name="foreign">
<element name="foreign">
<ref name="foreign.attributes"/>