Cliquez ici.
Accueil
 chercher             Plan du site             Info (English version) 
L'histoire de XML s'écrit en ce moment même. XMLfr vous aide à la suivre et à en dégager les tendances.Les listes de discussions XMLfr sont à votre disposition pour réagir sur nos articles ou simplement poser une question.Si vous ètes passionnée(e) par XML, pourquoi ne pas en faire votre métier ?XMLfr n'est heureusement pas le seul site où l'on parle de XML. Découvrez les autres grâce à XMLfr et à l'ODP.Les partenaires grâce auxquels XMLfr peut se développer.Pour tout savoir sur XMLfr.XMLfr sans fil, c'est possible !Pour ceux qui veulent vraiment en savoir plus sur XML.L'index du site.
 Commentaires et questions non techniques.Commentaires et questions techniques.

 
Cliquez ici.

From: Benoit Lefevre (benoit.lefevre@effix.fr)
Date: 07/08/2001 - 17:26


Re bonjour.

     Merci Paul pour tes conseils.

     J'ai resolue mon precedent probleme en utilisant le template suivant :

--------------------------------------------
|<xsl:template match="*">
|<xsl:copy/><xsl:if test = "not(./text())">
|<xsl:apply-templates/>
|</xsl:if>
|</xsl:template>
-------------------------------------------

     Qui me semble moins beau que ce que tu proposes

     Mais je me pose encore quelques questions :

     1) quels sont les differences fondamentales entre "." , "self" et "current()" ?
     Y at-il une difference (pour ces trois elements du langage en tous cas)
     lorsqu'on les emplois :

          - dans un attribut match
          - dans un attribut test
          - dans un attribut select

     J'ai l'impression d'etre passe 10 fois a cote de la solution a cause de
     petites variations sur l'emplois de tous ces elements que je ne maitrise
     pas encore ...

     2) peut on "deporter" le test <xsl:If> du template directement dans l'attribut
     match de ce dernier sans avoir recoure a plusieurs templates ??

     3) Je ne souhaite pas conserver la structure, mais par contre j'ai toujours
     un mal fou lorsque je fait du output en mode text a indenter la sortie comme
     je le souhaite.Je ne comprend pas comment les blancs dans le document
     source sont pris en compte lors de la transformation.

     Par exemple ... si j'applique le template presente precedement sur le

     document suivant :

------------------------------------------
|<a><b><a>text</a><d>text</d></b><c><e>text</e></c></a>
------------------------------------------

     J'ai bien le formatage attendue :

------------------------------------------
|<a><b><a><d><c><e>
------------------------------------------

     alors que si j'applique le template :

--------------------------------------------
|<xsl:template match="*">
|<xsl:copy/>
|<xsl:if test = "not(./text())">
|<xsl:apply-templates/>
|</xsl:if>
|</xsl:template>
-------------------------------------------

     qui comporte un retour a la ligne supplementaire apres le copy, J'ai
     la sortie suivante :

------------------------------------------
|<a>
|<b>
|<a>
|<d>
|<c>
|<e>
------------------------------------------

     J'en deduit donc que tous le texte suplementaire apres un <copy>
     est pris en compte. Or si j'applique le template suivant :

--------------------------------------------
|<xsl:template match="*">
|<xsl:copy/>
|
|<xsl:if test = "not(./text())">
|<xsl:apply-templates/>
|</xsl:if>
|</xsl:template>
-------------------------------------------

     Rien ne change !!?

     Et enfin si j'ajoute du texte entre ces deux retours a la ligne
     comme ceci :

--------------------------------------------
|<xsl:template match="*">
|<xsl:copy/>
|ploki
|<xsl:if test = "not(./text())">
|<xsl:apply-templates/>
|</xsl:if>
|</xsl:template>
-------------------------------------------

     Cette fois ci je passe d'un seul coup d'un seul a une sortie formate comme suit :
--------
|<a />
|
|ploki
|
|<b />
|
|ploki
|
|<a />
|
|ploki
|
|<d />
|
|ploki
|
|<c />
|
|ploki
|
|<e />
|
|ploki
--------

     C'est a n'y rien comprendre ...

Cordialement

benoit lefevre

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



Archive générée par hypermail 2.1.3 le 28/06/2004 - 11:06 UTC

webmaster@xmlfr.org

 

xml tech

Discussions techniques au sujet de XML.

Cette liste est à votre disposition pour discuter en français de tout sujet technique lié à XML.



Devenez rédacteur <XML>fr et contribuez au développement du xml francophone !
Les documents publiés sur ce site le sont sous licence "Open Content"
Conception graphique
  l.henriot@online.fr  

Conception, réalisation et hébergement