template dans un template ...
"Ziad EL KHATIB" <[email protected]> Tue, 5 Jun 2007 15:59:02 +0200
| Newsgroups | gmane.text.xml.french.tech |
|---|---|
| Message-ID | <[email protected]> |
bonjour,
j'ai un soucis avec ma xslt. c'est un peu compliqué à expliquer donc je vais
commencer par un exemple:
--------------------------------------------------------------------------------
EXEMPLE 1 : exemple ou ca fonctionne correctement
XML DEPART
<contenuGamme>
<Titre>
............
</Titre>
<Preambule>
<Elements>
<Paragraphe>
<BlocTexte></BlocTexte>
</Paragraphe>
<Remarque type="imp">
<BlocTexte>
<Phrase code="N007756">
<texte>respecter les consignes de sécurité et de
propreté</texte>
</Phrase>
</BlocTexte>
</Remarque>
<Paragraphe>
<BlocTexte/>
</Paragraphe>
<Remarque type="nota">
<BlocTexte>
<Phrase code="O080091">
<texte>après coupure du contact</texte>
</Phrase>
<TexteLibre> : </TexteLibre>
<Phrase code="N035779">
<texte>attendre *1 minutes avant de débrancher
la batterie pour garantir la mémorisation des apprentissages des différents
calculateurs</texte>
<param>15</param>
</Phrase>
</BlocTexte>
</Remarque>
<Paragraphe>
<BlocTexte/>
</Paragraphe>
<Remarque type="imp">
<BlocTexte>
<Phrase code="N036848">
<texte>attendre au minimum une heure avant toute
intervention sur la ligne d'échappement</texte>
</Phrase>
</BlocTexte>
</Remarque>
</Elements>
</Preambule>
XML OBTENU ET VOULU
<contenuGamme>
<titre>
............
</titre>
<prea>
<rem type="imp"><phr code="N007756"/>
</rem>
<rem type="nota"><phr code="O080091"/><txtlibre> :
</txtlibre><phr code="N035779">
<param type="VALEUR">15</param>
</phr>
</rem>
<rem type="imp"><phr code="N036848"/>
</rem>
</prea>
--------------------------------------------------------------------------------
EXEMPLE 2 : exemple qui ne marche pas
XML DEPART
<contenuGamme>
<Titre>
.............................
</Titre>
<Preambule>
<Elements>
<Paragraphe>
<BlocTexte></BlocTexte>
</Paragraphe>
</Elements>
</Preambule>
<Chapitre>
<Titre>
.....................
XML OBTENU
<contenuGamme>
<titre>
</titre>
<prea/>
<chap>
XML VOULU
<contenuGamme>
<titre>
............
</titre>
<chapitre>
<titre>
...........
Voici ma xslt:
<xsl:template match="Preambule">
<xsl:choose>
<xsl:when test="name(..)='Chapitre'">
<sprea>
<txtn2>
<xsl:apply-templates/>
</txtn2>
</sprea>
</xsl:when>
<xsl:when test="name(..)='SousChapitre'">
<ssprea>
<txtn3>
<xsl:apply-templates/>
</txtn3>
</ssprea>
</xsl:when>
<xsl:otherwise>
<prea>
<xsl:apply-templates/>
</prea>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="BlocTexte">
<xsl:apply-templates select="node()"/>
</xsl:template>
En gros, ma xslt marche parfaitement sauf dans le cas ou j'ai dans mon
preambule qu'un BlocTexte vide et rien d'autre, dans ce cas je ne veux pas
avoir un <prea/> qui s'affiche, je ne veux rien.
Je ne pense pas avoir été très clair mais merci pour votre aide en tous cas
:-)