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.

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

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

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

<?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>
AccueilManipulations > XPath et XSLT > Exercice< PrécédentSuivant >