시간이 지나면 xml namespace에 대해서 자꾸 까먹어 블로그에 정리 한다.
- XML 문서 내에서 유일한 엘리먼트 이름이나 속성 이름을 제공하기 위해 사용된다.
- XML은 사용자가 자유롭게 엘리먼트를 정의할 수 있는 장점을 가지고 있지만 사용되는 엘리먼트가 XML 문서에서 중복될 수도 있다.
- 이름이 같은 엘리먼트에 의해 발생할 수 있는 이름 충돌을 해결하기 위해 사용되는 것이 namespace이다.
- 네임스페이스를 사용하기 위해 "xmlns"라는 속성을 사용한다.
- "xmlns" 속성값은 네임스페이스를 식별하기 위한 네임스페이스 이름이며, XML문서 내에서는 유일해야 한다.
<엘리먼트이름 xmlns=”URI_Reference”>
- 엘리먼트 이름은 기본 네임스페이스를 선언하는 엘리먼트 명을 지정하고 xmlns 속성은 기본 네임스페이스를 지정하기 위한 속성이다.
- 기본 네임스페이스는 접두어를 따로 기술하지 않고 기본 네임스페이스를 지정하면 해당 엘리먼트와 하위 엘리먼트가 모두 네임스페이스에 속하게 된다.
- 기본 네임스페이스는 네임스페이스 접두어를 붙이지 않은 엘리먼트에만 적용되고 네임스페이스 접두어가 있는 속성에는 적용되지 않는다.
다음의 xml은 기본 네임스페이스와 prof 네임스페이스를 사용한 예이다.
<?xml version="1.0" encoding="euc-kr" standalone="yes"?>
<school xmlns="http://www.hankook.ac.kr/student"
xmlns:prof="http://www.hankook.ac.kr/professor">
<student>
<name>kyu</name>
<email>xml@test.com</email>
<address>방이동</address>
</student>
<professor>
<prof:name>tom</prof:name>
<prof:email>xml1@test.com</prof:email>
<prof:address>성내동</prof:address>
</professor>
</school>
'프로그래밍' 카테고리의 다른 글
synchronized 키워드 3가지 테스트 케이스 (0) | 2012.11.09 |
---|---|
이클립스 junit 특정 메소드만 테스트를 실행하고 싶을 때 (1) | 2012.11.07 |
html table merge (4) | 2012.11.06 |
jquery radio 테스트 (2) | 2012.11.06 |
jquery checkbox 전체 선택, 전체 해제, 체크 값 추출 (6) | 2012.11.05 |
jquery selector 실습 (1) | 2012.11.02 |
javascript Array객체에 contains 메서드 추가 (2) | 2012.11.02 |
대입연산자 잘못 쓰면 이렇게 된다. (0) | 2012.11.01 |