Programing

Java로 XSLT 처리?

lottogame 2020. 11. 14. 09:44
반응형

Java로 XSLT 처리?


JDK를 사용하여 Java에서 XSLT 프로세서로 XML을 변환하는 방법은 무엇입니까?


@Raedwald가 말했듯이 변압기에 Java API를 사용하는 샘플은 다음과 같습니다.

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")));
    }
}

입력은 문자열 또는 DOMSource에서 올 수 있으며 출력은 DOMSource 등에서 올 수 있습니다 .


Java 표준 라이브러리는 XML 구문 분석을위한 (XSLT) 변환 인터페이스를 제공합니다. 클래스 javax.xml.transform.Transformerjavax.xml.transform.TransformerFactory.


xslt를 처음 사용합니다. 아무도 Java로 xslt 처리하는 방법을 안내 할 수 있습니까?

이것은 사용중인 Java 기반 XSLT 프로세서에 따라 다릅니다. 각 XSLT 프로세서에는 자체 API가 있습니다.

예를 들어 Saxon 6.5.5 (XSLT 1.0 용) 및 Saxon 9.1.07 (XSLT 2.0 용)은 Java로 작성됩니다. 설명서는 http://www.saxonica.com/documentation/documentation.xml 에 있습니다 .

거의 모든 XSLT 프로세서에는 명령 줄 유틸리티 가있어 XSLT 변환을 수행하기 위해 프로그램을 작성할 필요가 없습니다.

예를 들어, 여기에 있습니다 : 명령 행에서 색슨 9.x의 변환을 시작하는 방법 .

다음은 명령 줄에서 항상 Saxon을 사용하는 방법입니다 .

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%출력 파일의 이름 %xml%, xml 파일, %xsl%기본 xslt 파일 및 %param[ name=\"value\"]%외부 매개 변수의 이름-값 목록입니다 (거의 항상이 항목을 비워 둡니다).


JAXP는 XSLT 변환 작업에 독립적 인 구현 방법을 제공합니다. 다음은 시작하는 데 도움 이되는 자습서 입니다. 거대한 XSLT로 작업하거나 여러 XSLT로 작업하는 경우 성능상의 이유로 구문 분석 된 XSLT 템플릿을 캐싱하는 옵션도 있습니다. 이 기사에서는 xslt를 캐시하는 방법을 설명합니다.

참고 URL : https://stackoverflow.com/questions/4604497/xslt-processing-with-java

반응형