xsd에 자식 XSD이 포함되어 있습니다 ("xsd : include"사용). (각 xsd는과 동일한 에 속합니다.) 나는 하나의 패키지 대신 개의 하위 패키지 (각 하위 XSD 당 하나의 하위 패키지)에 jaxb 클래스를 생성하도록 요청 받았다.여러 패키지에서 xsd 세트에 대한 JAXB 클래스를 생성 할 수 있습니까?
내가 지금까지 읽은 내용에 따르면, 우리는 이러한 별도의 XSD를에 jaxb:schemaBindings
를 추가 할 수 있습니다 만 XSD를이 다른 네임 스페이스에 속하는 경우, 별도의 패키지의 클래스를 생성합니다.
내 경우에는, 내가하고 싶은 일은 인 에 속하는 xsds 집합에 대한 여러 하위 패키지로 클래스를 만드는 것입니다. JAXB를 사용하여이 작업을 수행하도록 도와주십시오.
편집 : 내가 조금 더 그것을 명확하게 내 문제에 대해 좀 더 설명을 추가했습니다.
내 모든 XSD에는 다음과 같은 헤더가 있습니다. 따라서 동일한 네임 스페이스.
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:srm="http://www.mycompany.com/srm/"
targetNamespace="http://www.mycompany.com/srm/" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" jaxb:version="2.0" elementFormDefault="qualified"
attributeFormDefault="unqualified" version="1.0">
내 스키마 파일 이름이 A.xsd, B.xsd 및 C.xsd라고 가정 해 봅니다.
C.xsd에서 위에서 언급 한 헤더가있는 일부 요소 (문자열 유형)를 정의했습니다.
B.xsd에서 "xsd : include"태그를 사용하여 C.xsd를 포함 했으므로 C.xsd에 정의 된 복합 유형을 사용하는 complexType 정의가 있습니다 (앞서 언급 한 헤더와 동일 함)
A.xsd에서 "xsd : include"태그를 사용하여 B.xsd를 포함 시켰습니다. 그런 다음 B.xsd에 정의 된 복합 유형을 사용하는 complexType 정의가 있습니다 (앞서 언급 한 헤더와 동일 함)
아래에서 언급 한 것처럼 JAXB 클래스를 생성하고 싶습니다.
com.generate.packageA 패키지에서 생성 할 A.xsd와 관련된 JAXB 클래스.
B.xsd와 관련된 JAXB 클래스는 com.generate.packageB 패키지에서 생성됩니다.
com.generate.packageC 패키지에서 생성 할 C.xsd와 관련된 JAXB 클래스입니다.
혹시 이것에 대한 해결책을 찾았나요? 나는 비슷한 것을 구현하려고하고있다. 해결책이 있었으면한다. – indybee