XML 네임스페이스
XML 네임스페이스는 요소 이름 지정 충돌을 방지하는 방법을 제공합니다.
이름 지정 충돌
XML에서 요소 이름은 개발자가 정의합니다. 두 개의 서로 다른 문서가 동일한 요소 이름을 사용할 때 이름 지정 충돌이 발생합니다.
이 XML은 HTML 테이블의 정보를 전달합니다:
<tr>
<td>사과</td>
<td>바나나</td>
</tr>
</table>
이 XML 문서는 테이블(가구)에 대한 정보를 전달합니다.
<폭>80폭>
<length>120</length>
</table>
이 두 XML 문서를 함께 사용하는 경우 두 문서 모두 < 다른 내용과 정의를 가진 ;table> 요소를 포함하므로 이름 충돌이 발생합니다.
XML 파서는 이러한 유형의 충돌을 처리하는 방법을 결정할 수 없습니다.
접두사를 사용하여 이름 지정 충돌 방지
XML의 이름 지정 충돌은 이름 접두사를 사용하여 쉽게 피할 수 있습니다.
이 XML은 HTML 테이블과 가구에 대한 정보를 전달합니다.
<h:tr>
<h:td>사과</h:td>
<h:td>바나나</h:td>
</h:tr>
</h:테이블>
<f:테이블>
<f:name>아프리카 커피 테이블</f:name>
<f:너비>80</f:너비>
<f:길이>120</f:길이>
</f:테이블>
위의 예에서는 두 개의 <table> 요소가 서로 다른 이름을 가지므로 충돌이 발생하지 않습니다.
XML 네임스페이스 - xmlns 속성
XML에서 접두사를 사용할 경우 접두사에 대한 소위 네임스페이스를 정의해야 합니다.
네임스페이스는 요소 여는 태그의 xmlns 속성 에 정의됩니다.
네임스페이스 선언 구문은 다음과 같습니다. xmlns:접두사="URI".
<h:테이블 xmlns:h="http://www.w3.org/TR/html4/">
<h:tr>
<h:td>사과</h:td>
<h:td>바나나</h:td>
</h:tr>
</h:테이블>
<f:테이블 xmlns:f="http://www.w3cschool.cc/furniture">
<f:name>아프리카 커피 테이블</f:name>
<f:너비>80</f:너비>
<f:길이>120</f:길이>
</f:테이블>
</root>
위 예에서 <table> 태그의 xmlns 속성은 h: 및 f: 접두사에 대한 정규화된 네임스페이스를 정의합니다.
요소의 여는 태그에 네임스페이스가 정의되면 접두사가 동일한 모든 하위 요소는 동일한 네임스페이스와 연결됩니다.
네임스페이스는 사용되는 요소 또는 XML 루트 요소에서 선언할 수 있습니다.
xmlns:f="http://www.w3cschool.cc/furniture">
<h:테이블>
<h:tr>
<h:td>사과</h:td>
<h:td>바나나</h:td>
</h:tr>
</h:테이블>
<f:테이블>
<f:name>아프리카 커피 테이블</f:name>
<f:너비>80</f:너비>
<f:길이>120</f:길이>
</f:테이블>
참고: 네임스페이스 URI는 파서가 정보를 찾는 데 사용되지 않습니다.
네임스페이스에 고유한 이름을 부여하는 것이 목적입니다. 그러나 많은 회사에서는 네임스페이스에 대한 정보가 포함된 실제 기존 웹 페이지에 대한 포인터로 네임스페이스를 사용하는 경우가 많습니다.
http://www.w3.org/TR/html4/를 방문하세요.
Uniform Resource Identifier(URI, 전체 이름:Uniform Resource Identifier)
Uniform Resource Identifier(URI)는 식별할 수 있는 문자열입니다. 인터넷 자원.
가장 일반적으로 사용되는 URI는 인터넷 도메인 주소를 식별하는 데 사용되는 Uniform Resource Locator(URL)입니다. 덜 일반적으로 사용되는 또 다른 URI는 Uniform Resource Name(URN)입니다.
이 예에서는 URL만 사용합니다.
기본 네임스페이스
요소에 대한 기본 네임스페이스를 정의하면 모든 하위 요소에 접두사를 사용하는 작업이 줄어듭니다. 구문은 다음과 같습니다.
이 XML은 HTML 테이블의 정보를 전달합니다.
<tr>
<td>사과</td>
<td>바나나</td>
</tr>
</table>
이 XML은 가구에 대한 정보를 전달합니다.
<폭>80폭>
<길이>120
테이블>
사용 중인 네임스페이스
XSLT는 XML 문서를 HTML과 같은 다른 형식으로 변환하는 데 사용되는 XML 언어입니다.
아래 XSLT 문서를 보면 대부분의 태그가 HTML 태그인 것을 확인할 수 있습니다.
HTML이 아닌 태그에는 xsl이라는 접두사가 붙고 다음 네임스페이스로 식별됩니다. xmlns:xsl="http://www.w3.org/1999/XSL/Transform":
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:템플릿 일치="/">
<html>
<본문>
<h2>내 CD 컬렉션</h2>
<테이블 테두리="1">
<tr>
<th align="left">제목</th>
> </tr>
<xsl:for-each select="카탈로그/cd">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="artist"/></td>
</tr>
</xsl:개별>
</테이블>
</본문>