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.
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.