XML 파이프라인
XML pipeline소프트웨어에서 XML 파이프라인은 XML(Extensible Markup Language) 프로세스, 특히 XML 변환과 XML 검증이 연결될 때 형성된다.
예를 들어, T와1 T의2 두 변환이 주어지면 T에1 의해 입력 XML 문서가 변환된 다음 T의1 출력이2 T에 입력 문서로 공급되도록 두 변환을 연결할 수 있다.위에서 설명한 것과 같은 간단한 파이프라인을 선형이라고 하며, 단일 입력 문서는 항상 동일한 변환 순서를 거쳐 단일 출력 문서를 만든다.
선형 연산
선형 연산은 최소한 두 부분으로 나눌 수 있다.
마이크로 오퍼레이션
내부 문서 수준에서 작동함
- 이름 변경 - 내용을 수정하지 않고 요소 또는 특성의 이름 변경
- 바꾸기 - 요소 또는 속성을 대체
- 삽입 - 지정된 지점의 출력 스트림에 새 데이터 요소 추가
- 삭제 - 요소 또는 속성 제거(입력 트리 정리라고도 함)
- 래핑 - 추가 요소로 요소 래핑
- 순서 변경 - 요소의 순서 변경
문서 작업
그들은 입력 문서를 전체적으로 가져간다.
- ID 변환 - 출력에 입력된 데이터를 그대로 복사
- 비교 - 두 개의 문서가 필요하며 비교
- 변환 - 지정된 XSLT 파일을 사용하여 입력 파일에서 변환을 실행하십시오.버전 1.0 또는 2.0을 지정해야 한다.
- 분할 - 단일 XML 문서를 가져와서 고유한 문서로 분할
시퀀스 연산
그것들은 주로 XProc에 도입되며 문서 전체의 순서를 처리하는 것을 돕는다.
- 카운트 - 일련의 문서를 사용하고 카운트
- ID 변환 - 출력물에 대한 문서의 입력 시퀀스를 그대로 복사
- 분할 분할 - 일련의 문서를 입력으로 가져와서 일치 규칙에 따라 다른 출력으로 라우팅
- 줄 바꿈 - 일련의 문서를 입력으로 가져와서 하나 이상의 문서로 포장
비선형
파이프라인의 비선형 운영에는 다음이 포함될 수 있다.
- 조건 — 조건이 충족되는 경우 주어진 변환이 실행되는 반면 다른 변환은 그렇지 않은 경우
- 루프 - 문서에서 선택한 노드 세트의 각 노드에서 변환이 실행되거나 조건이 false로 평가될 때까지 변환이 실행되는 경우
- 티(Te) - 문서가 동시에 발생할 수 있는 여러 변환에 공급되는 위치
- 집계 - 여러 문서가 단일 문서로 집계되는 경우
- 예외 처리 - 처리 실패 시 대체 파이프라인이 처리될 수 있는 경우
일부 표준은 변환을 매크로(전체 파일에 영향을 미치는 변경) 또는 마이크로(요소 또는 속성만 영향을 미치는)로 분류하기도 한다.
XML 파이프라인 언어
XML 파이프라인 언어는 파이프라인을 정의하는 데 사용된다.XML 파이프라인 언어로 작성된 프로그램은 XML 파이프라인 엔진으로 알려진 소프트웨어에 의해 구현되며, 이 프로그램은 프로세스를 생성하고 서로 연결하며 최종적으로 파이프라인을 실행한다.기존 XML 파이프라인 언어에는 다음이 포함된다.
표준
- XProc: XML 파이프라인 언어는 선형 및 비선형 XML 파이프라인을 정의하기 위한 W3C 권장사항이다.
제품별
- W3C XML 파이프라인 정의 언어는 W3C 참고에 지정되어 있다.[2]
- W3C XML Pipeline Language(XPL) 버전 1.0(Draft)은 W3C Submission 및 Orbeon Presentation Server OPS(현재의 Orbeon Forms)의 구성요소(현재의 Orbeon Forms)에 지정되어 있다.이 규격은 이전 버전의 언어를 구현한다.XPL은 조건, 루프, 티, 집계 및 하위 파이프라인으로 복잡한 파이프라인을 선언할 수 있다.XProc는 대략 XPL의 상위 집합이다.[5]
- 코코넛 시트맵은 다른 기능 중에서도 XML 파이프라인 선언을 허용한다.코코넛 시트맵은 XML 파이프라인 개념을 가장 먼저 구현한 것 중 하나이다.
- smallx XML 파이프라인은 smallx 프로젝트에서 사용된다.
- 서빙XML은 파이프라인에서 플랫-XML, XML-플랫, 플랫-플랫 및 XML-XML 변환을 표현하기 위한 어휘를 정의한다.
- XML 파이프라인을 정의하기 위해 PolarLake의 런타임에 사용되는 PolarLake 회로 마크업 언어.회로는 XML 스트림의 조각(대개 색스 또는 DOM 이벤트)이 통과하는 경로 모음입니다.구성요소는 짧은 대기 시간 프로세스에서 스트림(및/또는 외부 세계)과 상호작용하기 위한 경로에 배치된다.
- xmlsh는 xml 및 텍스트 파이프라인을 기본적으로 지원하는 셸 유닉스 기반의 스크립트 언어 [1]
- 스타일러스 스튜디오 XML 파이프라인(Stylus Studio XML Pipeline)은 다음 작업을 정의하는 시각적 문법이다.입력, 출력, XQuery, XSLT, 검증, XSL-FO를 PDF로, XML로 변환, XML에서 변환, 선택, 경고, 중지.
파이프 세밀도
서로 다른 XML 파이프라인 구현은 서로 다른 세분화된 흐름을 지원한다.
- 문서:전체 문서가 파이프를 통해 원자 단위로 흐른다.문서는 한 번에 한 위치만 있을 수 있다.대개는 한 번에 여러 개의 문서가 파이프에 들어갈 수 있다.
- 이벤트: 요소/텍스트 노드 이벤트는 다른 경로를 통해 흐를 수 있다.문서는 동시에 많은 구성요소를 통해 흐를 수 있다.
표준화
2010년 5월까지 XML 파이프라인 언어에 널리 사용되는 표준은 없었다.그러나 W3C XProc 표준이 2010년 5월 현재 W3C 권장사항으로 도입됨에 따라 광범위한 채택을 기대할 수 있다.[6]
역사
- 1972년 벨 연구소의 더글러스 매킬로이(Douglas McIlroy)는 파이프 연산자를 UNIX 명령 셸에 추가한다.이것은 한 셸 프로그램의 출력이 디스크로 가지 않고 다른 셸 프로그램의 입력으로 바로 갈 수 있게 한다.이를 통해 UNIX awk와 sed와 같은 프로그램들은 전문화되었지만 함께 작동될 수 있었다[2].[7]자세한 내용은 파이프라인(유닉스)을 참조하십시오.
- 1993년 션 맥그래스는 SGML 처리를 위한 C++ 툴킷을 개발했다.[8]
- 1998년 스테파노 마조치는 XML 파이프라인을 사용한 최초의 소프트웨어 프로그램 중 하나인 아파치 코쿤의 첫 번째 버전을 출시했다.
- 1998 PolarLake는 XML 파이프라이닝을 포함하는 XML 운영 체제를 구축한다.
- Sun Microsystems의 Norman Walsh와 Eve Maler가 제출한 2002년 노트와 Orbeon의 Erik Bruchez와 Alessandro Vernet이 2005년에 제출한 W3C Submission은 실제 표준화 노력을 전개하기 위한 중요한 단계였다.두 제출물 모두 직접적으로 W3C 권고안이 되었지만, 그것들은 W3C XML 처리 작업 그룹의 핵심 영감의 원천으로 여겨졌다.
- 2005년 9월 W3C XML 처리 작업 그룹이 시작되었다.이 작업 그룹의 태스크는 XML 파이프라인 언어에 대한 규격을 만드는 것이었습니다.
- 2008년 8월, XML 파이프라인 언어인 xmlsh가 Balisage 2008에서 발표되었다.
참고 항목
참조
- ^ "XProc: An XML Pipeline Language". W3.org. Retrieved 2013-06-14.
- ^ "W3C XML Pipeline Definition Language".
- ^ "XML Pipeline Language (XPL) Version 1.0 (Draft)". W3.org. Retrieved 2013-06-14.
- ^ "XML Pipeline Definition Language Version 1.0". W3.org. 2002-02-28. Retrieved 2013-06-14.
- ^ "XML pipelines: XPL and XProc". Orbeon. 22 May 2007. Retrieved 14 March 2012.
- ^ "XProc: An XML Pipeline Language". W3.org. Retrieved 2013-06-14.
- ^ "Early Unix history and evolution". Cm.bell-labs.com. Archived from the original on April 8, 2015. Retrieved 2013-06-14.
- ^ "FAQ". Xpipe.sourceforge.net. 2001-12-09. Retrieved 2013-06-14.
외부 링크
표준
추천 사항
- XProc: XML 파이프라인 언어, W3C 권장 사항 2010년 5월 11일
작업 초안
상품별
- XProc 자습서 및 참조
- Oracle의 XML Pipeline Definition Language Controller 구현 XML 개발자 키트의 일부분, 개별 다운로드 없음
- 코코넛 시테맵
- NetKernel XML 파이프라인
- 파이프라이닝을 통한 복합 문서 생성 관리
- XML 파이프라인 언어(XPL) 설명서
- SXPIpe
- PolarLake 참조 데이터 관리 PolarLake XML 회로 및 참조 데이터 관리
- 스몰렉스
- 서빙엑스ML
- Stylus Studio의 XML Pipeline 구현 - 이 프로그램은 XML 변환을 유효성 검사 및 HTML 정리 등의 XML 파일에 대한 다른 작업과 함께 체인으로 연결할 수 있다.
- IVI XML Pipeline Server XML Pipeline Server는 Stylus Studio XML Pipeline 언어를 구현함
- Norman Walsh의 XProc 웹사이트 - Norman Walsh는 W3C XProc 표준 위원회의 의장이다.
- Yax - 현재 커맨드라인 및 Apache 개미 인터페이스를 갖춘 XProc 구현
- Yahoo! Pipe 사용자가 웹 기반 시각적 환경에서 다중 소스 데이터 매시업을 만들 수 있도록 함
- xmlsh 셸을 기반으로 xml을 조작하기 위한 셸.멀티스레드 xml 및 텍스트 처리 파이프라인 지원
- [3] XSLT에서 XML 파이프라인을 구현하는 방법
- 칼라바시(Calabash)는 XProc의 구현이다.
- Calumet은 EMC의 XProc 구현 방식
- QuiXProc는 Innovimax의 XProc 구현