XSD 속성
모든 속성은 단순 유형으로 선언됩니다.
속성이란 무엇입니까?
단순 요소는 속성을 가질 수 없습니다. 요소에 속성이 있으면 복합 유형으로 간주됩니다. 그러나 속성 자체는 항상 단순 유형으로 선언됩니다.
속성을 정의하는 방법?
속성을 정의하는 구문은 다음과 같습니다.
<xs:attribute name="xxx" type="yyy"/>
여기서 xxx는 속성의 이름이고 yyy는 속성의 데이터 유형을 지정합니다.
XML 스키마에는 많은 내장 데이터 유형이 있습니다. 가장 일반적인 유형은 다음과 같습니다.
- xs:문자열
- xs:십진수
- xs:정수
- xs:부울
- xs:날짜
- xs:시간
예시
다음은 속성이 있는 XML 요소입니다.
<lastname lang="EN">Smith</lastname>
다음은 해당 속성 정의입니다.
<xs:attribute name="lang" type="xs:string"/>
속성의 기본값 및 고정 값
속성에는 기본값 또는 지정된 고정 값이 있을 수 있습니다.
다른 값이 지정되지 않으면 기본값이 속성에 자동으로 할당됩니다.
다음 예에서 기본값은 "EN"입니다.
<xs:attribute name="lang" type="xs:string" default="EN"/>
고정 값도 속성에 자동으로 할당되며 다른 값을 지정할 수 없습니다.
다음 예에서 고정 값은 "EN"입니다.
<xs:attribute name="lang" type="xs:string" fixed="EN"/>
선택 및 필수 속성
속성은 기본적으로 선택 사항입니다. 속성이 필수임을 지정하려면 "use" 속성을 사용하십시오.
<xs:attribute name="lang" type="xs:string" use="required"/>
콘텐츠 제한
XML 요소 또는 속성에 데이터 유형이 정의되어 있으면 요소 또는 속성의 내용에 제한이 적용됩니다.
XML 요소가 "xs:date" 유형이고 "Hello World"와 같은 문자열을 포함하는 경우 요소의 유효성을 검사하지 않습니다.
XML 스키마를 사용하여 XML 요소 및 속성에 고유한 제한 사항을 추가할 수도 있습니다. 이러한 제한을 패싯이라고 합니다. 패싯에 대한 자세한 내용은 다음 장에서 읽을 수 있습니다.