컴퓨터 공부/XML

[5월 14일 2교시] XML namespace + XML schema 1

려리군 2009. 5. 14. 15:58

namespace

C++의 namespace와 비슷하다.

element나 attribute의 이름들의 충돌 가능성 및 모호성 때문에 사용.


URI(Uniform Resource Identifier)

인터넷 자원을 확인하거나 이름에 사용된다. 

URL(비유: 사람의 주소) + URN(비유: 사람의 이름)


형태 : <prefix:태그 xmlns:prefix="URI">...</태그>


Default namespace

prefix를 정의하지 않은 namespace

예) <직원 xmlns="http://sdrlurker.wo.to">


자주 사용하는 namespace

XSLT 

http://www.w3.org/1999/XSL/Transform

XMLSchema

http://www.w3.org/2001/XMLSchema


XML Schema

DTD보다 더 강력한 유효성 검사 도구

http://www.w3.org/2001/XMLSchema 사용


schema element

형식 : <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" > </schema>

attribute

 - xmlns : 기본(디폴트) 네임스페이스

 - targetNamespace : 현재 스키마에서 선언한 element의 네임스페이스

 - elementFormDefault : 현재 스키마에서 선언된 모든 element는 targetNamespace에서 선언된 네임 스페이스를 사용해야 한다.

 - attibuteFormDefault : 현재 스키마에서 선언된 모든 attribute에 대한 네임 스페이스 사용. 


스키마 문서 내용 

선언과 정의

  선언 부분 : element, attribute

  정의 부분 : type

- 전역대 지역

  전역 : schema element의 직계 자손, 재사용 될 수 있다.

  지역 : global 안쪽

- Named 대 unnamed

  Named : 데이터 타입이 이름을 가질 때 <-> unnamed