[xml] XML 스키마 (XSD) 유효성 검사 도구? [닫은]

사무실에서는 현재 주어진 스키마에 대해 XML 파일을 생성하는 응용 프로그램을 작성하고 있습니다. .XSD 파일에 스키마가 있습니다.

생성 된 XML이 스키마와 일치하는지 확인하기 위해 자동화 된 테스트에 사용할 수있는 도구 또는 라이브러리가 있습니까?

스키마 검사기를 번들로 제공하지는 않지만 개발 중에 개발자 만 사용할 수 있기 때문에 상업적 용도에 적합한 무료 도구를 선호합니다.

xml 파일을 생성 한 다음 테스트에서 별도의 프로그램을 호출하여 유효성을 검사해야한다고 생각하지는 않지만 개발 언어는 C ++입니다.



답변

몇 가지 연구를 거친 후에 가장 좋은 대답은 Xerces 라고 생각합니다 .Xerces 는 모든 XSD를 구현하므로 크로스 플랫폼이며 널리 사용됩니다. 기본 JRE 파서를 사용하여 명령 줄에서 일반적으로 Xerces 인 유효성을 검사하기 위해 github 에서 작은 Java 프로젝트를 만들었습니다 . 이것은 Windows / Mac / Linux에서 사용할 수 있습니다.

오히려 사용하려는 경우 XercesC ++ 버전 도 있습니다. StdInParse 유틸리티는 명령 줄에서 호출 할 수 있습니다. 또한 아래의 주석 기는 이보다 완전한 래퍼 유틸리티를 가리 킵니다 .

libxml의 일부인 xmllint를 사용할 수도 있습니다 . 이미 설치했을 수 있습니다. 사용법 예 :

xmllint --noout --schema XSD_FILE XML_FILE

한 가지 문제는 libxml이 모든 사양을 구현하지 않으므로 문제가 발생할 수 있다는 것입니다.

또는 Windows를 사용하는 경우 msxml 을 사용할 수 있지만이 DDJ 기사에 설명 된 GUI와 같은 일종의 래퍼가 필요합니다 . 그러나 Windows의 대부분의 사람들은 SteveC가 제안한 Notepad ++ ( Nate의 답변에 설명 된 것처럼 ) 또는 XML Notepad 2007 과 같은 XML 편집기를 사용하는 것 같습니다 ( 여기서는 언급하지 않을 여러 상용 편집기가 있습니다).

마지막으로, 다른 프로그램이 불행히도 다른 결과를 낳게 될 것입니다. 이것은 주로 XSD 사양의 복잡성 때문입니다. 여러 도구를 사용하여 스키마를 테스트 할 수 있습니다.

업데이트 : 나는 이것을 블로그 포스트 에서 확장했습니다 .


답변

XSD에 대한 XML 확인 및 유효성 검사를 제공하는 XML Tools 라는 메모장 ++ 용 플러그인이 있습니다 .

사용 방법은 여기에서 확인할 수 있습니다 .


답변

xmlstarlet 은 다음과 같은 작업을 수행하는 명령 줄 도구입니다.

$ xmlstarlet val --help
XMLStarlet Toolkit : XML 문서 유효성 검사
사용법 : xmlstarlet val <options> [<xml-file-or-uri> ...]
여기서 <옵션>
  -w 또는 --well-formed-올바른 형식 만 검증 (기본값)
  -d 또는 --dtd <dtd-file>-DTD에 대해 유효성 검증
  -s 또는 --xsd <xsd-file>-XSD 스키마에 대해 유효성 검사
  -E 또는 --embed-내장 DTD를 사용하여 유효성 검사
  -r 또는 --relaxng <rng-file>-Relax-NG 스키마에 대해 유효성 검증
  -e 또는 --err : stderr에 자세한 오류 메시지를 인쇄합니다
  -b 또는 --list-bad-유효성을 검사하지 않는 파일 만 나열
  -g 또는 --list-good-유효성을 검사하는 파일 만 나열
  -q 또는 --quiet-파일을 나열하지 않습니다 (반환 결과 코드 만 해당)

참고 : XML 스키마는 아직 불완전하여 완전히 지원되지 않습니다
      libxml2 지원 (http://xmlsoft.org 참조)

XMLStarlet은 쿼리 / 편집 / 체크 / 변환을위한 명령 행 툴킷입니다
XML 문서 (자세한 내용은 http://xmlstar.sourceforge.net/ 참조)

귀하의 경우 사용법은 다음과 같습니다.

xmlstarlet val --xsd your_schema.xsd your_file.xml


답변

Windows의 경우 무료 XML Notepad 2007이 있습니다. XSD를 선택하여 유효성을 검사 할 수 있습니다

업데이트 : XML 도구 플러그인과 함께 메모장 ++을 사용하는 것이 좋습니다.


답변

DecisionSoft 의 온라인 XML 스키마 유효성 검증기 를 사용하면 지정된 스키마와 비교하여 XML 파일을 확인할 수 있습니다.


답변

Xerces를 사용합니다.

http://xerces.apache.org/xerces-c/


답변

http://www.xmlvalidation.com/

“외부 XML 스키마에 대해 유효성 검사”상자를 선택하십시오.