XMLStarlet
XMLStarlet| 원본 작성자 | 다고베르트 미켈센, 노암 포스탑스키, 미하일 그루신스키 |
|---|---|
| 초기 릴리즈 | 2005년 2월 8일 전() |
| 안정적 해제 | 1.6.1 / 2014년 8월 9일; 전 |
| 기록 위치 | 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로 작성되며 libxml2와 libxslt를 사용한다.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 문서의 법적 구성 요소를 정의한다.