DocbookSample

Soit le fichier docbookSample.xml valide par rapport au schéma Docbook 5.0.

CTRL+C pour copier, CTRL+V pour coller
1
<?xml version="1.0" encoding="UTF-8"?>
2
<?oxygen RNGSchema="http://www.oasis-open.org/docbook/xml/5.0/rng/docbook.rng" type="xml"?>
3
<book 
4
  xmlns="http://docbook.org/ns/docbook"
5
  xmlns:xlink="http://www.w3.org/1999/xlink"
6
  xmlns:svg="http://www.w3.org/2000/svg"
7
  xmlns:m="http://www.w3.org/1998/Math/MathML"
8
  version="5.0">
9
  <info>
10
    <title>Book  Title</title>
11
    <author>
12
      <orgname>Organization Name</orgname>
13
      <address>
14
        <city>City</city>
15
        <street>Street</street>
16
        <postcode>000000</postcode>
17
        <country>Country</country>
18
      </address>
19
      <email>user@example.com</email>
20
    </author>
21
  </info>
22
  <part>
23
    <title>First Part</title>
24
    <subtitle>Subtitle of First Part</subtitle>
25
    <chapter>
26
      <title>Chapter Title</title>
27
      <subtitle>Subtitle of Chapter</subtitle>
28
      <sect1>
29
        <title>Section1 Title</title>
30
        <subtitle>Subtitle of Section 1</subtitle>
31
        <para>Text</para>
32
      </sect1>
33
    </chapter>
34
  </part>
35
</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.