Traitement XSLT avec Java?

Comment transformer XML avec le processeur XSLT en Java?

Voici un exemple d’utilisation de java api pour transformateur, comme l’a dit @Raedwald:

import javax.xml.transform.*; import javax.xml.transform.stream.StreamResult; import javax.xml.transform.stream.StreamSource; import java.io.File; import java.io.IOException; import java.net.URISyntaxException; public class TestMain { public static void main(Ssortingng[] args) throws IOException, URISyntaxException, TransformerException { TransformerFactory factory = TransformerFactory.newInstance(); Source xslt = new StreamSource(new File("transform.xslt")); Transformer transformer = factory.newTransformer(xslt); Source text = new StreamSource(new File("input.xml")); transformer.transform(text, new StreamResult(new File("output.xml"))); } } 

La bibliothèque standard Java fournit une interface de transformation (XSLT) pour l’parsing XML. Voir la documentation de l’API pour les classes javax.xml.transform.Transformer et javax.xml.transform.TransformerFactory .

Je suis nouveau à xslt. Quelqu’un peut-il me guider comment xslt traitement avec java?

Cela dépend du processeur XSLT basé sur Java que vous utilisez. Chaque processeur XSLT possède sa propre API.

Par exemple, Saxon 6.5.5 (pour XSLT 1.0) et Saxon 9.1.07 (pour XSLT 2.0) sont écrits en Java. La documentation est à l’ adresse http://www.saxonica.com/documentation/documentation.xml

Presque tous les processeurs XSLT ont un utilitaire de ligne de commande , qui ne nécessite pas d’écrire un programme pour effectuer une transformation XSLT.

Par exemple, voici comment démarrer une transformation Saxon 9.x à partir de la ligne de commande .

Voici comment j’utilise toujours Saxon depuis la ligne de commande :

 java -Xms2048M -Xmx10000M -jar C:\xml\Parsers\Saxon\Ver.9.1.0.7\J\saxon9.jar -t -repeat:1 -o %out% %xml% %xsl% %param[ name=\"value\"]% 

%out% est le nom du fichier de sortie, %xml% est le fichier xml, %xsl% est le fichier xslt primaire et %param[ name=\"value\"]% est une liste nom-valeur de parameters externes (Je laisse presque toujours ce vide).

JAXP fournit une manière indépendante de l’implémentation de travailler avec les transformations XSLT. Voici le tutoriel pour vous aider à démarrer. Si vous travaillez avec d’énormes XSLT et / ou avec plusieurs XSLT, vous pouvez également mettre en cache les modèles XSLT analysés pour des raisons de performances. Cet article explique comment mettre en cache les données de xslt