Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

JS et transformation Xsl

6 réponses
Avatar
Delf
Bonsoir.

Je suis en train de faire un site dont le contenu est géré côté client
via Javascript et transformation Xsl.

En gros, lors du chargement de la page html chez le client, j'effectue
une transformation Xsl.

Mon problème est le passage de paramètre au fichier Xsl.

Voici mon code actuel simplifié (pour IE, FF, etc) :

getHtmlContent : function(xmlFile, xslFile)
{
var xml = xslToolBox.loadXmlDocument(xmlFile);
var xsl = xslToolBox.loadXmlDocument(xslFile);

if (window.ActiveXObject)
{
resultDocument = xml.transformNode(xsl);

// PAssage de parametres ?

document.getElementById('output').innerHTML = resultDocument;
}
else if (document.implementation
&& document.implementation.createDocument)
{
xsltProcessor = new XSLTProcessor();

xsltProcessor.setParameter(null,"page", 1); // ** BON ? **
xsltProcessor.setParameter(null, 'page', '1'); // ** BON ? **

xsltProcessor.importStylesheet(xsl);
resultDocument = xsltProcessor.transformToFragment(xml,document);

document.getElementById('output').appendChild(resultDocument);
}
}

Comment modifier pour que le passage soit effectif dans les 2 cas ?
Merci.

--
Delf

6 réponses

Avatar
Pascal PONCET
Delf a écrit :
Je suis en train de faire un site dont le contenu est géré côté client
via Javascript et transformation Xsl.



Bonsoir,

Désolé de répondre par une question, mais pourquoi ne pas livrer
directement le fichier XML avec une liaison vers le style XSL externe ?

Cordialement,
Pascal
Avatar
Delf
Il se trouve que Pascal PONCET a formulé :

Désolé de répondre par une question, mais pourquoi ne pas livrer
directement le fichier XML avec une liaison vers le style XSL externe ?



C'est-à-dire ? Je n'ai pas compris.

--
Delf
Avatar
Pascal PONCET
Delf a écrit :
C'est-à-dire ? Je n'ai pas compris.



Et bien, les navigateurs récents savent interpréter (parser) directement
un fichier XML qui leur est présenté, et même effectuer la
transformation quand un fichier XSLT lui est lié.

Mais peut-être que l'objet du problème était plutôt lié à
l'incorporation de données XML transformées dans une partie d'un
document HTML, je me trompe ?
Avatar
Delf
Pascal PONCET a formulé ce jeudi :

Et bien, les navigateurs récents savent interpréter (parser) directement
un fichier XML qui leur est présenté, et même effectuer la
transformation quand un fichier XSLT lui est lié.



Ah ok. La transformation Xsl ne represente que le body de mes pages.
J'ai donc une sorte de MasterPage tout autour. En appelant directement
le Xml avec la balise lien sur le Xsl, je n'ai plus cette liberté.

Mais peut-être que l'objet du problème était plutôt lié à
l'incorporation de données XML transformées dans une partie d'un
document HTML, je me trompe ?



Mon problème est que la transformation Xsl se base sur des paramètres
au niveau de l'Url, querystring. Et je ne sais pas comment les ajouter
dans la process de la transformation côté Javascript.

Merci.

--
Delf
Avatar
Delf
Delf a pensé très fort :

Comment modifier pour que le passage soit effectif dans les 2 cas ?



Et une autre question : comment passer une namespace JS contenant un
ensemble de méthodes ?

En .NET j'utilise XsltArgument de mémoire puis j'ajouter un attribut
xmlns à la balise stylesheet.

Merci.

--
Delf
Avatar
Delf
Delf vient de nous annoncer :

[...]



Ca y est j'ai trouvé !
Je teste et je post le code ensuite.

--
Delf