XML 변환 언어

XML transformation language
XML에서 XML로의 변환

XML 변환 언어는 입력 XML 문서를 특정 목표를 충족하는 출력 문서로 변환하도록 특별히 설계된 프로그래밍 언어입니다.

다음 두 가지 특별한 전환 사례가 있습니다.

  • XML에서 XML: 출력 문서는 XML 문서입니다.
  • XML에서 데이터: 출력 문서바이트 스트림입니다.

XML에서 XML로

XML에서 XML로 변환하면 XML 문서가 출력되므로 XML에서 XML로 변환 체인이 XML 파이프라인을 형성합니다.

XML에서 데이터로의

XML(Extensible Markup Language)에서 데이터로의 변환에는 몇 가지 중요한 사례가 포함되어 있습니다.HTML 문서는 XML 문서가 아니기 때문에 가장 주목할 만한 것은 XML to HTML(HyperText Markup Language)입니다.

기존 언어

  • XSLT: XSLT는 가장 잘 알려진 XML 변환 언어입니다.XSLT 1.0 W3C 권장사항은 1999년에 XPath 1.0과 함께 발표되었으며 이후 널리 구현되었습니다.XSLT 2.0은 2007년 1월부터 W3C 권장사항이 되어 Saxon 8과 같은 사양의 구현이 이미 제공되고 있습니다.
  • XQuery: 이름에 "query"가 있지만 XQuery는 완전히 기능하는 언어입니다.Microsoft, Oracle, DB2, MarkLogic 등에 의해 사용되는 사실상의 표준으로 XRX 웹 프로그래밍 모델의 기반이 되며 버전 1.0에 대한 W3C 권장 사항이 있습니다.XQuery는 XML 자체에서 작성되지 않기 때문에 구문이 훨씬 가볍습니다.이 언어는 XPath 2.0을 기반으로 합니다.XQuery 프로그램은 XSLT와 같이 부작용을 일으킬 수 없으며 프로그램 구문은 상당히 다르지만 거의 동일한 기능(예를 들어 변수 및 함수 선언, W3C 스키마 유형 사용)을 제공합니다.XQuery는 FOR, WHERE 및 함수 구성(예: fn:concat("<html>), generate-body(), </html>")을 사용하여 로직 구동됩니다.반대로 XSLT는 입력문서의 특정 조건이 작성된 순서대로 실행되는 코드보다 템플릿의 실행을 트리거하는 데이터 구동(푸시 처리 모델)이다.
  • XProc: XProc는 XML 파이프라인 언어입니다.XProc 1.0 W3C 권장사항은 2010년 5월에 발표되었습니다.
  • XML 문서 변환:XML 문서에서 간단한 변환을 수행하기 위한 Microsoft 표준입니다.주로 IIS Web.config 파일(Config Transforms)을 작성하기 위해 다른 구현에서는 일반적인 구성 파일에 빌드 시간(Slow Cheetah) 또는 명령줄(CTT)으로 사용할 수 있습니다.
  • STX: STX(Streaming Transformations for XML)는 XSLT에서 영감을 얻었지만 스트리밍을 방해하지 않는 원패스 변환 프로세스를 허용하도록 설계되었습니다.구현은 Java(Joost) 및 Perl(XML::STX)에서 사용할 수 있습니다.
  • XML 스크립트: XML 스크립트는 XML 구문을 사용하는 Perl에서 영감을 받은 필수 스크립트 언어입니다.XML 스크립트는 입력 트리에서 노드를 선택하기 위한 XPath 및 자체 DSLPath를 지원합니다.
  • FXT: FXT는 기능적인 XML 변환 툴로 Standard ML에 구현되어 있습니다.
  • XDuce: XDuce는 XSLT에 비해 가벼운 구문을 가진 입력 언어입니다.ML로 되어 있습니다.
  • CDuce: CDuceXDuce를 범용 기능 프로그래밍 언어로 확장합니다(CDuce 홈페이지 참조).
  • XACT: XACT는 XML 변환을 프로그래밍하기 위한 Java 기반 시스템입니다.주목할 만한 기능으로는 불변값으로서의 XML 템플릿과 XML 스키마 타입(XACT 홈페이지)을 사용한 타입의 안전성을 확보하기 위한 정적 분석이 있습니다.
  • XFun: XFun은 XML 데이터 트리 간의 변환을 정의하면서 분쇄 명령을 제공하는 기능적 언어 X-Fun입니다.X-Fun은 Frisch의 XStream 언어의 확장으로 이해될 수 있으며 패턴 매칭은 XPath 식을 사용한 트리 탐색으로 대체됩니다.([1]
  • XStream: XStream은 CAML 기반의 XML 문서용 단순한 기능 변환 언어입니다.XStream으로 작성된 XML 변환은 스트리밍으로 평가됩니다.가능한 경우 입력 문서를 해석하는 동안 출력의 일부가 계산되어 생성됩니다.따라서 일부 변환은 메모리에 들어가지도 않는 대용량 XML 문서에 적용될 수 있습니다.XStream 컴파일러는 CeCIL 자유 소프트웨어 라이센스 조건에 따라 배포됩니다.
  • Xtatic: XtaticXDuce에서 C#에 메서드를 적용합니다. Xtatic 홈페이지를 참조하십시오.
  • HaXml: HaXmlHaskell에서 XML 변환을 작성하기 위한 라이브러리 및 도구 모음입니다.또한 1999년에 발행된 HaXml에 대한문서와 IBM developerWorks 기사를 참조하십시오.최신 HXML 및 Haskell XML Toolbox(HXT)도 참조하십시오.이 툴박스는 HaXml 및 HXML의 아이디어를 기반으로 하지만 XML 처리에 대해 보다 일반적인 접근방식을 취하고 있습니다.
  • XMLambda: XMLambda(XM))는 Erik MeijerMark Shields의 1999년 논문에서 기술되어 있습니다.사용할 수 있는 구현이 없습니다.XMLambda 홈페이지를 참조하십시오.
  • FleXML: FleXML은 Kristofer Rose에 의해 최초로 구현된 XML 처리 언어입니다.이 접근방식은 XML DTD에 액션을 추가하여 DTD 규칙의 서브셋에 대한 처리 명령을 지정하는 것입니다.
  • Scala: Scala는 XML 패턴 매칭, 리터럴 및 식과 표준 XML [1]라이브러리의 형태로 XML 변환을 지원하는 범용 기능성 및 객체 지향 언어입니다.
  • LINQ to XML : LINQ to XML은 입니다.NET 3.5 구문 및 프로그래밍 API는 C#, VB 및 기타 일부에서 사용할 수 있습니다.NET 언어LINQ는 주로 쿼리 언어로 설계되었지만 XML 변환도 지원합니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ Fancellu, Dino; Narmontas, William (June 2014). "XML Processing in Scala". XML London 2014: 63–75. doi:10.14337/XMLLondon14.Narmontas01. ISBN 978-0-9926471-1-7.