XMLStarlet

XMLStarlet
XMLStarlet
원본 작성자다고베르트 미켈센, 노암 포스탑스키, 미하일 그루신스키
초기 릴리즈2005년 2월 8일; 17년 전(2005-02-08)
안정적 해제
1.6.1 / 2014년 8월 9일; 7년(2014-08-09)
기록 위치C
운영 체제Unix 유사, Windows, CygWin, Mac OS
유형XML 파서
면허증MIT 라이선스
웹사이트xmlstar원천 포브스그물을 치다

XMLStarlet은 UNIX grep, sed, awk, diff, patch, join 등의 명령과 유사한 방식으로 간단한 셸 명령 집합을 사용하여 XML 문서 및 파일을 조회, 변환, 검증 및 편집하는 명령줄 유틸리티(툴킷) 집합이다.

이 명령줄 유틸리티 세트는 많은 XML 문서를 처리하거나 셸 스크립트로 자동화된 XML 처리를 위해 XPath 쿼리 또는 명령을 즉시 실행하려는 사용자가 사용할 수 있다.

XMLStarlet 유틸리티를 실행하려면 공식 사이트에서 다운로드한 다음 명령이나 실행할 쿼리가 있는 명령줄에 ''xml를 입력하십시오(아래 #예시 참조).

특징들

툴킷의 기능 세트에는 다음과 같은 옵션이 포함된다.

  • XML 파일 확인 또는 검증(단순히 구성된 형식 검사, DTD, XSD, RelaxNG)
  • XML 파일의 XPath 식 값 계산(실행 합계 등)
  • 지정된 XPath 식과 일치하는 XML 파일 검색
  • XML 문서에 XSLT 스타일시트 적용(EXSLT 지원 및 스타일시트에 매개 변수 전달 포함)
  • XML 문서 쿼리(예: 속성, 정렬 등의 일부 요소의 값에 대한 쿼리)
  • XML 문서 수정 또는 편집(예: 일부 요소 삭제)
  • XML 문서 서식 또는 "미화"( 들여쓰기 변경 등)
  • http:// 또는 ftp:// URL을 사용하여 XML 문서 가져오기
  • XML 문서의 트리 구조 찾아보기(디렉토리의 'ls' 명령과 유사한 방식)
  • XInclude를 사용하여 XML 문서를 다른 XML 문서에 포함
  • XML c14n 정식화
  • 입력 텍스트의 특수 XML 문자 이스케이프/탈출 해제
  • 디렉토리를 XML 문서로 인쇄
  • XML을 PYX 형식(ESIS - ISO 8879 기반)으로 변환하거나 그 반대로 변환하십시오.

XMLStarlet 명령줄 유틸리티는 C로 작성되며 libxml2libxslt를 사용한다.XMLStarlet 유틸리티에 대한 광범위한 선택권의 구현은 libxml2와 libxslt 두 라이브러리의 풍부한 기능 집합 때문에만 가능했다. XMLStarlet은 libxml2와 libxslt 둘 다에 정적으로 연결되어 있기 때문에 일반적으로 XML 문서를 처리하는 데 필요한 모든 것은 하나의 실행 파일이다.

XMLStarlet은 상업적 및 비상업적 프로젝트 모두에 대해 무료 사용 및 배포가 가능한 MIT 라이선스에 따라 출시된 오픈 소스 무료 소프트웨어다.

다음 XML 문서 'xmlfile1.xml' 예를 참조하십시오.

<?xml 버전="1.0" 인코딩="utf-8"?> <<wikimedia>> <<프로젝트명="위키피디아" launch="2001-01-05">에디션 언어="영어"en.wikipedia.org[/flossed language="독일어" de.wikipedia.org[/follish language="프랑스어>>fr.wikipedia.org[/follish language="광택">플.wikipedia.org[/note][언어]="스페인어".wikipedia.org</project> </project name="Wiktionary" launch="2002-12-12-12"><edition language="영어"en.wiktionary.org[/follish language="프랑스어>>fr.wiktionary.org</bei></bei>.wiktionary.org[/follish language="터키어>>tr.wiktionary.org[/note][언어]="스페인어".wiktionary.org</project> </project name="위키리크스론칭="2006-10-04">에디션 언어="영어"엔.wikileaks.org</영화</프로젝트> </연예> </연예백과>

명령 프롬프트에서 위의 XML 파일 'xmlfile1.xml'에서 다음과 같은 5개의 XPath 쿼리가 실행된다.

  • 예 1: 모든 프로젝트에 대한 모든 이름 속성을 선택하는 XPath 식입니다.
$ xml sel -t -v "//wikimedia/프로젝트/@name" xmlfile1.xml 위키백과 위키리스크
  • 예 2: 마지막 Wikimedia 프로젝트의 모든 속성을 선택하는 XPath 식입니다.
$ xml sel -t "/wikimedia/프로젝트/프로젝트[last()]/@*" xmlfile1.xml Wikileaks 2006-10-04
  • 예 3: 모든 Wiktionary 버전의 주소(Wiktionary의 이름 속성을 가진 프로젝트 요소 아래에 존재하는 모든 버전 요소의 텍스트)를 선택하기 위한 XPath 표현식.
$ xml sel -t -v "/dvimedia/project/project[@name=]Wiktionary']/편집/편집" xmlfile1.xml en.wiktionary.org fr.wiktionary.org vi.wiktionary.org tr.wiktionary.org es.wiktionary.org
  • 예제4:터키어와 스페인어(Turkish어가 아닌 모든 언어)가 다른 모든 위키미디어 위키트리노 버전의 주소를 선택하는 XPath 표현식.
$ xml sel -t -v "/dvimedia/project/project[@name=]Wiktionary']/편집/편집 [@언어!='터키어'와 @언어!='Spanish']" xmlfile1.xml en.wiktionary.org fr.wiktionary.org vi.wiktionary.org
  • 예 5: 에디션 목록에서 위치가 3보다 크거나 같은 에디션의 모든 속성을 선택하는 XPath 식입니다.
$ xml self -t "/wikimedia/프로젝트/프로젝트/편집[위치() >3]/@*" xmlfile1.xml 프랑스어 스페인어 베트남어 터키어 스페인어

XML 문서는 다음과 같이 'xsdfile.xsd' 파일에 저장된 XSD 스키마에 대해 검증될 수 있다.

$ xml val -e -s xsdfile.xsd xmlfile1.xml xmlfile1.xml - 유효함

참고 항목

  • XML(Extensible Markup Language)은 사람이 읽을 수 있고 기계가 읽을 수 있는 형식으로 문서를 인코딩하는 규칙 집합을 정의하는 마크업 언어다.
  • XPath(XML Path Language)는 XML 문서에서 노드를 선택하기 위한 쿼리 언어다.
  • XSLT(Extensible Stylesheet Language Transformations)는 XML 문서를 다른 XML 문서 또는 웹 페이지용 HTML, 일반 텍스트 등의 다른 형식으로 변환하기 위한 언어다.
  • 문서 유형 정의(DTD)는 XML 문서의 법적 구성 요소를 정의한다.

메모들

외부 링크