글 수 19
XML에서 자유롭게 태그를 정의 할수 있지만 종복 태그가 발생할수 있는 문제점이 있다.
따라서 이런 충돌을 막기 위해 등장한 개념이 네임스페이스(namespace) 이다.
중복 요소명이나 속성명은 어느 이름공간(네임스페이스)에 속하고 있는지 지정하여 사용함으로써 중복을으로 인한 충돌을 피할 수 있다.
가. 기본 네임스페이스
네임스페이스 접두사를 붙이지 않고 기술한 하위 요소에도 자동으로 상위 요소에 선언한 네임스페이스를 적용한다.
이를 기본 네임스페이스라고 한다.
ex>
<element_name xmlns="URI_Reference">
나. 기본 네임스페이스 취소 선언
xmlns 속성값에 URI_Reference 대신 빈 문자열("")을 지정하여 기본네임스페이스를 선언한다.
ex>
<element_name xmlns="">
다. 접두사를 사용한 네임스페이스 선언
네임스페이스 접두사는 XML문서중에서 사용하는 요소명이 속성명과 xmlns: 속성값으로 지정하는 URI 참조를 관련시키기 위해 사용한다.
ex>
<element_name xmlns:prefix_name="URI_Reference">
라. 한정한 이름
네임스페이스 접두사를 붙인 요소나 속성명을 한정한 이름(Qname, Qualified name) 이라고 한다.
마. 속성에도 네임스페이스 선언이 가능하다.
zbXE에서 사용된 예제를 살펴보면, 아래 소스는 게시판 모듈의 module.xml 파일의 일부분을 발췌한것이다.
이런 내용이 있다.
<title xml:lang="ko">목록</title> 이런식으로 속성에 사용이 되었다.
따라서 이런 충돌을 막기 위해 등장한 개념이 네임스페이스(namespace) 이다.
중복 요소명이나 속성명은 어느 이름공간(네임스페이스)에 속하고 있는지 지정하여 사용함으로써 중복을으로 인한 충돌을 피할 수 있다.
가. 기본 네임스페이스
네임스페이스 접두사를 붙이지 않고 기술한 하위 요소에도 자동으로 상위 요소에 선언한 네임스페이스를 적용한다.
이를 기본 네임스페이스라고 한다.
ex>
<element_name xmlns="URI_Reference">
나. 기본 네임스페이스 취소 선언
xmlns 속성값에 URI_Reference 대신 빈 문자열("")을 지정하여 기본네임스페이스를 선언한다.
ex>
<element_name xmlns="">
다. 접두사를 사용한 네임스페이스 선언
네임스페이스 접두사는 XML문서중에서 사용하는 요소명이 속성명과 xmlns: 속성값으로 지정하는 URI 참조를 관련시키기 위해 사용한다.
ex>
<element_name xmlns:prefix_name="URI_Reference">
라. 한정한 이름
네임스페이스 접두사를 붙인 요소나 속성명을 한정한 이름(Qname, Qualified name) 이라고 한다.
마. 속성에도 네임스페이스 선언이 가능하다.
zbXE에서 사용된 예제를 살펴보면, 아래 소스는 게시판 모듈의 module.xml 파일의 일부분을 발췌한것이다.
undefined
<?xml version="1.0" encoding="utf-8"?>
<module>
<grants>
<grant name="list" default="guest">
<title xml:lang="ko">목록</title>
<title xml:lang="zh-CN">目录</title>
<title xml:lang="jp">リスト</title>
<title xml:lang="en">list</title>
<title xml:lang="es">Lista</title>
</grant>
</module>
이런 내용이 있다.
<title xml:lang="ko">목록</title> 이런식으로 속성에 사용이 되었다.










프로그래밍언어

XML 



어떤식으로 구현 가능한지 알고 싶습니다. 가르쳐 주세요~ ㅎㅎ