Problème pour faire marcher "xsl:when"

Problème pour faire marcher "xsl:when" - XML/XSL - Programmation

Marsh Posté le 08-12-2005 à 20:50:20    

Je me suis basé sur un exemple, et pourtant, l'exemple marche (je ne vois pas de différence avec mon code), et pas mon code :(
 
Le XML :

Code :
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <?xml-stylesheet href="test.xsl" type="text/xsl"?>
  3. <screen>
  4. <fields>
  5.  <field name="login" type="text" enabled="true">
  6.   <title value="ee">Login</title>
  7.  </field>
  8.  <field name="password" type="password" enabled="true">
  9.   <title value="ee">Password</title>
  10.  </field>
  11.  <field name="btn_submit" type="submit" enabled="true">
  12.   <title value="ee">Test</title>
  13.  </field>
  14.  <field name="btn_test" type="submit" enabled="false">
  15.   <title value="ee">ddd</title>
  16.  </field>
  17. </fields>
  18. </screen>


 
Le XSL :

Code :
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl" xmlns="http://www.w3.org/TR/REC-html40" result-ns="">
  3. <xsl:template match="/">
  4.  <html>
  5.   <head>
  6.    <title>Test</title>
  7.   </head>
  8.   <body>
  9.    <xsl:apply-templates/>
  10.   </body>
  11.  </html>
  12. </xsl:template >
  13. <xsl:template match="screen">
  14.  <xsl:apply-templates/>
  15. </xsl:template>
  16. <xsl:template match="fields">
  17.  <form>
  18.  <xsl:apply-templates/>
  19.  </form>
  20. </xsl:template>
  21. <xsl:template match="field">
  22.  <xsl:choose>
  23.   <xsl:when test="@name != ''">
  24.    ok
  25.   </xsl:when>
  26.   <xsl:otherwise>
  27.    ko
  28.   </xsl:otherwise>
  29.  </xsl:choose>
  30. </xsl:template>
  31. </xsl:stylesheet>


 
J'ai systématiquement l'erreur :


La page XML ne peut pas être affichée  
Impossible d'afficher l'entrée XML en utilisant la feuille de style XSL. Corrigez l'erreur, puis cliquez sur le bouton Actualiser ou réessayez ultérieurement.  
 
 
--------------------------------------------------------------------------------
 
Jeton attendu 'eof' trouvé '!='. @name -->!=<-- ''
 


 
Que je sois avec IE ou FF...
 
Il est où le problème avec mon "when" ? :sweat:

Reply

Marsh Posté le 08-12-2005 à 20:50:20   

Reply

Marsh Posté le 08-12-2005 à 22:06:08    

test="field@name ..." ?


Message édité par art_dupond le 08-12-2005 à 22:06:30
Reply

Marsh Posté le 09-12-2005 à 01:18:35    

nope, ça fait pareil :/

Reply

Marsh Posté le 09-12-2005 à 02:27:04    

avec ca ca marche:
 

Code :
  1. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

Reply

Marsh Posté le 09-12-2005 à 10:00:58    

Aah le coup du Working Draft ( WD), c'est un classique...

Reply

Marsh Posté le 09-12-2005 à 10:03:52    

Merde, en plus y'avait un gars qui avait le problème pas plus tard que la semaine dernière

Reply

Marsh Posté le 09-12-2005 à 14:56:18    

avander a écrit :

Aah le coup du Working Draft ( WD), c'est un classique...


c'est quoi ?

Reply

Marsh Posté le 09-12-2005 à 15:17:40    

Une recommandation du W3C en cours de réalisation. Littéramment "Brouillon de travail"

Reply

Marsh Posté le 09-12-2005 à 15:18:40    

Et lorsque le W3C était encore en train de mettre l'XSL (donc quand il était à l'état de WD), Microsoft en a sorti une implémentation. Et évidemment, moult sites webs et outils ont du coup parlé de l'XSL, en utilisant le namespace en vigueur à l'époque, qui est maintenant invalide.

Reply

Marsh Posté le 09-12-2005 à 15:20:57    

groumpf
 
là où c'est con, c'est que j'ai copié la déclaration depuis le site w3.org... ça fait un peu con tout de même :D²

Reply

Marsh Posté le 09-12-2005 à 15:20:57   

Reply

Marsh Posté le 09-12-2005 à 15:23:28    

Ca dépend d'où tu l'as copié. Prend-la dans la recommandation XSLT

Reply

Marsh Posté le 09-12-2005 à 15:23:54    

(rubrique 2.1, XSLT Namespace)

Reply

Marsh Posté le 09-12-2005 à 15:29:13    

FlorentG a écrit :

Une recommandation du W3C en cours de réalisation. Littéramment "Brouillon de travail"


 :jap:

Reply

Marsh Posté le 09-12-2005 à 15:38:32    

FlorentG a écrit :

Ca dépend d'où tu l'as copié. Prend-la dans la recommandation XSLT


je sais plus où je l'ai trouvée :) autant pour la partie XHTML je trouve leur documentation assez claire, autant pour le XML/XSL, je trouve que c'est un joyeux bordel :D

Reply

Marsh Posté le 09-12-2005 à 15:43:25    

Sinon, truc qui a moyennement à voir avec le sujet initial...
 
Je veux développer une application client/server, proposant à la fois une interface WEB, et une interface applicative.
 
Cependant, je veux que le paramètrage se fasse une seul fois pour chaque.
L'appli se base sur des "fonction" (écran générique) qu'on peut "surcharger" (en indiquant les champs qu'on veut parmis ceux dispo) autant de fois qu'on veut.
 
Par exemple, pour "gestion articles" (GART) qui contient une miryade de champs permettant de couvrir les aspects fonctionnels du plus grand nombre, je veux pouvoir faire un écran : "gestion des articles simples" (GARTS) qui ne contient que les champs de bases d'un produit, et un autre "gestion des articles composés" (GARTC), qui contient aussi les champs dédiés aux kits.
 
Afin de gérer le même paramètrage, je pense me baser sur un flux XML généré dynamiquement à partir d'une table décrivant l'écran.
Ainsi, via le WEB, je parse la page avec une feuille XSL, et dans l'application, je génère les champs à l'écran en fonction du flux XML que j'ai reçu.
 
Est-ce que ça vous semble une bonne architecture ? Est-ce qu'il y a plus simple/mieu pour faire ça ?
 
C'est pour ça que mon fichier XML décrit des champs, et que mon XSL fait des apply-templates à la bourrin plutôt qu'un parcours "en dur" du fichier XML.


Message édité par Arjuna le 09-12-2005 à 15:47:17
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed