[XSL][MSXML] balise incomplète dans un xsl:template
Bonjour,
je voudrais pouvoir générer une élément XML dont la balise de début <monElt> serait générée dans un template, et la balise de fin dans un autre template.
Par exemple
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<!-- xsl tag START -->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" encoding="utf-8"/>
<xsl:strip-space elements="*"/>
<xsl:template match="/">
<xsl:apply-templates select="/myNode" mode="Debut" />
.... traitements
<xsl:apply-templates select="/myNode" mode="Fin" />
</xsl:template>
<xsl:template match="myNode" mode="Debut">
<monElt>
</xsl:template>
<xsl:template match="myNode" mode="Fin">
</monElt>
</xsl:template> |
Malheureusement le processeur XSLT génère deux erreurs equivalentes, une dans chaque template.
Par exemple, pour le premier template :
Citation:
Le balise de fin xsl:template ne correspond pas à la balise de début monElt
Le processeur XSLT semble considérer que la définition de template doit etre bien formée d'un point de vue XML.
Je ne peux pas utiliser l'élément <xsl:element> pour generer l'element monElt
car en resultat de <xsl:element> les deux balises debut et fin sont générées, empéchant d'insérer du texte.
Y a-t-il un moyen en XSL d'ajouter en deux étapes différentes les deux balises début et fin d'un element XML de sortie?
Merci d'avance pour votre aide