2010-08-11 10 views
1

코드 생성 도구 xjc 코드 생성 도구를 사용하여 *.xsd 개의 파일 패키지에서 Java 소스 파일을 생성하려고합니다.XJC 생성 네임 스페이스

com.domain.foo.bar.x과 장소는 생성 된 자바 파일을 다음과 같이

http://www.domain.com/foo/bar.x 
http://www.domain.com/foo/bar.x.y 
http://www.domain.com/foo/bar.x.y.z 

XJC 패키지를 생성합니다 그 *에 사용

네임 스페이스는 다음과 같은 파일이 .XSD 이 XSD 네임 스페이스 "... X"와 "... XY"에서

com.domain.foo.bar.x_y과 장소가 ... "XYZ"XSD 네임 스페이스

에서 자바 파일을 생성 내가 여기에 달성하고 싶은 무엇

적절한입니다 :

com.domain.foo.bar.x 
com.domain.foo.bar.x.y 
com.domain.foo.bar.x.y.z package names 

이 어떻게 든 수 있습니까? 아마도 사용자 정의 JAXB 바인딩을 사용하고 있습니까? 나는 jaxb 커스텀 바인딩 문서를 연구했지만 가능한지 확신 할 수 없다.

기본적으로 xjc은 "/"및 "." 패키지 분리 자로.

도움을 주시면 감사하겠습니다.

ADALBERT

+0

특정 XSD 파일에 대한 사용자 지정 바인딩을 제공하여이 문제를 부분적으로 해결할 수있었습니다 –

답변

6

사용 jaxb:package 사용자 정의 :

<jaxb:bindings 
    xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    jaxb:version="2.1"> 

    <jaxb:bindings schemaLocation="schema.xsd" node="/xsd:schema"> 
     <jaxb:schemaBindings> 
      <jaxb:package name="com.domain.foo.bar.x.y.z"/> 
     </jaxb:schemaBindings> 
    </jaxb:bindings> 
</jaxb:bindings> 

또는 당신이 http://www.domain.com/foo/bar/x/y/z에 네임 스페이스 이름을 바꿀 수 있습니다.