Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 이게 뭐니
- OSGi
- 쉽지요잉
- TPC-C
- TunesMate
- rdf
- w3c
- 과제
- 앱
- 원격으로 컴퓨터 끄기
- XML
- 봄
- 블로그가
- 우분투
- Android
- book
- 아이폰
- java
- 건조합니다
- 3GS
- ontology
- iphone
- JNI
- Mac
- 안드로이드
- OWL
- Benchmark
- 서비스
- uPnP
- 설명좀 써줍니다
Archives
- Today
- Total
infatuation
Namespace 본문
namespace는 약어(acronym)로 변환하지 않은 XML 관련 개념 중 하나로, namespace는 그것의 목적을 설명하는 이름을 갖는 요소(element)의 접두어(prefix)와 URI사이의 매핑(mapping)이다.
왜 Namespace를 사용하는가
- XML의 장점 중 하나는 누구나 자유롭게 태그를 정의해서 사용할 수 있다는 것이다. 하지만 이로 인해 분명 중복된 태그가 발생할 수 있다.
- XML의 문제점 2)XML 태그의 범람, 2)의미가 불분명한 중복된 태그
- namespace의 충돌을 피하고 파서가 충돌을 해결하는 데이터 구조를 정의할 때 이 매핑을 사용한다.
- 태그 이름의 모호성으로 충돌이 발생할 경우 namespace를 사용하여 이름을 제한할 수 있다. namespace 문제를 해결하기 위해 URI를 사용한다.
Namespace의 선언
- XML에서는 xmlns라는 어트리뷰터가 정의되어 있으며, 이는 Namespace 선업을 위해 예약된 어트리뷰트이다.
- xmlns 어트리뷰트 - namespace 선언을 위한 어트리뷰트
< 태그 이름 xmlns: 접두어 = "namespace URI" >
* 접두어(prefix) - namespace를 구분해 주는 구분자
* namespace URI - namespace에 정의된 태그가 속한 URI
>> 태그를 정의한 사람을 지칭하는 의미적인 값
- Namespace 선언 예제
< bo:Book xmlns:bo = "http://book.org" >
... 내용 ...
</bo:Bool>
QName (Qualified name)
- QName = Namespace 식별자 + local name
- XML Namespace 의 유일성을 나타내는 식별자로서 URI (Uniform Resource Identifier) 를 사용한다. URI는 위치 지정자일 수도, 이름일 수도, 혹은 두 가지 역할을 모두 수행할 수도 있다.
- URL (Uniform Resource Locator)
- URI 위치 지정자로서 http ://www.skatestown.com/services/POSubmission 나 mailto :orders@skatestown.com 와 같은 문자열.
- URN (Uniform Resource Names)
- 전 세계적으로 유일하게 존재하는 URI.
- UUDI (Universally Unique Identifiers)
- URN으로 사용하기에 적합한 것으로 전 세계적으로 유일한 128비트 식별자.
- 일반적으로 UUDI는 높은 정밀도의 타임스탬프와 증가 카운터를 갖고 있는 네트워크 이더넷 카드와 결합되어 사용된다.
- ex. urn:uudi:2FAC1234-31F8-11B4-A222-08002B34C003
Namespace 구문
- Namespace 식별자는 접두어와 콜론(:)을 제외한 XML 엘리먼트 이름으로 가능한 문자로 구성된다.
- 유효한 이름 (QName) : 접두어, 콜론, 로컬 엘리먼트 이름으로 되어 있다.(ex. myPrefix:myElementName, msg:text ......)
URI Dereferencing
- URL을 내용으로 하는 namespace URI 에서 (ex. xmlns:po=http ://www.tek.com/ns/po) 이 URL 이 가리키는 것은 아무런 상관이 없다.단지 식별을 목적으로 사용될 뿐이다.
- XML 문서 내에서 모르는 namespace를 바라보고 있는 것이 Application에 문제를 야기할 수 있고, 해당 namespace에 속하는 엘리먼트, 속성에 대한 정보를 취할 수 있는 방법이 없다. 이 문제를 해결하는 메커니즘 -> XML_Scchema
'Programming > XML/HTML' 카테고리의 다른 글
Ajax (0) | 2009.12.17 |
---|---|
XML Review (0) | 2009.12.14 |