Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2964 connectés 

  FORUM HardWare.fr
  Programmation
  XML/XSL

  XLST - Condition xsl:if ne marche pas

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

XLST - Condition xsl:if ne marche pas

n°2033351
kirua_sama
Learn sciences with senses
Posté le 31-10-2010 à 17:11:11  profilanswer
 

Bonjour,
 
Mon schéma ne prends jamais en compte ma condition. Je pense que cela peut être dû à l'encodage du fichier, mais sans trop de conviction.
J'ai un fichier XML (tetlm) qui contient chaque mot et j'aimerais avoir une phrase par ligne. J'utilise donc un formatage de sortie de la manière suivant :
 

Code :
  1. <xsl:template match="tet:Text">
  2.         <xsl:value-of select="." />
  3.         <xsl:text>&#160;</xsl:text>
  4.  <xsl:text>&#xa;</xsl:text>
  5.  <xsl:if test="Text = '.'">
  6.   <xsl:text>-- &#10;</xsl:text>
  7.  </xsl:if>
  8.     </xsl:template>


 
Cependant dans mon fichier text final, je n'ai jamais de retour à la ligne, juste la suite de mots séparés par des espaces.
Voici une partie du schéma XML :
 

Code :
  1. [...]
  2. <Text>,</Text>
  3.   <Box llx="51.21" lly="275.90" urx="53.68" ury="285.90"/>
  4. </Word>
  5. <Word>
  6.   <Text>Auguste</Text>
  7.   <Box llx="55.15" lly="275.90" urx="88.14" ury="285.90"/>
  8. </Word>
  9. <Word>
  10.   <Text>Bouvier</Text>
  11.   <Box llx="90.15" lly="275.90" urx="122.04" ury="285.90"/>
  12. </Word>
  13. <Word>
  14.   <Text>,</Text>
  15.   <Box llx="121.64" lly="275.90" urx="124.12" ury="285.90"/>
  16. </Word>
  17. <Word>
  18.   <Text>bibliothécaire</Text>
  19.   <Box llx="126.13" lly="275.90" urx="180.56" ury="285.90"/>
  20. </Word>
  21. <Word>
  22.   <Text>et</Text>
  23.   <Box llx="182.56" lly="275.90" urx="189.71" ury="285.90"/>
  24. </Word>
  25. <Word>
  26.   <Text>érudit</Text>
  27.   <Box llx="191.72" lly="275.90" urx="214.81" ury="285.90"/>
  28. </Word>
  29. <Word>
  30.   <Text>.</Text>
  31.   <Box llx="214.81" lly="275.90" urx="217.28" ury="285.90"/>
  32. </Word>
  33. <Word>
  34.   <Text>Cet</Text>
  35.   <Box llx="219.29" lly="275.90" urx="233.04" ury="285.90"/>
  36. </Word>
  37. [...]


 
Je vous remercie d'avance pour votre aide.
Cordialement.


---------------
“L'éducation est l'arme la plus puissante que l'on puisse utiliser pour changer le monde”
mood
Publicité
Posté le 31-10-2010 à 17:11:11  profilanswer
 

n°2033356
masklinn
í dag viðrar vel til loftárása
Posté le 31-10-2010 à 17:20:41  profilanswer
 

kirua_sama a écrit :

Mon schéma ne prends jamais en compte ma condition. Je pense que cela peut être dû à l'encodage du fichier, mais sans trop de conviction.


Bah non c'est dû à ta condition qui est fausse [:petrus75]

 

Dans ton template, quelle est la node de contexte? Et en considérant cette node de contexte, par quoi se traduit ton test? (penses bien que l'expression xpath `foo` est évaluée dans le contexte courant et veut donc en vérité dire `./foo`)


Message édité par masklinn le 31-10-2010 à 17:21:28

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°2033366
kirua_sama
Learn sciences with senses
Posté le 31-10-2010 à 18:02:04  profilanswer
 

Désolé, je n'ai jamais travaillé avec XSL ^^.
 
Si je comprends bien dans mon context template je suis déjà dans le noeud Text ("<xsl:template match="tet:Text">" ).
Donc dans mon context courant, je dois utiliser non pas 'Text', mais la condition test=". = '.'".
 
Merci beaucoup pour ton aide.

Message cité 1 fois
Message édité par kirua_sama le 31-10-2010 à 18:10:06

---------------
“L'éducation est l'arme la plus puissante que l'on puisse utiliser pour changer le monde”
n°2033368
masklinn
í dag viðrar vel til loftárása
Posté le 31-10-2010 à 18:13:40  profilanswer
 

kirua_sama a écrit :

Désolé, je n'ai jamais travaillé avec XSL ^^.


Faudrait ptet songer à apprendre dans ce cas :/


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°2033370
kirua_sama
Learn sciences with senses
Posté le 31-10-2010 à 18:20:27  profilanswer
 

masklinn a écrit :


Faudrait ptet songer à apprendre dans ce cas :/


 
Tout à faire d'accord, c'est juste un investissement pas prioritaire.
J'en avais juste besoin pour un infime prétraitement dans mon travail.
 
Je te remercie beaucoup pour ton aide en tout cas.
 :hello:


---------------
“L'éducation est l'arme la plus puissante que l'on puisse utiliser pour changer le monde”

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  XML/XSL

  XLST - Condition xsl:if ne marche pas

 

Sujets relatifs
[RESOLU] checkbox et conditionAccess VBA cellule vide avec IF et Then (marche pas ?)
Flash et CSS, template en ligne qui ne marche pasSite web marche sur tout les navigateurs apart mozilla
Démarrer avec VBA (Finance de marché)Comment marche un upload? droit d'écriture sur un dossier
[Résolu] popup marche pasCopier Coller vers un autre classeur excel sous condition
une condition dans un do while qui plante ...Formulaire de login OK en local mais pas sur le net ? (pb de sessions)
Plus de sujets relatifs à : XLST - Condition xsl:if ne marche pas


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR