DocbookSample
Soit le fichier docbookSample.xml
valide par rapport au schéma Docbook 5.0.
<?xml version="1.0" encoding="UTF-8"?>
<?oxygen RNGSchema="http://www.oasis-open.org/docbook/xml/5.0/rng/docbook.rng" type="xml"?>
<book
xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:m="http://www.w3.org/1998/Math/MathML"
version="5.0">
<info>
<title>Book Title</title>
<author>
<orgname>Organization Name</orgname>
<address>
<city>City</city>
<street>Street</street>
<postcode>000000</postcode>
<country>Country</country>
</address>
<email>user@example.com</email>
</author>
</info>
<part>
<title>First Part</title>
<subtitle>Subtitle of First Part</subtitle>
<chapter>
<title>Chapter Title</title>
<subtitle>Subtitle of Chapter</subtitle>
<sect1>
<title>Section1 Title</title>
<subtitle>Subtitle of Section 1</subtitle>
<para>Text</para>
</sect1>
</chapter>
</part>
</book>
<?xml version="1.0" encoding="UTF-8"?> <?oxygen RNGSchema="http://www.oasis-open.org/docbook/xml/5.0/rng/docbook.rng" type="xml"?> <book xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:m="http://www.w3.org/1998/Math/MathML" version="5.0"> <info> <title>Book Title</title> <author> <orgname>Organization Name</orgname> <address> <city>City</city> <street>Street</street> <postcode>000000</postcode> <country>Country</country> </address> <email>user@example.com</email> </author> </info> <part> <title>First Part</title> <subtitle>Subtitle of First Part</subtitle> <chapter> <title>Chapter Title</title> <subtitle>Subtitle of Chapter</subtitle> <sect1> <title>Section1 Title</title> <subtitle>Subtitle of Section 1</subtitle> <para>Text</para> </sect1> </chapter> </part> </book>
Question
Pourquoi peut-on dire que le schéma Docbook 5.0 représente un format ou un langage ? Caractérisez-le, justifiez.
Question
Expliquez ce que sont les 4 attributs de l'élément book
commençant par xmlns
. Montrez qu'ils ne sont pas utiles dans le fichier docbookSample.xml
. Inventez un exemple dans lequel deux d'entre eux seraient utiles.
Question
Concevez un schéma S1 permettant de valider des fichiers du type de docbookSample.xml
, en faisant des hypothèses adéquates pour les cardinalités. Expliquez pourquoi S1 est un sous-schéma de Docbook 5.0.
Question
Proposer une représentation UML de S1.
Question
Proposez une feuille de transformation XSLT permettant de publier une instance de S1 en HTML. Intégrez une table des matières. Ajoutez une liste avec le titre de la section précédente et le titre de la section suivante à la fin de chaque section.
Réutilisation par transclusion
L'on souhaite à présent pouvoir réutiliser des fragments sect1
entre plusieurs documents, sans les recopier.
Question
Proposez un exemple de fichiers XML tels que docbookSample2.xml
utilise sect1_001.xml
par transclusion (inclusion par référence). Expliquez en quoi cela permet la réutilisation sans recopie. Présentez un avantage et un inconvénient de cette technique.
Question
Proposez deux schémas S2main et S2sect1 permettant de valider les fichiers précédents.
Question
Proposez une modification de votre XSLT permettant de gérer la transclusion au moment de la transformation en HTML.
Question
Proposez un programme XSLT permettant de créer un fichier XML valide par rapport à S1, à partir d'un fichier valide par rapport à S2main et des fichiers valides par rapport à S2sect référencés.