Simple Type : element와 attribute가 없는 텍스트에 대해 타입을 지정.
Complex Type : element와 attribute를 가지는 타입을 정의
<simpleType>
List Types<list> : 하나의 타입의 값들로만 반복(배열과 비슷)
union Types<union> : atomic 혹은 list타입을 가질 수 있음(구조체와 비슷)
facet (<restrict>)
속성이나 element에 대해 제약을 줄 때 사용한다.
base : 제약이 없는 원래의 타입을 적어주는 restrtict element의 attribute
- pattern facet(<pattern>)
값에 대해서 정규 표현을 이용한 제약을 줄 수 있음.
- enumeration facet(<enumeration>)
리스트에 있는 값만 가질 수 있음.
상속<extension>
기존 Base Type을 확장(extension element 안에 base 속성 추가)
complexType의 경우 : element등을 추가 <complexContent> 안에 타입 확장
simpleType의 경우 : element를 제외하고 추가 <simpleContent> 안에 타입 확장
예시) 속성을 가질 수 있고 새로운 타입의 값(내용)을 가지는 element를 정의할때 사용.
스키마의 네임스페이스
① 스키마의 Global 변수는 namespace의 prefix 포함하여야 한다.
예시)
네임 스페이스 지정
<xsd:schema ... xmlns:NS1="my.sample.target.namespace">
(중략) Global변수 선언
<xsd:element name="Element1" type="Type1"/>
(중략) 해당 prefix를 포함하여 타입 참조.
<xsd:element ref="NS1:Element1">
② Global 인스턴스들은 모두 prefix를 가져야 한다.
elementFormDefault = "qualified"
모든 element들이 namespace에 속하도록 한다.
XML스키마 실습.
- User의 id는 "XXX-0000"형태. (X는 알파벳, 0은 숫자)
- 생일의 연, 월, 일이 올바른 값이어야 한다.
'컴퓨터 공부 > XML' 카테고리의 다른 글
[5월 18일 2교시] XPath (0) | 2009.05.18 |
---|---|
[5월 18일 1교시] .NET에서 XML 접근 + XSLT (0) | 2009.05.18 |
[5월 14일 3교시] XML schema 2 (0) | 2009.05.14 |
[5월 14일 2교시] XML namespace + XML schema 1 (0) | 2009.05.14 |
[5월 14일 1교시] XML DTD 실습 (0) | 2009.05.14 |