Bonjour,
j'aimerais savoir si je peux convertir un fichier xml en html per exemple et inserer une logique de programmation permettant par exemple de récuperer un evenement sur click d'un tableau html générer ?
Version imprimable
Bonjour,
j'aimerais savoir si je peux convertir un fichier xml en html per exemple et inserer une logique de programmation permettant par exemple de récuperer un evenement sur click d'un tableau html générer ?
oui c'est faisable en XSL
regarde ici :
http://www.developpez.biz/downloads/...rs-xml-xls.pdf
Bonjour,
dans ce document je ne vois pas du tout ce que je veux.
Par contre il est vrai que je vois que l'on peut mettre n'importe quel balise html donc du script.
Mais moi ce que je voulais était de savoir la maniére la plus judicieuse d'inserer du script dans un style xsl.
Merci
bon j'ai trouve un truc dasn ce genre dans mes xsl:
tu déclares un namespace
ici c'est l'appel de ton scriptCode:
1
2 xmlns:local="#local-functions"
ici c'est la déclaration de tes scriptsCode:
1
2
3
4
5 <xsl:attribute name="href"> <xsl:value-of select="local:eval_getLink_Path($file)" /> </xsl:attribute> <xsl:value-of select="@file" />
bon ca doit etre en gros ca:) d'apres ce que j'ai compris ce sont des extensions de fonction.Code:
1
2
3
4 <msxsl:script language="JavaScript" implements-prefix="local"> function eval_getLink_Path(_file) { return getLink_Path(_file); } </msxsl:script>
d'ailleur à ce sujet j'ai un problème:) j'utilise xlan pour convertir de xml+xsl en html mais j'ai une erreur :
[erreur]
java.lang.NoSuchMethodException: For extension function, could not find method java.lang.String.eval_conv_for_publication_number_tokkyo_jituyou_bango([ExpressionContext,] #STRING, #NODESET).
[/erreur]
or ce script est bien déclaré. faut-il ajouter quelquechose, un jar? pour que cela fonctionne bien?
merci:)
bl@st je comprends absolument pas ce que tu veux faire,ton value-of semble vouloir faire executer une procedure javascript a un processeur XML ,est ce que tu vois le pb la :?:
en fait le bout de code que j'ai mis est un code qui à priori est bon ce n'est aps moi qui l'ai fait:).
j'ai mis ces bouts de code pour aider osoudee à voir le mecanisme des extensions de fonction.
sinon effectivement mon value of lance un script. Mais je vois pas de pb la dedans si?
ben au derniere nouvelle ton processeur xslt ne connait pas le javascript + que c++ ou le java donc tu pourra lui faire ecrire du caractere qui correspondra a du code javascript mais je le vois mal l'interprete
tu es sur de ne pas avoir oublie des morceaux de codes?
si lol mon code n'est ps complet du tout:) c'etait juste pour montrer comment faire pour ajouter du javascript au xsl.
peut etre mes bout de code etait mal choisi :(.
mon pb ne viens pas du code, je ne peut pas toucher au xsl et au xml.
sinon effectivement mon processeur xslt n'a pas l'air de faire le lien avec le javascript. y-at-il quelquechose à faire pour que cela fonctionne bien?
Bonjour bl@st,
Selon l'espace de nom msxsl de tes éléments scripts, la feuille de style a du être écrite pour MSXML de M$. Chaque processeur XSL a son propre mécanisme d'extension avec sa syntaxe. Pour Xalan, notamment, l'espace de nom est xalan, ce qui donne des balises <xalan:script> Il faut en plus que bsf.jar soit dans le classpath, et y'a d'autres truc à verifier.
Donc, pas étonnant que ca ne marche pas... :wink:
ok merci bcp:) je vais chercher le bsf.jar.
je reviens si j'ai encore une erreur:)
bon ok j'ai compris ce que tu m'as dis:)
effectivement j'utilisait le mauvais processeur xsl (xalan) à la place d'un msxml. donc j'ai trouvé le processeur msxsl et ca marche tout bien:)
merci à tous:)
ps: osoudee dsl d'avoir pollué ton post masi à priori nos deux question ce rejoignait donc je me suis permis.:)
c'est encore moi:) bon maintenant tout marche bien:)
Mais vu que le processeur XSL utilisé est de microsoft, je me pause des quetions au niveau de la portabilité de mon appli.
le processeur XSL utilisé est un .exe donc sous unix ca va moyennement marcher:(. Existe-t-il le processeur équivalent écrit en java par exemple?
je vais chercher de mon coté et je reviens ici pour donner mes résultats:)
++
Pour rendre ta feuille de style portable, c'est à dire utilisable aussi avec Xalan, tu dois y ajouter l'équivalent Xalan des extensions MSXML utilisées. Tu dois ensuite modifier la feuille de style pour qu'elle utilise l'une ou l'autre extension selon la version du processeur XSL. Tu peux connaitre la version du processeur en cours d'utilisation avec la fonction XPath :
Code:system-property('xsl:vendor')
est -ce qu'il suffit de remplacer dans les feuille de style msxsl par xalan?
les scripts n'ont pas besoin d'etre modifié?
T'as qu'à toujours essayer ! :P
Tu dois aussi déclarer l'espace de nom dans la balise <xsl:stylesheet>
ok merci bcp pour ton aide:)++