XML 파일 샘플에서 DTD (또는 기타 XML 사양 형식)를 도출하는 방법

StackOverflow https://stackoverflow.com/questions/1815216

  •  06-07-2019
  •  | 
  •  

문제

XML 파일의 샘플 세트에서 DTD (또는 기타 XML 구조 사양 형식)를 도출하는 도구를 알고 있습니까?

현재 XML 인코딩 된 DSL에 대한 유일한 (자동) 유효성 검사는 PERL로 작성된 레거시 파서이지만 일관성있는 이유로 모든 PERL 코드를 C-SHARP로 포팅해야합니다.

도움이 되었습니까?

해결책

http://www.stylusstudio.com/dtd_generator.html DTD 생성기를 구현하는 실제 소프트웨어입니다.

http://www.pmg.csail.mit.edu/~chmoh/pubs/wecwis.pdf 필요한 것들에 대한 멋진 종이처럼 보이지만 지금까지 논문의 어느 곳에서나 실제 코드를 찾을 수 없습니다.

다음은 이것에 대한 또 다른 논문이 있습니다. 다시는 코드를 찾을 수 없습니다. http://www.softnet.tuc.gr/~minos/papers/debull03.pdf.

마지막으로, XML을 대신 검사하기 위해 Relax NG 또는 Schematron을 사용하는 것이 좋습니다. 이러한 언어는 훨씬 표현력이 뛰어나서 검증 할 수있는 종류의 종류에서 읽기 쉽고 강력합니다. (XML 스키마를 건너 뛰십시오.

다른 팁

당신이 사용할 수있는 xsd.exe (Visual Studio의 일부) 주어진 XML 파일에 대한 XML 스키마를 생성합니다.

XML 데이터 만 제공하여 온라인 스키마 생성을 위해 다음 링크를 사용할 수 있습니다.http://www.xmlforasp.net/codebank/system_xml_schema/buildschema/buildxmlschema.aspx

무료 인 JetBrains Idea Community Edition을 다운로드 할 수 있습니다. GTD 및 스키마를 생성하기위한 내장 도구가 있습니다.

http://www.jetbrains.com/idea/webhelp/generating-dtd.html

어쩌면 완벽하지는 않지만 뭔가입니다.

다음은 저를 위해 일한 프로그램입니다 dtdgenerator. Java로 컴파일해야하지만 잘 작동합니다. 나는 오랫동안 주변에 있었던 언어에 대한 무료 소프트웨어가 부족하다는 것에 놀랐지 만 이것은 Mozilla Public License 버전 1.0에서 무료입니다.

알토바의 XMLSPY DTD/XML 스키마 생성기가 있습니다.

생성 된 DTD/XML 스키마에는 일반적으로 약간의 조정이 필요합니다. 예를 들어, 도구는 값을 허용하기 위해 "의미"할 때 속성 또는 요소 목록을 열거 할 수 있습니다. 당신은 당신의 문제 공간의 샘플 만 제공하고 있으며, 그것은 특정에서 일반으로 가야합니다. 그런 이유로, 나는 그것이 내 마음을 읽지 못할 때 너무 구부러지지 않습니다.

생성 된 DTD 또는 스키마를 시작점이라고 생각합니다. 0에서 손으로 굴리는 것보다 낫습니다. ER, 기존 XML 문서로 시작하는 경우

생성 된 DTD를 사용하지 않더라도 낯선 XML 문서 세트의 구조를 둘러싼 좋은 방법입니다.

XMLMAX 편집기는 XML 파일에서 XSD를 만듭니다. 무료 평가판 (Registraton/Small 다운로드 파일 없음)이이를 수행합니다. Code 에서이 작업을 수행하려면 .NET Framework에는 XML 파일에서 XSD를 자동으로 생성하는 XMLSCHEMAINFERFERES 클래스가 있습니다.

방금 사용했습니다 http://www.freeformatter.com/xsd-generator.html XML 파일에서 XSD를 생성합니다. 또한 다른 많은 형식의 가능성이 있습니다!

당신은 시도하고 싶을 수도 있습니다 Trang 또는 Instance to Schema Tool (부분의 xmlbeans).

1GB XML 파일로 테스트에 넣었습니다. 결과는 다음과 같습니다.

Trang:

max memory [kB] - 98,480
time [MM:SS] - 0:24

Instance to Schema Tool:

max memory [kB] - 5,993,240
time [MM:SS] - 7:36
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top