XML Schema attribute 요소
정의 및 사용법
attribute 요소는 속성을 정의합니다.
요소 정보
출현 횟수 | schema 요소에서 한 번 정의합니다. 복잡한 유형이나 속성 그룹에서 여러 번 참조할 수 있습니다. |
부모 요소 | attributeGroup, schema, complexType, restriction (simpleContent), extension (simpleContent), restriction (complexContent), extension (complexContent) |
내용 | annotation, simpleType |
문법
<attribute default=string fixed=string form=qualified|unqualified id=ID name=NCName ref=QName type=QName use=optional|prohibited|required any attributes > (annotation?,(simpleType?)) </attribute>
(? 기호는 이 요소가 attribute 요소에 최대 1회 사용될 수 있음을 나타냅니다。)
속성
default
선택 사항. 속성의 기본 값을 정의합니다. default와 fixed 속성은 동시에 사용할 수 없습니다.
fixed
선택 사항. 속성의 고정된 값을 정의합니다. default와 fixed 속성은 동시에 사용할 수 없습니다.
form
선택 사항. 속성의 형식을 정의합니다. 기본 값은 속성을 포함하는 schema 요소의 attributeFormDefault 속성의 값입니다. 다음 값 중 하나로 설정할 수 있습니다:
- "qualified" - 이름 공간 접두어와 이 속성의 이름 없는 이름 (NCName)을 통해 이 속성을 지정해야 합니다.
- "unqualified" - 이 속성에 대해 이름 공간 접두어가 필요하지 않으며, 이 속성의 이름 없는 이름 (NCName)과 일치하지 않아야 합니다. 즉, 로컬 이름입니다.
id
선택 사항. 이 요소의 유일한 ID를 정의합니다.
name
선택 사항. 속성의 이름을 정의합니다. name과 ref 속성은 동시에 나타날 수 없습니다.
ref
선택 사항. 지정된 속성에 대한 참조를 정의합니다. name과 ref 속성은 동시에 나타날 수 없습니다. ref가 나타났을 때, simpleType 요소, form 및 type은 나타날 수 없습니다.
type
선택 사항. 내장된 데이터 유형이나 간단한 유형을 정의합니다. type 속성은 content에 simpleType 요소가 포함되지 않았을 때만 나타날 수 있습니다.
use
선택 사항. 이 속성을 사용하는 방법을 정의합니다. 아래의 값 중 하나를 설정할 수 있습니다:
- 선택 사항 - 속성은 선택 사항이며 어떤 값도 가질 수 있습니다(기본값).
- 제한 - 속성을 사용할 수 없습니다.
- 필수 - 속성이 필요합니다.
any attributes
선택 사항. non-schema 이름 공간을 가진 다른 속성을 정의합니다.
인스턴스
예제 1
<xs:attribute name="code"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="[A-Z][A-Z]"/> </xs:restriction> </xs:simpleType> </xs:attribute>
위의 예제는 "code" 속성이 제한이 있다고 나타냅니다. 받아들이는 유일한 값은 대문자 A부터 Z까지의 두 글자입니다.
예제 2
복잡한 유형에서 이미 있는 속성 정의를 사용하여 속성을 선언하려면 ref 속성을 사용하십시오:
<xs:attribute name="code"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="[A-Z][A-Z]"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:complexType name="someComplexType"> <xs:attribute ref="code"/> </xs:complexType>
예제 3
속성은 기본 값도 있을 수 있고, 지정된 고정 값도 있을 수 있습니다. 기타 값이 지정되지 않았을 때, 자동으로 속성에 기본 값을 부여합니다. 아래의 예제에서 기본 값은 "EN"입니다:
<xs:attribute name="lang" type="xs:string" default="EN"/>
기타 값이 지정되지 않았을 때, 자동으로 속성에 고정 값이 부여됩니다. 하지만 기본 값과 달리, 속성에 고정 값 이외의 다른 값을 지정하면 문서가 유효하지 않다고 검증됩니다. 아래의 예제에서 고정 값은 "EN"입니다:
<xs:attribute name="lang" type="xs:string" fixed="EN"/>
예제 4
모든 속성은 기본적으로 선택적입니다. 속성을 선택적으로 명확히 지정하려면 "use" 속성을 사용하십시오:
<xs:attribute name="lang" type="xs:string" use="optional"/>
속성을 필수 속성으로 만드는 방법:
<xs:attribute name="lang" type="xs:string" use="required"/>