XML 스트리밍 변환

Streaming Transformations for XML

Streaming Transformations for XML(STX)XSLT 버전 1.0 및 2.0을 대체하는 고속 저메모리 소비용 XML 변환 언어입니다.XSLT 3.0의 현재 작업에는 스트리밍 기능이 포함되어 있습니다.

개요

STX는 스트림 기반 XML의 효율적인 처리를 위한 XML 표준입니다. 기본 XSLT는 스트림 기반 처리에 적합하지 않으며 STX가 이 틈새를 채웁니다.

기존의 XML 처리에서는 XML 문서 전체를 메모리에 로드하여 사용할 수 있습니다.반대로 SAX는 "open element", "close element", "text node" 등의 XML 이벤트를 스트리밍하여 다른 소프트웨어가 파일 끝에 도달하기 전에 즉시 정보 해석을 시작할 수 있도록 합니다.유감스럽게도 일부 소프트웨어는 XML fragment를 이러한 방식으로 효과적으로 사용할 수 없으며 처리를 시작하려면 문서 전체를 작성해야 합니다.XSLT도 마찬가지입니다.XSLT의 XPath는 문서 전체에서 임의의 노드를 선택할 수 있으므로 문서 전체를 메모리에서 사용할 수 있어야 합니다.

STX는 현재 노드를 즉시 둘러싼 쿼리만 허용하므로 SAX 이벤트 노드가 도착하는 즉시 변환 및 출력을 시작할 수 있습니다.처리 직후 노드를 폐기할 수 있어 메모리 사용량이 XSLT에 비해 크게 줄어든다.제한된 질의 범위를 갖는 것이 STX의 결정적인 특징입니다.

이러한 아키텍처 결정은 STX를 틈새 언어로 의도적으로 소외시킵니다.실제로 STX가 범용 변환 언어라고 말하는 것은 잘못이지만, STX가 귀사의 변환 요구를 충족할 수 있다면 효율적이고 현명한 선택입니다.

사양

STX의 쿼리 언어는 STXPath라고 하며 XPath 2.0을 기반으로 합니다.

STX의 구현은 Java 및 Perl제공됩니다.

유사한 프로젝트

XML 구문을 사용하여 선언된 STX와 달리 이러한 두 프로젝트는 SAX 이벤트를 콜백 함수와 연결합니다.

외부 링크