Exercice
Soit le fichier file.xml
. 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>)
.
Soit le fichier XML de la première question.
1
<!--file.xml-->
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>
<!--file.xml--> <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>
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>