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

  FORUM HardWare.fr
  Programmation
  XML/XSL

  Application d'un XSL pour créer un document XSL - help

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Application d'un XSL pour créer un document XSL - help

n°402810
swgreedo
Posté le 21-05-2003 à 14:53:50  profilanswer
 

Voici mon probleme : je suis en train de créer une stylesheet XSL (que l'on va appeler "XSL de paramétrage" ) qui a la particuliarité de produire... un document XSL (que l'on va appeler "XSL final" ).
 
Dans les faits, je commence par génerer (avec du code Java) un Document contenant un formulaire encadré par un début et une fin :

Code :
  1. <root>
  2.   <start/>
  3.   <form>
  4.     <table>
  5.       <!-- le contenu de mon formulaire : de l'HTML pour l'instant que l'on va enrichir -->
  6.     </table>
  7.   </form>
  8.   <end/>
  9. </root>


 
Le but de ma feuille de style est de produire a partir de ce document un formulaire XSL où :
 - <start/> sera remplacé par un certain nombre d'imports/déclarations de scripts contenant eux meme des instructions XSL
 - idem pour <end/>
 - l'élément <form>, qui contient le code HTML pur du formulaire a produire, sera recopié dans le XSL final et éventuellement enrichi avec des instructions XSL : par exemple on rajoute aux boutons un attribut "onClick" dont la valeur sera de la forme "<xsl:value-of select="..."> où "..." sera lié au XML final (qui référence le XSL final)
 
Donc en résumé je fais un meta-XSL ("XSL de paramétrage" ) dont l'intéret est de permettre de paramétrer le contenu du fichier XSL final.
 
Ce qui me pose probleme, c'est que dans ce meta-XSL j'ai des instructions <xsl:element> ou <xsl:attribute> (pour l'insertion de nouveaux éléments dans l'XSL final) contenant elles memes des instructions XSL (qui apparaitront dans l'XSL final).
 
Exemple :  
je veux insérer TEL QUEL dans mon XSL final (= sans que les instructions XSL mentionnées ici soient exécutées) :

Code :
  1. <link rel="stylesheet" type="text/css">
  2.       <xsl:attribute name="href">
  3.         <xsl:value-of select="/PAGE/DATA/PATH/@rootPath"/>css/Base.css
  4.       </xsl:attribute>
  5. </link>


 
La question que je me pose, c'est comment je peux indiquer "en dur" (en chaines de caracteres, en gros) ces instructions XSL qui ne doivent être que recopiées dans l'XSL final et non pas interprétées ?
 
Pour l'instant, j'ai essayé d'insérer cela dans des blocs CDATA :

Code :
  1. <![CDATA[<link rel="stylesheet" type="text/css">]]>
  2.   <![CDATA[<xsl:attribute name="href">]]>
  3.     <![CDATA[<xsl:value-of select="/PAGE/DATA/PATH/@rootPath"/>css/Base.css]]>
  4.   <![CDATA[</xsl:attribute>]]>
  5. <![CDATA[</link>]]>


Dans ce cas je me retrouve avec des "&" et "&" à la place des "<" et ">" dans mon XSL final, ce qui ne va pas.
 
J'ai également essayé d'utiliser des instructions <xsl:text> qui possèdent visiblement de quoi résoudre ce probleme grâce a l'attribut "disable-output-escaping". Malheureusement celui-ci n'est pas reconnu par mon transformateur XSL (javax.xml.transform.Transformer)  :(  
 
Il est bien évidemment possible de créer à la main mes éléments XSL au moyen des instructions "xsl:element" et "xsl:attribute", mais ceci rend le XSL de paramétrage long a mettre au point et compliqué à lire et modifier, ce qui réduit à néant son interet...
 
Si vous avez une idée...

mood
Publicité
Posté le 21-05-2003 à 14:53:50  profilanswer
 

n°406027
avander
Posté le 23-05-2003 à 14:39:23  profilanswer
 

Premier hit en introduisant "generating stylesheets XSLT" dans Google :
http://www.vbxml.com/xsl/examplest [...] eation.asp
 
Traduction : il faut utiliser l'élément xsl:namespace-alias
comme ci-dessous :
 


<xsl:namespace-alias stylesheet-prefix="outputxsl" result-prefix="xsl"/>


 
Donc dans ton premier stylesheet tu utilise outputxsl:apply-templates quand tu génére un element qui sera remplacé au dernier moment par xsl:apply-templates.
 
Avander
 
 


---------------
A thing of beauty is a joy forever (John Keats)

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

  Application d'un XSL pour créer un document XSL - help

 

Sujets relatifs
Sauvegarder un document Notes ! ! !Scripting - Interagir avec une application
PlugIn d'une application sans Doc : Il me manque des fonctions....[RESOLU] [ACCESS] Créer des réferences simplifié a partir d'une table
Créer un forum?Help compteur
Petit soucis help SVPImporter un document txt dans une page html
lancer une application sans vbscript[ACCESS ] creer une alerte
Plus de sujets relatifs à : Application d'un XSL pour créer un document XSL - help


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