--- a/Data/Documents/torture_test.xml dim. nov. 30 18:41:43 2014 +0100
+++ b/Data/Documents/torture_test.xml sam. déc. 06 16:18:43 2014 +0100
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Id$ -->
<publidoc version="1.0">
- <document id="torture_test" xml:lang="fr">
+ <document id="torture_test" xml:lang="fr" type="example">
<head>
<title>Torture test</title>
<shorttitle>Test</shorttitle>
@@ -52,6 +52,11 @@
<subject>Littérature</subject>
<subject>Mathématiques</subject>
</subjectset>
+ <indexset>
+ <index>
+ <entry>Publidoc</entry>
+ </index>
+ </indexset>
<abstract>
<p>
Ce fichier rassemble un maximum de situations afin de tester les
@@ -104,7 +109,7 @@
<p>À mes enfants…</p>
</section>
</topic>
-
+
<!-- ================================================================== -->
<topic type="inscription">
<section>
@@ -120,12 +125,16 @@
</blockquote>
</section>
</topic>
-
+
<!-- ================================================================== -->
<division>
<head>
<title>Le niveau section</title>
- <index><entry>section</entry></index>
+ <indexset>
+ <index>
+ <entry>section</entry>
+ </index>
+ </indexset>
<abstract>
<p>Où l'on aborde les différents types de section et les sections en
différentes langues.</p>
@@ -148,7 +157,11 @@
<topic>
<head>
<title>Les types de section</title>
- <index><entry>section</entry></index>
+ <indexset>
+ <index>
+ <entry>section</entry>
+ </index>
+ </indexset>
</head>
<header>
<media>
@@ -160,7 +173,12 @@
<section>
<head>
<title>Section normale</title>
- <index><entry>section</entry><entry>section normale</entry></index>
+ <indexset>
+ <index>
+ <entry>section</entry>
+ <entry>section normale</entry>
+ </index>
+ </indexset>
</head>
<section>
<p>Il dirigea la pointe du bambou vers le tableau noir : « Eh bien,
@@ -202,8 +220,15 @@
<section>
<head>
<title>Section profonde</title>
- <index><entry>section</entry><entry>section profonde</entry></index>
- <index><entry>classification phylogénétique</entry></index>
+ <indexset>
+ <index>
+ <entry>section</entry>
+ <entry>section profonde</entry>
+ </index>
+ <index>
+ <entry>classification phylogénétique</entry>
+ </index>
+ </indexset>
</head>
<section>
<head>
@@ -259,7 +284,12 @@
<head>
<title>Encadré</title>
<subtitle>« Casser sa pipe »</subtitle>
- <index><entry>section</entry><entry>type encadré</entry></index>
+ <indexset>
+ <index>
+ <entry>section</entry>
+ <entry>type encadré</entry>
+ </index>
+ </indexset>
</head>
<p>
Il semblerait que cette expression vienne du Premier empire durant
@@ -277,7 +307,12 @@
<section type="ex">
<head>
<title>Exemple</title>
- <index><entry>section</entry><entry>type exemple</entry></index>
+ <indexset>
+ <index>
+ <entry>section</entry>
+ <entry>type exemple</entry>
+ </index>
+ </indexset>
</head>
<p>Quand on meurt on perd le goût de la vie. Quand on casse sa pipe,
on perd le goût du tabac.</p>
@@ -361,7 +396,7 @@
</section>
</topic>
</division>
-
+
<!-- ================================================================== -->
<division>
<head>
@@ -593,11 +628,15 @@
<tr><th>Consonnes sonores</th><th>Consonnes sourdes</th></tr>
<tr><td>г, б, з, д, в, ж</td><td>к, п, с, т, ф, ш</td></tr>
</table>
-
+
<table type="template">
<head>
<title>Journal de navigation</title>
- <index><entry>journal de navigation</entry></index>
+ <indexset>
+ <index>
+ <entry>journal de navigation</entry>
+ </index>
+ </indexset>
</head>
<thead>
<tr>
@@ -652,7 +691,7 @@
<caption>Archive P²</caption>
</table>
</section>
-
+
<section>
<head>
<title>Tableau CALS</title>
@@ -749,7 +788,7 @@
</section>
</topic>
</division>
-
+
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<division>
<head>
@@ -766,7 +805,11 @@
<topic xml:id="images">
<head>
<title>L'image</title>
- <index><entry>image</entry></index>
+ <indexset>
+ <index>
+ <entry>image</entry>
+ </index>
+ </indexset>
</head>
<section>
<media>
@@ -803,7 +846,11 @@
</p>
<media xml:id="cockpit">
<head>
- <index><entry>avion</entry></index>
+ <indexset>
+ <index>
+ <entry>avion</entry>
+ </index>
+ </indexset>
</head>
<image id="f-gcru">
<hotspot x="68.2%" y="49.5%" w="7.5%" h="14.2%"
@@ -844,7 +891,11 @@
<media>
<head>
<title>Avion de tourisme</title>
- <index><entry>avion</entry></index>
+ <indexset>
+ <index>
+ <entry>avion</entry>
+ </index>
+ </indexset>
</head>
<image id="plane" type="animation"/>
</media>
@@ -892,7 +943,7 @@
</topic>
</division>
</division>
-
+
<!-- ================================================================== -->
<division type="inline">
<head>
@@ -1101,6 +1152,6 @@
</section>
</topic>
</division>
-
+
</document>
</publidoc>
--- a/Data/Topics/centre_pompidou.xml dim. nov. 30 18:41:43 2014 +0100
+++ b/Data/Topics/centre_pompidou.xml sam. déc. 06 16:18:43 2014 +0100
@@ -11,7 +11,11 @@
<keyword>France</keyword>
<keyword>Architecture</keyword>
</keywordset>
- <index><entry>Pompidou</entry></index>
+ <indexset>
+ <index>
+ <entry>Pompidou</entry>
+ </index>
+ </indexset>
</head>
<section>
--- a/RelaxNG/publidoc.rnc dim. nov. 30 18:41:43 2014 +0100
+++ b/RelaxNG/publidoc.rnc sam. déc. 06 16:18:43 2014 +0100
@@ -139,6 +139,11 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ index ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# ~~~~~~ indexset
+indexset = element indexset { indexset.content }
+
+indexset.content = head.index+
+
# ~~~~~~ index
index = element index { index.content }
head.index = element index { head.index.content }
@@ -200,8 +205,8 @@
& (source, source?)?
& keywordset?
& subjectset?
+ & indexset?
& abstract?
- & head.index*
& cover?
& annotation*
@@ -249,7 +254,7 @@
division.head.content =
(title, shorttitle?, subtitle*)?
- & head.index*
+ & indexset?
& abstract?
& annotation*
@@ -289,7 +294,7 @@
& place?
& keywordset?
& subjectset?
- & head.index*
+ & indexset?
& abstract?
& annotation*
@@ -322,7 +327,7 @@
(title, shorttitle?, subtitle*)?
& keywordset?
& subjectset?
- & head.index*
+ & indexset?
& abstract?
& audio*
& annotation*
@@ -375,7 +380,7 @@
block.head.content =
(title, shorttitle?, subtitle*)?
- & head.index*
+ & indexset?
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ block ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--- a/RelaxNG/publimeta.rnc dim. nov. 30 18:41:43 2014 +0100
+++ b/RelaxNG/publimeta.rnc sam. déc. 06 16:18:43 2014 +0100
@@ -36,7 +36,7 @@
& lang.attribute?
metadata.for.attribute = attribute for { xsd:NMTOKEN }
lang.attribute = attribute xml:lang { xsd:language }
-
+
metadata.content =
(title, shorttitle?, subtitle*)?
& identifier*
@@ -179,7 +179,7 @@
territory.attribute = attribute territory { xsd:NMTOKENS }
price.content = xsd:float
-
+
# =============================================================================
# BLOCK LEVEL