Glossaire II
Soit le schéma RelaxNG suivant permettant de représenter un glossaire.
CTRL+C pour copier, CTRL+V pour coller
1
2
<grammar
3
xmlns="http://relaxng.org/ns/structure/1.0"
4
datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
5
<start>
6
<element name="glossaire">
7
<oneOrMore>
8
<ref name="Definition"/>
9
</oneOrMore>
10
</element>
11
</start>
12
<define name="Definition">
13
<element name="definition">
14
<attribute name="id"><data type="ID"/></attribute>
15
<element name="terme"><text/></element>
16
<element name="explication"><text/></element>
17
<zeroOrMore>
18
<element name="voirAussi">
19
<attribute name="ref"><data type="IDREF"/></attribute>
20
</element>
21
</zeroOrMore>
22
</element>
23
</define>
24
</grammar>
<?xml version="1.0" encoding="UTF-8"?> <grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <start> <element name="glossaire"> <oneOrMore> <ref name="Definition"/> </oneOrMore> </element> </start> <define name="Definition"> <element name="definition"> <attribute name="id"><data type="ID"/></attribute> <element name="terme"><text/></element> <element name="explication"><text/></element> <zeroOrMore> <element name="voirAussi"> <attribute name="ref"><data type="IDREF"/></attribute> </element> </zeroOrMore> </element> </define> </grammar>
Question
Expliquer ce qu'exprime les datatypes ID
et REFID
. Préciser le format que doit respecter un attribut ou un élément de type ID
.
Question
Instancier un document de type glossaire
, sur une thématique au choix.
Question
Réaliser un programme XSLT permettant de publier les documents de type glossaire
en HTML.
Question
Ajouter un sommaire au début du fichier HTML, permettant de pointer chaque définition.
Proposer deux implémentations une avec xsl:template mode="..."
et une avec xsl:for-each
.
Trier les définitions par ordre alphabétique.
Question
Pour les "voir aussi", afficher le terme de la définition plutôt que l'id.