Standard W3C

Soit l'extrait modifié suivant du début d'un standard du W3C. L'objectif est de réaliser une chaîne éditoriale XML permettant la production contrôlée de ce type de documents.

Capture Web modifiée de la page http://www.w3.org/TR/xsl

Question

Proposer un modèle conceptuel UML permettant de modéliser ce document dans un langage orienté métier.

Question

Traduire ce modèle en schéma RelaxNG.

Solution

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="recommendation">
7
              <ref name="Head"/>
8
              <ref name="Body"/>
9
             </element>
10
    </start>
11
    <define name="Head">
12
         <element name="meta">
13
              <element name="date"><data type="date"/></element>
14
              <element name="url"><data type="anyURI"/></element>
15
              <element name="latestVersion"><data type="anyURI"/></element>
16
              <element name="previousVersion"><data type="anyURI"/></element>
17
              <element name="editor">
18
                   <element name="person"><text/></element>
19
                   <element name="org"><text/></element>
20
                   <element name="email"><data type="anyURI"/></element>
21
                  </element>
22
             </element>
23
    </define>
24
    <define name="Body">
25
         <element name="body">
26
              <element name="title"><text/></element>
27
              <element name="abstract">
28
                   <oneOrMore>
29
                        <choice>
30
                             <element name="para"><text/></element>
31
                             <element name="list">
32
                                  <oneOrMore>
33
                                       <element name="item"><text/></element>
34
                                      </oneOrMore>
35
                                 </element>
36
                            </choice>
37
                       </oneOrMore>
38
                  </element>
39
             </element>
40
    </define>
41
</grammar>

Question

Rédiger un fichier XML valide correspondant à l'exemple.

Solution

1
<?xml version="1.0" encoding="UTF-8"?>
2
<recommendation>
3
    <meta>
4
        <date>2006-12-05</date>
5
        <url>http://www.w3.org/TR/2006/REC-xsl11-20061205</url>
6
        <latestVersion>http://www.w3.org/TR/xsl11</latestVersion>
7
        <previousVersion>http://www.w3.org/TR/2006/PR-xsl11-20061006</previousVersion>
8
        <editor>
9
            <person>Anders Berglund</person>
10
            <org>IBM</org>
11
            <email>alrb@us.ibm.com</email>
12
        </editor>
13
    </meta>
14
    <body xml:space="preserve">
15
  <title>Extensible Stylesheet Language (XSL) Version 1.1</title>
16
  <abstract>
17
   <para>This specification defines the features and syntax for the Extensible Stylesheet Language (XSL), a language for expressing stylesheets. It consists of two parts:</para>
18
   <list>
19
    <item>a language for transforming XML documents (XSLT), and</item>
20
    <item>an XML vocabulary for specifying formatting semantics.</item>
21
   </list>
22
   <para>An XSL stylesheet specifies the presentation of a <important>class</important> of XML documents by describing how an instance of the class is transformed into an XML document that uses the formatting vocabulary.</para>
23
  </abstract>
24
 </body>
25
</recommendation>
26

Question

Écrire une feuille de transformation XSLT permettant de transformer les documents de ce type en HTML.