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
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Received on Tue Dec 28 11:55:26 2004