2009-09-29 4 views
1

내가 사용하는 XML 문서를 작성해야 XSD를 사용하여 XML 문서를 생성 내장 된 자바 org.w3c.dom의 또는 XSD 파일 집합에 부합하는 JDOM 패키지로 제공된다. XSD 파일은 유사하지만 동일하지는 않습니다. 본질적으로, 나는 동적으로 주어진 XSD에 따라 XML 파일을 생성해야한다.는 프로그래밍

가장 좋은 방법은 무엇입니까? 유효성 검사기 패키지를 검사했지만 주어진 컨텍스트 노드에서 가능한 요소에 대한 미리보기 또는 반복기와 같은 기능이 없습니다.

이상적으로, 나는 문맥이없는 방식으로 제공하도록 요청하고 때이 요소를 구현하는 아키텍처의 SAX 종류에서 찾고 있어요. 엔진은 모여서 끝에 돔 나무를 주어야합니다.

이 바퀴는 이미 발명 되었습니까?

감사합니다 ..

답변

1

org.w3c.dom는 XML 스키마에 대한 지원이 없습니다. JDOM의 경우, 유효성을 문서에 스키마를 사용할 수 있지만 빌드 문서를 지원하지 않습니다.

  1. 사용 JDOM, 스키마를 읽어 그것을 분석하고 (스키마도 항상 유효한 XML 문서입니다)이 XML 문서에 따라 문서를 생성하기 :

    당신은 두 가지 옵션이 있습니다.

  2. 당신은 Castor 같은 XML 매퍼를 사용할 수 있습니다. Castor는 스키마를 읽고 해당 스키마와 일치하는 문서를 생성 할 수있는 Java 클래스 집합을 생성 할 수 있습니다. 그들은 같은 문서에 정의되지 않는 한 캐스터가 유사한 XSD 구조에 대해 서로 다른 자바 클래스를 생성하기 때문에

후자의 방법은 귀하의 경우 잘 작동하지 않을 수 있습니다, 그래서 당신은 쉽게 공통 코드를 다시 사용할 수 없습니다. 이 문제를 해결하려면 Castor에서 코드를 생성 한 다음 XSD의 공통 부분을 동일한 Java 패키지로 복사/병합하는 스크립트 또는 이와 유사한 것을 작성하십시오.

+0

응답 해 주셔서 감사합니다. 나는 캐스터에 익숙하므로 내 요구 사항에 맞지 않을 것이라고 확신합니다. 아마 JDom이 갈 길입니다. NetBeans 플러그인, XMLSpy, Oxygen 등의 XML 편집기가 상황에 맞는 프롬프트 및 미리보기를 제공 할 수 있는지 궁금합니다. 내가 상자 밖에서 이것을 할 수있는 오픈 소스 라이브러리/프로젝트가 있기를 바랬다. –

+0

Netbeans 또는 Eclipse XML 편집기의 소스를 얻고 살펴 보는 것이 좋습니다. –

1

나는 현재 XSD를 파싱 아닌 XML의 그것의 부분 해제 문서,하지만 다른 뭔가를 만드는 오전. 나는 XSOM이 매우 유용하다는 것을 알았다. this 짧은 튜토리얼을 보시라. 당장 사용법이 명확하지 않으므로. 당신이 그것의 묘리를 터득하고, 제한하고의 오프 XML 파일을 생성하는 데 사용할 수있는 요소를 속성 XSD 즉에서 발견 된 모든 정보를 얻을 수 있습니다 일단

라이브러리 자체

사용하기 어렵지 않다.

+0

감사합니다. 이것은 내가 찾고있는 것에 매우 가깝습니다. –