Glossaire II

Soit le schéma RelaxNG suivant permettant de représenter un glossaire.

CTRL+C pour copier, CTRL+V pour coller
1
<?xml version="1.0" encoding="UTF-8"?>
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.

Solution

Question

Réaliser un programme XSLT permettant de publier les documents de type glossaire en HTML.

Indice

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.

Indice

Question

Pour les "voir aussi", afficher le terme de la définition plutôt que l'id.

Indice