# HG changeset patch # User Patrick PIERRE <patrick.pierre@prismallia.fr> # Date 1307789061 -7200 # Node ID 846ec40a5b2d2ace273359a63bb109a229a83e2a # Parent 2885b2c3ff5943a450f09ee74bc654f37a3b9eb4 Exemples complétés + <date> et <number> améliorés diff -r 2885b2c3ff59 -r 846ec40a5b2d RelaxNG/publidoc.rnc --- 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 } diff -r 2885b2c3ff59 -r 846ec40a5b2d Xml/Documents/torture_test.xml --- 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>