32.5. Saxon 활성화


32.5.1. 사전 요구 사항

Saxon 구문 분석기를 사용하기 위한 사전 요구 사항은 camel-saxon 아티팩트에 종속성을 추가합니다(Maven POM에 종속성을 추가하거나 Maven POM을 사용하는 경우, 또는 camel-saxon-2.23.2.fuse-7_10_0-00018-redhat-00001.jar 파일을 classpath에 추가하는 것입니다.

32.5.2. Java DSL에서 Saxon 구문 분석기 사용

Java DSL에서 Saxon 구문 분석기를 활성화하는 가장 간단한 방법은 saxon() fluent 빌더 메서드를 호출하는 것입니다. 예를 들어 다음 예와 같이 Saxon 구문 분석기를 호출할 수 있습니다.

// Java
// create a builder to evaluate the xpath using saxon
XPathBuilder builder = XPathBuilder.xpath("tokenize(/foo/bar, '_')[2]").saxon();

// evaluate as a String result
String result = builder.evaluate(context, "<foo><bar>abc_def_ghi</bar></foo>");

32.5.3. XML DSL에서 Saxon 구문 분석기 사용

XML DSL에서 Saxon 구문 분석기를 활성화하는 가장 간단한 방법은 xpath 요소에서 saxon 속성을 true로 설정하는 것입니다. 예를 들어 다음 예와 같이 Saxon 구문 분석기를 호출할 수 있습니다.

<xpath saxon="true" resultType="java.lang.String">current-dateTime()</xpath>

32.5.4. Saxon을 사용한 프로그래밍

애플리케이션 코드에서 Saxon XML 구문 분석기를 사용하려면 다음 코드를 사용하여 명시적으로 Saxon transformer 팩토리 인스턴스를 생성할 수 있습니다.

// Java
import javax.xml.transform.TransformerFactory;
import net.sf.saxon.TransformerFactoryImpl;
...
TransformerFactory saxonFactory = new net.sf.saxon.TransformerFactoryImpl();

반면 generic CryostatP API를 사용하여 transformer 팩토리 인스턴스를 생성하려면 먼저 ESBInstall/etc/system.properties 파일에서 javax.xml.transform.TransformerFactory 속성을 설정해야 합니다.

javax.xml.transform.TransformerFactory=net.sf.saxon.TransformerFactoryImpl

그런 다음 일반 CryostatP API를 사용하여 다음과 같이 Saxon 팩토리를 인스턴스화할 수 있습니다.

// Java
import javax.xml.transform.TransformerFactory;
...
TransformerFactory factory = TransformerFactory.newInstance();

애플리케이션이 Saxon을 사용하는 타사 라이브러리에 종속되는 경우 두 번째 일반적인 접근 방식을 사용해야 할 수 있습니다.

참고

Saxon 라이브러리는 OSGi 번들인 net.sf.saxon/saxon9he 로 컨테이너에 설치해야 합니다(일반적으로 기본적으로 설치됨). 7.1 이전 버전의 Fuse ESB에서는 일반 CryostatP API를 사용하여 Saxon을 로드할 수 없습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.