--- a/RelaxNG/Examples/Documents/torture_test.xml jeu. juin 13 17:56:18 2013 +0200
+++ b/RelaxNG/Examples/Documents/torture_test.xml mar. juin 18 14:51:33 2013 +0200
@@ -6,6 +6,7 @@
<title>Torture test</title>
<shorttitle>Test</shorttitle>
<subtitle>Test des capacités de <name>publidoc</name></subtitle>
+ <subtitle>Représentation exhaustive des structures</subtitle>
<identifier type="ean">9781449328030</identifier>
<identifier type="uri">http://www.prismallia.fr/Xml/torture_test</identifier>
<copyright>Prismallia, Paris, 2013</copyright>
@@ -53,7 +54,7 @@
</p>
</abstract>
<cover><image id="torture_test_cover"/></cover>
- <annotation>Ce fichier n'a pas de réelle signification</annotation>
+ <annotation>Ce fichier n'a pas de réelle signification.</annotation>
</head>
<!-- ================================================================== -->
@@ -130,6 +131,18 @@
</abstract>
</head>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <front>
+ <section>
+ <p>Cette partie détaille les différents types de section :
+ <name>normale</name>, <name>box</name>, <name>ex</name>,
+ <name>sign</name>.</p>
+ <p>Elle donne un exemple de bibliographie.</p>
+ </section>
+ <section>
+ <p>Enfin, elle illustre l'utilisation de plusieurs langues.</p>
+ </section>
+ </front>
+ <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<topic>
<head>
<title>Les types de section</title>
@@ -358,6 +371,7 @@
<head>
<title>Cyrano de Bergerac</title>
<subtitle>Extrait</subtitle>
+ <subtitle>(très court)</subtitle>
</head>
<speech>
<speaker>Le fâcheux</speaker>
--- a/RelaxNG/publidoc.rnc jeu. juin 13 17:56:18 2013 +0200
+++ b/RelaxNG/publidoc.rnc mar. juin 18 14:51:33 2013 +0200
@@ -26,7 +26,7 @@
top.head = element head { top.head.content }
top.head.content =
- (title, shorttitle?, subtitle?)?
+ (title, shorttitle?, subtitle*)?
& (identifier, identifier?)?
& copyright*
& collection?
@@ -86,16 +86,23 @@
division.content =
division.head?,
+ front?,
(division | topic)+
# ~~~~~~ division.head
division.head = element head { division.head.content }
division.head.content =
- (title, shorttitle?, subtitle?)?
+ (title, shorttitle?, subtitle*)?
& abstract?
& annotation*
+# ~~~~~~ front
+front = element front { front.content }
+
+front.content =
+ section+
+
# =============================================================================
# COMPONENT LEVEL
@@ -106,7 +113,7 @@
component.head = element head { component.head.content }
component.head.content =
- (title, shorttitle?, subtitle?)?
+ (title, shorttitle?, subtitle*)?
& contributors?
& date?
& place?
@@ -163,7 +170,7 @@
section.head = element head { section.head.content }
section.head.content =
- (title, shorttitle?, subtitle?)?
+ (title, shorttitle?, subtitle*)?
& keywordset?
& subjectset?
& abstract?
@@ -199,7 +206,7 @@
block.head = element head { block.head.content }
block.head.content =
- (title, shorttitle?, subtitle?)?
+ (title, shorttitle?, subtitle*)?
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ p ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~