91 votes

Traitement XSLT avec Java?

Comment transformer XML avec le processeur XSLT en Java?

169voto

Askar Kalykov Points 767

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(String[] 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")));
    }
}
 

13voto

Dimitre Novatchev Points 147842

Je suis nouveau sur xslt. Quelqu'un peut-il me guider comment xslt avec java?

Cela dépend de Java à base de processeur XSLT vous utilisez. Chaque processeur XSLT a 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 à http://www.saxonica.com/documentation/documentation.xml

Presque tous les processeurs XSLT avoir un utilitaire de ligne de commande, qui ne nécessite pas l'écriture d'un programme, dans le but d'effectuer une transformation XSLT.

Par exemple, ici, est: comment faire pour démarrer un Saxon 9.x la transformation de la ligne de commande.

Voici comment je l'utilise toujours Saxon à partir de 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 principal fichier xslt et %param[ name=\"value\"]% est un nom de la liste de valeurs de paramètres extérieurs (j'ai presque toujours laisser ce vide).

10voto

Raedwald Points 8862

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

6voto

Pangea Points 36713

JAXP fournit une mise en œuvre indépendante de la façon de travailler avec des transformations XSLT. Voici le tutoriel pour vous aider à démarrer. Si vous travaillez avec d'énormes XSLT et/ou de travailler avec de multiples XSLT, puis il ya aussi une option de mise en cache de l'analyse des modèles XSLT pour des raisons de performances. Cet article explique comment mettre en cache de xslt

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X