XML문서의 유효성을 검사하기위해 사용하는 DTD의 한계로 인해 나타난 새로운 표준.
XML문서의 구조를 정의하며 XSD는 w3c.org에서 표준을 정했다. 그 모든 내용은
http://www.w3.org/TR/xmlschema-0/ (Primer)
http://www.w3.org/TR/xmlschema-1/ (Structure)
http://www.w3.org/TR/xmlschema-2/ (Data Type)
에서 확인 가능.
동명대 컴공과 자료
XML Schema에 대한 온라인 튜토리얼 제공 사이트
http://www.w3schools.com/Schema/default.asp
XML문서로부터 XSD를 생성해 주는 커맨드라인 도구
http://thaiopensource.com/relaxng/trang.html
출처 - http://www.yunsobi.com/blog/394
=============================================================================================
▶ XSD 기본 구조
<element name="주소록"> <!-- '주소록' 요소 정의 --> <complexType> <!-- 하위 요소를 포함한 복잡한 구조라는 뜻 --> <sequence> <!-- 다음에 오는 요소들은 생략할 수 없고, 정의된 순서대로 와야 한다는 뜻 --> <element name="멤버" minOccurs="0" maxOccurs="unbounded"> <!-- 멤버 요소는 0 ~ 무제한 등장할 수 있다 --> <complexType> <sequence> <element name="이름" type="string" /> <!-- 데이터형은 string 이다. --> <element name="전화번호" type="string" /> </sequence> <attribute name="연번" type="positiveInteger" /> <!-- 속성 선언 --> </complexType> </element> </sequenct> </complexType> </element>
|
▶ <element> : 요소를 정의한다.
- name 속성 : 요소명의 정의
- minOccurs 속성 : 최소 등장 횟수를 정의 / 생략시 기본값은 1 이다.
- maxOccurs 속성 : 최대 등장 횟수를 정의 / 생략시 기본값은 1 이다. / unbounded : 무한대 등장 가능
- type 속성 : 요소의 데이터 형을 정의 / xsd 접두어를 사용하여 XSD를 사용한다면 데이터 형 앞에도 xsd 접두어를 붙여줘야 한다.
<xsd:element name="전화번호" minOccurs="0" maxOccurs="unbouded" type="xsd:string" />
▶ <complexType> vs <simpleType>
- complexType : 요소가 하위 요소와 속성을 포함하는 복잡한 구조라는 뜻이다.
- simpleType : 요소가 하위 요소와 속성은 없고, 데이터만을 가질 때, 제약을 가하는 용도로 사용
▶ 복합자(compositor) : <sequence> vs <choice> vs <all>
※ <complexType> 다음에는 반드시 복합자가 와야 한다.
- sequence : 하위 요소가 정의한 순서대로 와야 한다.
- choice : 정의된 하위 요소 중 하나만 올 수 있다.
- all : 하위 요소가 순서에 상관없이 와야한다.
단, 하위 요소들은 반복이 1회까지로 제한되다.(minOccurs= 0 or 1 / maxOccurs = 1)
choice 안에서 사용할 수 없다.
▶ <attribute>
※ 속성선언 / 속성은 <complexType> 안에 하위 요소 다음에 와야 한다.
- name 속성 : 속성의 이름을 정의한다.
- use 속성 : 생략 여부 / optional 과 required 가 있고, 디폴트는 optional 이다.
- default 속성 : 속성이 생략되었을 때 자동으로 부과되는 기본값 / use 속성이 optional 일때만 적용할 수 있다.
- ref 속성 : 글로벌 속성 선언을 참조할 경우 사용
- type 속성 : 속성값으로 가질 수 있는 데이터형 정의
출처 - http://blog.naver.com/withpsk?Redirect=Log&logNo=130082540905
'Development > XML' 카테고리의 다른 글
XML, DTD, XSD, XSL 관계 (0) | 2012.02.13 |
---|---|
Markup Language (0) | 2012.01.27 |
XML DOM(Document Object Model) (1) | 2012.01.23 |
XML 창시자 - 팀 브레이 (0) | 2010.12.14 |
XML 정의 (0) | 2010.11.29 |