Normaalgesproken kun je vanuit XML een XSL stylesheet aanroepen met <?stylesheet......?> maar omdat ik mijn pagina voor meerdere platforms (WAP,HTTP) beschikbaar wil maken zou het handiger zijn om vanuit de XSL de XML aan te roepen in plaats van andersom. Is dit mogelijk ?? Of moet ik serverside met XML transformers gaan werken ??
Het is inderdaad wel vervelend dat je in een XML document moet aangeven wat de stylesheet is. Dat is heel onlogisch omdat je juist vaak meerdere stylesheets zou willen gebruiken. Eigenlijk zou er een standaard moeten zijn voor het specificeren van een xsl stylesheet en een xml document.
Je kunt het probleem eenvoudig oplossen door gebruik te maken van de document function in XSL. Je kan nu een aparte XML file maken, die bijvoorbeeld alleen de locatie van de echte XML file bevat. In de stylesheet apply je de templates op deze XML file. Je hebt dan dus in feite de bovenstaande standaard geimplementeerd
.
Je kunt het probleem eenvoudig oplossen door gebruik te maken van de document function in XSL. Je kan nu een aparte XML file maken, die bijvoorbeeld alleen de locatie van de echte XML file bevat. In de stylesheet apply je de templates op deze XML file. Je hebt dan dus in feite de bovenstaande standaard geimplementeerd
Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment
En hoe doe ik dat dan ?? En werkt dit ook met alle xsl processors ??
Je kan in een stylesheet het volgende doen:
Je kan dan dus een XML doc maken waarin de url staat. Daarna maak je een stylesheet waarin je dit hierboven gebruikt...
Het werkt in alle XSL engines die de document functie ondersteunen. Deze functie is gewoon standaard, dus ze zouden het allemaal moeten kunnen.
code:
1
| <xsl:apply-templates select="document('url')"/> |
Je kan dan dus een XML doc maken waarin de url staat. Daarna maak je een stylesheet waarin je dit hierboven gebruikt...
Het werkt in alle XSL engines die de document functie ondersteunen. Deze functie is gewoon standaard, dus ze zouden het allemaal moeten kunnen.
Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment
OK. Werkt dit ook in combinatie met de Java XSL/XML processors zoals Apache Xerces/Xalan en JAXB ??
JAXB heeft hier niet direct iets mee te maken, maar het werkt in ieder geval met XalanMisterData: OK. Werkt dit ook in combinatie met de Java XSL/XML processors zoals Apache Xerces/Xalan en JAXB ??
Overigens blijft het natuurlijk wel een work-around. Als je makkelijk dynamische XML kan opleveren zou ik dat misschien liever gebruiken.
Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment
Pagina: 1