2017-11-28 14 views
0

java 코드를 사용하여 xml 문서에서 XSD를 만들고 싶습니다. XsdGen & Xbean jar를 사용하여 다른 솔루션을 시도했지만 작동하지 않습니다. http://www.codesuggestions.com/java/how-to-create-xsd-from-xml-using-java-application/도 참조 할 수 있습니다. 내 작업은 XML에서 XSD를 생성 할 수 있습니다. 그리고 그 xml을 변경하면 다른 xsd도 이전 하나의 xsd에 추가 또는 병합됩니다. xml1, xml2 ... xml5 문서 파일이 있습니다.이 모든 xml 문서를 생성합니다. 단 하나의 XSD.어떻게 Java 및 Eclipse를 사용하여 XML 파일에서 XSD를 만들 수 있습니까?

상태 : 가정 나는 xml1.xml 파일이이 XML을위한

<?xml version="1.0" ?> 
    <Student> 
     <RollNo>123</RollNo> 
     <Name>xyz</Name> 
    </student> 

즉, 그것은 수 Student.xsd를 생성하고 난 후, 이전의 XML iexml1.xml을 변경하는 경우는 것을 확인한다 Student.xsd available 또는 available 가능하다면 XSD를 변경하고 그렇지 않으면 새로운 XSD를 구형 XSD에 추가하십시오.

감사합니다.

+0

일반적으로 XML 문서에서 유용한 XSD를 생성 할 수 없습니다. 이것은 단일 프로그램을 검사하여 전체 Java 문법을 생성하려고하는 것과 같습니다. XSD는 스키마에 따라 가능한 모든 XML 파일의 유효성을 검사하는 규칙을 지정합니다. 하나의 XML 파일부터 시작하여 스키마를 추론 할 수는 없습니다. 몇 가지 추측을 할 수 있지만 그 결과는 원하는 것이 아닙니다. –

+0

자동으로 xsd를 생성/생성하는 온라인 편집자가 있습니다. 우리는 또한 어떻게 만들 수 있습니까?하지만 모르는 것입니다. 어떤 아이디어가 있다면 나에게 많은 도움이 될 것입니다. 감사합니다. @ 짐 가리슨. –

+0

그들이 만드는 것은 필연적으로 제공되는 XML과 거의 비슷한 XML에만 적용됩니다. XSD가 유효하다고 생각되지만 샘플에없는 시퀀스 나 구조를 포함하는 다른 XML에 대해서는 XSD가 작동한다는 보장이 없습니다. 또는 툴에 의해 추론 된 제약 사항은 실제 요구 사항에 너무 느슨합니다. 당신이 얻는 무엇 이건을 수동으로 수정해야 할 것으로 예상하십시오. –

답변

1

XML 인스턴스 (또는 인스턴스 집합)에서 XSD를 만드는 도구가 있지만 프로덕션 용도로 적합한 XSD를 만들지는 않습니다. 수동으로 조정해야합니다. 따라서 이것은 Java 응용 프로그램에서 일반적으로 수행하는 작업이 아닙니다.

그 이유는 도구가 추측을해야하기 때문입니다. 샘플 데이터의 모든 가격이 $ 10.00 이상이고 모든 책 제목이 ASCII 문자와 공백으로만 구성되어 있기 때문에 처리하려는 다음 문서의 가격과 제목에도 적용됩니다. 마찬가지로 견본의 모든 서적 요소에 정확히 한 명의 작성자가있는 경우 작성자가없는 책이 포함 된 다음 샘플은 중단되지 않습니다.