Exercice
Soit le fichier XML ci-après.
1
<?xml version="1.0" encoding="UTF-8"?>
2
<papier type="scientifique">
3
<titre>Réinterroger les structures documentaires</titre>
4
<sousTitre>De la numérisation à l'informatisation</sousTitre>
5
<auteur>Stéphane Crozat</auteur>
6
<auteur>Bruno Bachimont</auteur>
7
<resume>Nous proposons dans cet article d'aborder ...</resume>
8
<abstract>In this paper we define...</abstract>
9
<motsCles>
10
<terme>Ingénierie des connaissances</terme>
11
<terme>XML</terme>
12
<terme>Document</terme>
13
</motsCles>
14
<keywords>
15
<word>Knowledge engineering</word>
16
<word>XML</word>
17
<word>Document</word>
18
</keywords>
19
<publication date="2004-07-05"/>
20
<version maj="1" min="0"/>
21
<ressource uriSrc="http://archivesic.ccsd.cnrs.fr/docs/00/06/23/97/PDF/sic_00001015.pdf"/>
22
</papier>
<?xml version="1.0" encoding="UTF-8"?> <papier type="scientifique"> <titre>Réinterroger les structures documentaires</titre> <sousTitre>De la numérisation à l'informatisation</sousTitre> <auteur>Stéphane Crozat</auteur> <auteur>Bruno Bachimont</auteur> <resume>Nous proposons dans cet article d'aborder ...</resume> <abstract>In this paper we define...</abstract> <motsCles> <terme>Ingénierie des connaissances</terme> <terme>XML</terme> <terme>Document</terme> </motsCles> <keywords> <word>Knowledge engineering</word> <word>XML</word> <word>Document</word> </keywords> <publication date="2004-07-05"/> <version maj="1" min="0"/> <ressource uriSrc="http://archivesic.ccsd.cnrs.fr/docs/00/06/23/97/PDF/sic_00001015.pdf"/> </papier>
Compléter le fichier XSLT transf.xsl
afin de générer, pour chaque élément terme
, une instruction SQL d'insertion dans une table relationnelle de schéma : tMotsCles (terme, titre, url)
(où terme
est le terme sélectionné, titre
est le titre du document et url
est l'adresse de la ressource associée).
Pour rappel, la syntaxe d'insertion de données dans une table relationnelle en SQL : INSERT INTO <Nom de la relation> (<Liste ordonnée des propriétés à valoriser>) VALUES (<Liste ordonnée des valeurs à affecter>)
.
1
<?xml version="1.0" encoding="UTF-8"?>
2
<!--transf.xsl-->
3
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
4
<xsl:output method="text"/>
5
<xsl:template match="papier">
6
<xsl:apply-templates select="./motsCles/terme"/>
7
</xsl:template>
8
<xsl:template match="terme">
9
INSERT INTO tMotsCles (terme, titre, url) VALUES (
10
'<xsl:value-of select="."/>',
11
'<xsl:value-of select="//titre"/>',
12
'<xsl:value-of select="//ressource/@uriSrc"/>'
13
);
14
</xsl:template>
15
</xsl:stylesheet>
<?xml version="1.0" encoding="UTF-8"?> <!--transf.xsl--> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="text"/> <xsl:template match="papier"> <xsl:apply-templates select="./motsCles/terme"/> </xsl:template> <xsl:template match="terme"> INSERT INTO tMotsCles (terme, titre, url) VALUES ( '<xsl:value-of select="."/>', '<xsl:value-of select="//titre"/>', '<xsl:value-of select="//ressource/@uriSrc"/>' ); </xsl:template> </xsl:stylesheet>