typesafeEnumBase이 XSD로 설정하면 linkJAXB 바인딩 - 설정 typesafeEnumBase가 비어 (문자열로 열거 변환)하는
그래서 나는 다음 내에 따르면 : 문자열, 모든 단순 유형 정의가 도출 지정 에 글로벌 방법이 될 것입니다 직접적으로 또는 을 xsd : string에서 간접적으로 열거하고 열거 형 패싯을 사용하면 이 형식 보증 열거 형으로 바인딩되어야합니다. typesafeEnumBase가 빈 문자열 ""으로 설정된 경우 간단한 유형 정의는 기본적으로 typesafe enum 클래스에 바인딩되지 않습니다. typesafeEnumBase의 값은 원자 단위의 단순한 형식 정의 (xsd : boolean 및 이진수는 모두 유형 제외)이 될 수 있습니다.
<jxb:globalBindings typesafeEnumBase=""/>
을 나는 다음과 같은 예외가 얻을
jaxb2-maven-plugin
실행할 때 : 지금까지 내가 내가 설정할 수 없습니다 이해lineNumber: 5; columnNumber: 46; cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type '#AnonType_typesafeEnumBaseglobalBindings'. ... lineNumber: 5; columnNumber: 46; cvc-attribute.3: The value '' of attribute 'typesafeEnumBase' on element 'jxb:globalBindings' is not valid with respect to its type, 'null'.
을
binding.xjb
로 설정 빈 문자열
""
~
typesafeEnumBase
에도 불구하고 문서에 그렇게 나와 있습니다. 문서에는 또한
xsd:boolean
일 수 없다고 언급되어 있습니다.
내가 원하는 건은 관련 SO 질문 here하지만 String
에 다음 대신 enum
<xs:simpleType name="phraseID">
<xs:restriction base="escapedStringUserType">
<xs:enumeration value="NOT_SPECIFIED"/>
<xs:enumeration value="X000-9999"/>
<xs:enumeration value="X000-9998"/>
</xs:restriction>
</xs:simpleType>
변환하는 것입니다 나는 빈 문자열 ""
를 설정하거나 답변의 xsd:boolean
값 typesafeEnumBase
에 전혀 설정되지 수 없기 때문에 나를 위해 일한다 (양쪽 다 시험해 보았다).
당신이 인용 한 문서가 잘못 표현되어 있고 빈 문자열에'typesafeEnumBase'를 설정하는 것이 가능하다고 실제로 말하지는 않습니다 - 마치 가상의 상황을 설명하는 것처럼 ("would"이라는 단어의 사용으로 판단 할 때) . [JAXB 명세] (https://jcp.org/en/jsr/detail?id=222)는 이것에 대해서는 아무 말도하지 않는다. 그래서 이것은 이것이 지원되는 것이 아니라는 것을 의미한다고 생각한다. – Jesper
@Jesper, 답장을 보내 주셔서 감사합니다. 다른 솔루션으로 열거 형 대신 문자열을 생성 하시겠습니까? – pleft
열거 제한이있는 특정 단순 유형에는' '를 사용할 수 있지만 이러한 유형 모두에 대해 전역으로 설정하는 방법은 없습니다. –
Jesper