[xml] XML 인스턴스 문서에서 XSD 스키마를 생성하는 도구가 있습니까? [닫은]

XML 인스턴스 문서를 가져 와서 해당 XSD 스키마를 출력하는 도구를 찾고 있습니다.

필자는 생성 된 XSD 스키마가 수동으로 스키마를 만드는 것과 비교할 때 (선택적이거나 반복적 인 요소 또는 데이터 제약 조건을 처리하지 않을 것임) 비교할 때 제한적이지만 적어도 빠른 시작점 역할을 할 수 있음을 알고 있습니다.



답변

마이크로 소프트 XSD 추론 도구는 좋은, 무료 솔루션입니다. XmlSpy (@Garth Gilmour가 언급 함) 또는 OxygenXML Editor와 같은 많은 XML 편집 도구에도 해당 기능이 있습니다. 그러나 다소 비쌉니다. BizTalk Server에는 XSD 유추 도구도 있습니다.

편집 : 방금 .net XmlSchemaInference 클래스를 발견 했으므로 .net을 사용하는 경우 다음을 고려해야합니다.


답변

오픈 소스 및 크로스 플랫폼 옵션 인 inst2xsd를 Apache의 XMLBeans 에서 사용할 수 있습니다 . 나는 그것이 매우 유용하고 쉽다는 것을 알았습니다.

다운로드, 압축 풀기 및 재생 만하면됩니다 (Java 필요).


답변

Trang 이 가장 좋은 옵션입니다. 오픈 소스 및 크로스 플랫폼 (Java가 필요하지만)

트랑 웹 사이트에서 :

Trang은 XML에 대해 서로 다른 스키마 언어를 변환합니다. 다음 언어를 지원합니다

  • RELAX NG (XML 구문)
  • RELAX NG 컴팩트 구문
  • XML 1.0 DTD
  • W3C XML 스키마

지원되는 스키마 언어로 작성된 스키마는 W3C XML 스키마가 입력 용이 아닌 출력용으로 만 지원되는 것을 제외하고 다른 지원되는 스키마 언어로 변환 될 수 있습니다.

Trang은 하나 이상의 예제 XML 문서에서 스키마를 유추 할 수도 있습니다.

다운로드 링크


답변

VS2010에서 XML 파일을 편집기에로드하는 경우 XML 메뉴 >> 스키마 작성을 클릭하십시오.


답변

또한 Github에서XML schema learner 사용할 수 있습니다 .

그것은 걸릴 수 있습니다 여러 XML 파일해당 파일의 모든에서 공통 XSD를 추출 .


답변

.Net을 설치 한 경우 XSD 스키마 및 클래스를 생성하는 도구가 기본적으로 이미 포함되어 있습니다.
나를 위해 XSD 도구는 다음 구조로 설치됩니다. 설치 디렉토리에 따라 다를 수 있습니다.

C:\Program Files\Microsoft Visual Studio 8\VC>xsd
Microsoft (R) Xml Schemas/DataTypes support utility
[Microsoft (R) .NET Framework, Version 2.0.50727.42]
Copyright (C) Microsoft Corporation. All rights reserved.

xsd.exe -
   Utility to generate schema or class files from given source.

xsd.exe <schema>.xsd /classes|dataset [/e:] [/l:] [/n:] [/o:] [/s] [/uri:]
xsd.exe <assembly>.dll|.exe [/outputdir:] [/type: [...]]
xsd.exe <instance>.xml [/outputdir:]
xsd.exe <schema>.xdr [/outputdir:]

일반적으로이 도구가 생성하는 클래스와 스키마는 특히 .Net 언어로 소비하려는 경우 다소 효과적입니다.

필자는 일반적으로 XML 문서를 가져 와서 /o:<your path>플래그가 있는 XSD 도구를 통해 스키마 (xsd)를 생성 한 다음 /classes /L:VB (or CS) /o:<your path>플래그를 사용하여 xsd 파일을 도구를 통해 다시 가져 와서 사용할 수있는 클래스를 얻습니다. 일상에서 .Net 프로젝트


답변

원하는 모든 것이 XSD 인 경우 LiquidXML에는 XSD를 수행하는 무료 버전이 있으며 GUI를 제공하므로 원하는 경우 XSD를 조정할 수 있습니다. 어쨌든 요즘 나는 손으로 직접 XSD를 작성하지만이 앱 덕분에 모든 것이 가능합니다.

http://www.liquid-technologies.com/