logo       

Problème d'utilisation de l'instruction <xsl:template>: msg#00220

text.xml.french.tech

Subject: Problème d'utilisation de l'instruction <xsl:template>

Bonjour tout le monde,

Je crois que j'ai un sérieux problème d'utilisation des fonctions <xsl:template
match="Pattern"> et <xsl:apply-templates>!!!
Ou j'ai mal compris son utilisation ou tout simplement je ne sais pas
l'utiliser.

Par exemple, j'ai un document XML suivant:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE FILM [
<!ELEMENT FILM (TITRE,AUTEUR,ANNEE,RESUME)>
<!ELEMENT TITRE (#PCDATA)>
<!ELEMENT AUTEUR (#PCDATA)>
<!ELEMENT DATE (#PCDATA)>
<!ELEMENT RESUME (#PCDATA)>
]>
<FILM>
<TITRE>Titanic</TITRE>
<AUTEUR>James CAMEROON</AUTEUR>
<DATE>05-12-2000</DATE>
<RESUME>Film relatant l'accident du plus grand paquebot du monde
TITANIC</RESUME>
</FILM>
Et j'ai écrit cette feuille de style tout simple pour extraire les données
textuelles de l'arbre XML ci-dessus:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
xmlns:fo="http://www.w3.org/1999/XSL/Format";>

<xsl:template match="FILM">
<p>
<h1><i><xsl:value-of select="TITRE"/></i></h1>
</p>
<i><xsl:value-of select="ANNEE"/></i>
<p>
<xsl:value-of select="AUTEUR"/>
</p>
<p>
<h3>Résumé:<xsl:value-of select="RESUME"/></h3>
</p>
</xsl:template>
<xsl:template match="FILM">
<xsl:apply-templates select="DATE"/>
<!--Date au format dd/mm/yyyy-->
<p>
<b>Le film est sorti le <xsl:value-of
select="concat(substring(DATE,1,2),
substring(DATE,2.5,4.5),substring(7,10))"/></b>
</p>
</xsl:template>
</xsl:stylesheet>



Le problème est que chaque fois que je lance les transformations, le processeur
me sort l'erreur: "
Node of this type cannot be added." (le noeud ne peut être ajouté dans l'arbre
résultat...).

Pouvez-vous me donner des conseils d'utilisation de <xsl:template> et
<xsl:apply-templates>?

Comment je peux les utiliser pour avoir le résultat correct dans ma feuille de
style ci-haut?

Bonne journée.

Oscar N.





---------------------------------
Découvrez le nouveau Yahoo! Mail : 250 Mo d'espace de stockage pour vos mails !
Créez votre Yahoo! Mail



<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise