--- a/RelaxNG/publidoc.rnc sam. juin 11 12:43:52 2011 +0200
+++ b/RelaxNG/publidoc.rnc sam. juin 11 12:44:21 2011 +0200
@@ -235,8 +235,7 @@
\list.content =
title?,
- ( (attribute type {"itemized"} ?, item, item+)
- | (attribute type {"ordered"}, item, item+)
+ ( (attribute type {"ordered"} ?, item, item+)
| (attribute type {"glossary"}, glossary.item+) )
# ~~~~~~ item
@@ -256,7 +255,7 @@
label.content = inlines
-# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ speech ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ speech ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# ~~~~~~ speech
speech = element speech { speech.content }
@@ -317,7 +316,7 @@
inlines = mixed {
sup*
& sub*
- & romannum*
+ & number*
& date*
& name*
& note*
@@ -335,20 +334,32 @@
sub = element sub { inlines }
-# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ romannum ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ number ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-romannum = element romannum { xsd:token {pattern = "([dlxvi]+)"} }
+number = element number {
+ ( attribute type {"roman"}, number.attributes, number.roman.content )
+ | ( number.attributes, number.content)
+}
+
+number.attributes =
+ number.value.attribute?
+number.value.attribute = attribute value { xsd:integer | xsd:decimal }
+
+number.content = mixed { sup* }
+number.roman.content = xsd:token {pattern = "[dlxvi]+"}
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ date ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
date = element date { date.attributes, date.content }
date.attributes =
- date.of.attribute?
+ date.value.attribute
+ & date.of.attribute?
+date.value.attribute = attribute value { xsd:date | xsd:gYearMonth | xsd:gYear }
date.of.attribute = attribute of { date.of.enumeration }
-date.of.enumeration = "event" | "birth" | "death"
+date.of.enumeration = "birth" | "death"
-date.content = xsd:date | xsd:gYearMonth | xsd:gYear
+date.content = mixed { sup* }
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ name ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -372,7 +383,7 @@
note.content =
parag+
-# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ foreign ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ foreign ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
foreign = element foreign { foreign.attributes, foreign.content }
--- a/Xml/Documents/torture_test.xml sam. juin 11 12:43:52 2011 +0200
+++ b/Xml/Documents/torture_test.xml sam. juin 11 12:44:21 2011 +0200
@@ -10,10 +10,10 @@
</author>
<publisher>Prismallia</publisher>
<language xml:lang="fr"/>
- <date of="event">2011-06</date>
+ <date value="2001-06"/>
<place>Paris</place>
<source type="book" id="9782843550362">
- <title>Les Misérables</title>
+ <title>Les misérables</title>
<pagenumber value="312"/>
</source>
<source type="file" id="hugo_miserables.xml"/>
@@ -73,7 +73,7 @@
</metadata>
<section>
<list>
- <title>Listes simples imbriquées : la météo</title>
+ <title>Listes imbriquées : la météo aéronautique</title>
<item>
<list>
<title>METAR</title>
@@ -186,38 +186,119 @@
<title>Le niveau courant</title>
</metadata>
<topic>
- <metadata>
- <title>Éléments divers</title>
- </metadata>
- <section>
+ <section>
<list type="glossary">
<item>
<label>Indices et exposants</label>
- <parag>Un exposant<sup>2</sup> suivi d'un
- indice<sub>3</sub>.</parag>
+ <parag>
+ Un exposant<sup>2</sup> suivi d'un indice<sub>3</sub>.
+ </parag>
</item>
<item>
- <label>Chiffres romains</label>
- <parag>En horlogerie, 4 est écrit <romannum>iiii</romannum> au
- lieu de <romannum>iv</romannum>, essentiellement pour des raisons
- de lisibilité sur un cadran rond. C'est ce qui lui vaut son nom
- de quatre d'horloger.</parag>
+ <label>Nombres</label>
+ <parag>
+ En horlogerie, <number>4</number> est écrit <number
+ type="roman">iiii</number> au lieu de <number
+ type="roman">iv</number>, essentiellement pour des raisons de
+ lisibilité sur un cadran rond. C'est ce qui lui vaut son nom de
+ <number>quatre</number> d'horloger.
+ </parag>
</item>
<item>
- <label>Mots mentionnés</label>
- <parag>le mot <mentioned>table</mentioned> n'a qu'une
- syllabe.</parag>
+ <label>Dates</label>
+ <parag>
+ Napoléon Bonaparte est né le <date of="birth"
+ value="1769-08-15">15 août 1769</date> à Ajaccio, en Corse et
+ mort le <date of="death" value="1821-05-05">5 mai 1821</date>
+ sur l'île Sainte-Hélène, au Royaume-Uni. [...]
+ </parag>
+ <parag>
+ À son retour d’Italie, en <date value="1797-12">décembre
+ 1797</date>, Bonaparte est accueilli comme un héros par le
+ Directoire. [...]
+ </parag>
+ <parag>
+ <date value="1815-03-01">1<sup>er</sup> mars 1815</date> :
+ Débarqués à Golfe-Juan, Napoléon et sa petite troupe gagnent
+ Cannes où ils arrivent tard et d’où ils repartent tôt.
+ </parag>
+ </item>
+ <item>
+ <label>Noms</label>
+ <parag>
+ La loi a changé, mais les chasseurs ne s'y soumettront
+ pas. C'est toute la substance du discours martelé par le leader
+ de CPNT (<name of="party">Chasse, Pêche, Nature et
+ Traditions</name>), <name of="person">Jean Saint-Josse</name>,
+ devant les chasseurs de la baie de Somme.
+ </parag>
+ </item>
+ <item>
+ <label>Notes</label>
+ <parag>
+ Depuis leur entrée dans l'univers des mathématiques (avec
+ Pascal<note><parag>Blaise PASCAL est né le <date
+ value="1623-06-19">19 juin 1623</date> à Clermont et mort le
+ <date value="1662-08-19">19 août 1662</date> à
+ Paris</parag></note> au <number
+ type="roman">xvii</number><sup>e</sup> siècle), les
+ probabilités ont pris une place croissante dans notre façon
+ d'appréhender le monde. La mécanique quantique, par exemple,
+ repose en partie sur le calcul des probabilités.
+ </parag>
+ </item>
+ <item>
+ <label>Mots étrangers</label>
+ <parag></parag>
+ </item>
+ <item>
+ <label>Mises en valeur</label>
+ <parag>
+ La chimie se préoccupe de la manière dont les 92 atomes qui
+ constituent le tableau de Mendeleieff peuvent se combiner pour
+ donner des composés et quelles sont les propriétes de ces
+ composés. Ces composés sont soit des
+ <highlight>molécules</highlight> soit des
+ <highlight>cristaux</highlight>.
+ </parag>
</item>
<item>
<label>Citations</label>
<parag>
<quote>Impossible de vous dire mon âge, il change tout le
- temps.</quote> Allais Alphonse (1855-1905)</parag>
+ temps.</quote> Allais Alphonse (1855-1905)
+ </parag>
+ </item>
+ <item>
+ <label>Acronymes</label>
+ <parag>
+ Le groupe <acronym>sncf</acronym> constitué par l'établissement
+ public <acronym>sncf</acronym> et ses 49 filiales, dont la
+ plupart sont contrôlées par la société holding <name
+ of="company"><acronym>sncf</acronym> Participations</name>, est
+ l'un des tout premiers groupes de transport et de logistique en
+ Europe.
+ </parag>
+ </item>
+ <item>
+ <label>Termes techniques</label>
+ <parag>
+ Un <term>hydrate</term> est un composé chimique contenant de
+ l'eau.
+ </parag>
+ </item>
+ <item>
+ <label>Mots mentionnés</label>
+ <parag>
+ Le mot <mentioned>table</mentioned> n'a qu'une syllabe.
+ </parag>
</item>
<item>
<label>Liens</label>
- <parag>N'hésitez pas à visiter le site de
- <link uri="http://www.prismallia.fr">Prismallia</link>.</parag>
+ <parag>
+ N'hésitez pas à visiter le site de
+ <link uri="www.prismallia.fr">Prismallia</link>.
+ </parag>
</item>
</list>
</section>