34.5. unions
34.5.1. 개요
XML 스키마에서 공용체는 여러 가지 간단한 유형 중 하나일 수 있는 데이터 형식을 설명할 수 있는 구문입니다. 예를 들어 값이 정수 1 또는 문자열 first 인 형식을 정의할 수 있습니다. 공용 연결은 Java 문자열s에 매핑됩니다.
34.5.2. XML 스키마로 정의
XML 스키마 결합은 simpleType 요소를 사용하여 정의됩니다. 공용 공용체의 멤버 유형을 정의하는 하나 이상의 union 요소를 포함합니다.Contains at least one union element that defines the member types of the union. 공용체의 멤버 유형은 공용체의 인스턴스에 저장될 수 있는 유효한 데이터 유형입니다. union 요소의 memberTypes 특성을 사용하여 정의됩니다. memberTypes 속성 값에는 정의된 하나 이상의 간단한 형식 이름 목록이 포함되어 있습니다. 예 34.13. “간단한 연합 유형” 정수 또는 문자열을 저장할 수 있는 공용체의 정의를 표시합니다.Shows the definition of a union that can store either an integer or a string.
예 34.13. 간단한 연합 유형
<simpleType name="orderNumUnion"> <union memberTypes="xsd:string xsd:int" /> </simpleType>
명명된 형식을 멤버 유형으로 지정하는 것 외에도 anonymous simple type을 union의 멤버 유형으로 정의할 수도 있습니다.In addition to specifying named types as a member type of a union, you can also define an anonymous simple type as a member type of a union. 이 작업은 union 요소 내에 anonymous type 정의를 추가하여 수행됩니다. 예 34.14. “익명의 멤버 유형과의 연결” 유효한 정수의 가능한 값을 1에서 10까지 제한하는 익명 멤버 유형이 포함된 union의 예를 보여줍니다.
예 34.14. 익명의 멤버 유형과의 연결
<simpleType name="restrictedOrderNumUnion">
<union memberTypes="xsd:string">
<simpleType>
<restriction base="xsd:int">
<minInclusive value="1" />
<maxInclusive value="10" />
</restriction>
</simpleType>
</union>
</simpleType>34.5.3. Java에 매핑
XML 스키마 결합 유형은 Java String 개체에 매핑됩니다. 기본적으로 Apache CXF는 생성된 오브젝트의 콘텐츠를 검증하지 않습니다. Apache CXF가 콘텐츠의 유효성을 검사하려면 “facet 강제” 에 설명된 대로 스키마 검증을 사용하도록 런타임을 구성해야 합니다.