--- a/RelaxNG/publidoc.rng dim. juin 05 23:51:15 2011 +0200
+++ b/RelaxNG/publidoc.rng lun. juin 06 21:51:00 2011 +0200
@@ -125,6 +125,7 @@
</element>
</define>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ author, publisher ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <!-- ~~~~~~ author -->
<define name="author">
<element name="author">
<ref name="author.content"/>
@@ -136,6 +137,7 @@
</optional>
<ref name="lastname"/>
</define>
+ <!-- ~~~~~~ publisher -->
<define name="publisher">
<element name="publisher">
<ref name="publisher.content"/>
@@ -144,6 +146,24 @@
<define name="publisher.content">
<ref name="inlines"/>
</define>
+ <!-- ~~~~~~ firstname -->
+ <define name="firstname">
+ <element name="firstname">
+ <ref name="firstname.content"/>
+ </element>
+ </define>
+ <define name="firstname.content">
+ <ref name="inlines"/>
+ </define>
+ <!-- ~~~~~~ lastname -->
+ <define name="lastname">
+ <element name="lastname">
+ <ref name="lastname.content"/>
+ </element>
+ </define>
+ <define name="lastname.content">
+ <ref name="inlines"/>
+ </define>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Language ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<define name="language">
<element name="language">
@@ -248,7 +268,7 @@
<data type="NMTOKEN"/>
</attribute>
</define>
- <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ abstract ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ abstract ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<define name="abstract">
<element name="abstract">
<ref name="abstract.content"/>
@@ -364,6 +384,7 @@
<choice>
<ref name="parag"/>
<ref name="media"/>
+ <ref name="speech"/>
</choice>
</oneOrMore>
</choice>
@@ -452,6 +473,42 @@
<define name="copyright.content">
<ref name="inlines"/>
</define>
+ <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ speech ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <!-- ~~~~~~ speech -->
+ <define name="speech">
+ <element name="speech">
+ <ref name="speech.content"/>
+ </element>
+ </define>
+ <define name="speech.content">
+ <optional>
+ <ref name="speaker"/>
+ </optional>
+ <optional>
+ <ref name="stage"/>
+ </optional>
+ <oneOrMore>
+ <ref name="parag"/>
+ </oneOrMore>
+ </define>
+ <!-- ~~~~~~ speaker -->
+ <define name="speaker">
+ <element name="speaker">
+ <ref name="speaker.content"/>
+ </element>
+ </define>
+ <define name="speaker.content">
+ <ref name="inlines"/>
+ </define>
+ <!-- ~~~~~~ stage -->
+ <define name="stage">
+ <element name="stage">
+ <ref name="stage.content"/>
+ </element>
+ </define>
+ <define name="stage.content">
+ <ref name="inlines"/>
+ </define>
<!--
=============================================================================
Inline level
@@ -477,7 +534,7 @@
<ref name="name"/>
</zeroOrMore>
<zeroOrMore>
- <ref name="footnote"/>
+ <ref name="note"/>
</zeroOrMore>
<zeroOrMore>
<ref name="foreign"/>
@@ -485,6 +542,15 @@
<zeroOrMore>
<ref name="highlight"/>
</zeroOrMore>
+ <zeroOrMore>
+ <ref name="term"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="mentioned"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="quote"/>
+ </zeroOrMore>
</interleave>
</mixed>
</define>
@@ -515,7 +581,9 @@
</element>
</define>
<define name="date.attributes">
- <ref name="date.of.attribute"/>
+ <optional>
+ <ref name="date.of.attribute"/>
+ </optional>
</define>
<define name="date.of.attribute">
<attribute name="of">
@@ -537,16 +605,6 @@
</choice>
</define>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ name ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <define name="firstname">
- <element name="firstname">
- <ref name="inlines"/>
- </element>
- </define>
- <define name="lastname">
- <element name="lastname">
- <ref name="inlines"/>
- </element>
- </define>
<define name="name">
<element name="name">
<ref name="name.attributes"/>
@@ -575,22 +633,22 @@
<define name="name.content">
<ref name="inlines"/>
</define>
- <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ footnote ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <define name="footnote">
- <element name="footnote">
- <ref name="footnote.attributes"/>
- <ref name="footnote.content"/>
+ <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ note ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <define name="note">
+ <element name="note">
+ <ref name="note.attributes"/>
+ <ref name="note.content"/>
</element>
</define>
- <define name="footnote.attributes">
+ <define name="note.attributes">
<optional>
- <ref name="footnote.label.attribute"/>
+ <ref name="note.label.attribute"/>
</optional>
</define>
- <define name="footnote.label.attribute">
+ <define name="note.label.attribute">
<attribute name="label"/>
</define>
- <define name="footnote.content">
+ <define name="note.content">
<oneOrMore>
<ref name="parag"/>
</oneOrMore>
@@ -619,6 +677,33 @@
<define name="highlight.content">
<ref name="inlines"/>
</define>
+ <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ term ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <define name="term">
+ <element name="term">
+ <ref name="term.content"/>
+ </element>
+ </define>
+ <define name="term.content">
+ <ref name="inlines"/>
+ </define>
+ <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mentioned ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <define name="mentioned">
+ <element name="mentioned">
+ <ref name="mentioned.content"/>
+ </element>
+ </define>
+ <define name="mentioned.content">
+ <ref name="inlines"/>
+ </define>
+ <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ quote ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <define name="quote">
+ <element name="quote">
+ <ref name="quote.content"/>
+ </element>
+ </define>
+ <define name="quote.content">
+ <ref name="inlines"/>
+ </define>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ link ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<define name="link">
<element name="link">