34.2. 제한 사항을 정의하는 간단한 유형
34.2.1. 개요 링크 복사링크가 클립보드에 복사되었습니다!
XML 스키마를 사용하면 다른 기본 형식 또는 단순 형식에서 새 형식을 파생하여 간단한 형식을 만들 수 있습니다.XML Schema allows you to create simple types by deriving a new type from another primitive type or simple type. 간단한 형식은 simpleType
요소를 사용하여 설명합니다.
새 유형은 기본 유형 을 하나 이상의 facet로 제한하여 설명합니다. 이러한 facets는 새 유형에 저장될 수 있는 유효한 값을 제한합니다. 예를 들어 정확히 9자인 SSN이라는 간단한 유형을 정의할 수 있습니다.For example, you could define a simple type, SSN
, which is a string
of exactly 9 characters.
각 기본 XML 스키마 유형에는 고유한 선택적 facet 세트가 있습니다.
34.2.2. 절차 링크 복사링크가 클립보드에 복사되었습니다!
사용자 고유의 간단한 유형을 정의 하려면 다음을 수행 합니다.To define your own simple type do the following:
- 새 단순 유형의 기본 유형을 결정합니다.
- 선택한 기본 유형에 대해 사용 가능한 facet에 따라 새 유형을 정의하는 제한 사항을 결정합니다.
-
이 섹션에 표시된 구문을 사용하여 적절한
simpleType
요소를 계약의 types 섹션에 입력합니다.
34.2.3. XML 스키마로 간단한 유형 정의 링크 복사링크가 클립보드에 복사되었습니다!
예 34.1. “간단한 유형 구문” 는 간단한 유형을 설명하는 구문을 보여줍니다.
예 34.1. 간단한 유형 구문
형식 설명은 simpleType
요소에 묶여 있으며 name
특성의 값으로 식별됩니다. 새 단순 유형이 정의되는 기본 유형은 xsd:restriction
요소의 기본
특성으로 지정됩니다. 각 facet 요소는 제한
요소 내에서 지정됩니다. 사용 가능한 facet 및 유효한 설정은 기본 유형에 따라 다릅니다. 예를 들어 xsd:string
에는 다음을 포함한 여러 facet가 있습니다.
-
길이
-
minLength
-
maxLength
-
패턴
-
whitespace
예 34.2. “우편 코드 간단한 유형” 미국 상태에 사용되는 두 문자 우편 코드를 나타내는 간단한 유형에 대한 정의를 보여줍니다. 대문자는 두 개만 포함할 수 있습니다. TX
는 유효한 값이지만 tx
또는 tX
는 유효한 값이 아닙니다.
예 34.2. 우편 코드 간단한 유형
<xsd:simpleType name="postalCode"> <xsd:restriction base="xsd:string"> <xsd:pattern value="[A-Z]{2}" /> </xsd:restriction> </xsd:simpleType>
<xsd:simpleType name="postalCode">
<xsd:restriction base="xsd:string">
<xsd:pattern value="[A-Z]{2}" />
</xsd:restriction>
</xsd:simpleType>
34.2.4. Java로의 매핑 링크 복사링크가 클립보드에 복사되었습니다!
Apache CXF는 간단한 유형의 기본 유형의 Java 유형에 사용자 정의 간단한 유형을 매핑합니다. 따라서 예 34.2. “우편 코드 간단한 유형” 에 표시된 간단한 유형의 postalCode
를 사용하는 모든 메시지는 postalCode
의 기본 유형이 xsd:string
이므로 String
에 매핑됩니다. 예를 들어 예 34.3. “간단한 유형의 크레딧 요청” 에 표시된 WSDL 조각은 문자열
의 매개 변수인 postalCode
를 사용하는 Java 메서드 state()
가 생성됩니다.
예 34.3. 간단한 유형의 크레딧 요청
34.2.5. facet 강제 링크 복사링크가 클립보드에 복사되었습니다!
기본적으로 Apache CXF는 간단한 유형을 제한하는 데 사용되는 facet를 적용하지 않습니다. 그러나 스키마 유효성 검사를 활성화하여 facet를 적용하도록 Apache CXF 엔드포인트를 구성할 수 있습니다.
스키마 유효성 검사를 사용하도록 Apache CXF 끝점을 구성하려면 schema-validation-enabled
속성을 true
로 설정합니다. 예 34.4. “서비스 공급자 구성 스키마 유효성 검사 사용” 스키마 유효성 검사를 사용하는 서비스 공급자의 구성을 보여줍니다.
예 34.4. 서비스 공급자 구성 스키마 유효성 검사 사용
스키마 유효성 검사 구성에 대한 자세한 내용은 24.3.4.7절. “스키마 유효성 검사 유형 값” 을 참조하십시오.