XML 네임 스페이스 요소 이름 충돌을 방지하는 방법을 제공한다.
이름 충돌
XML에서 요소 이름은 개발자에 의해 정의된다. 다른 XML 응용 프로그램에서 XML 문서를 혼합 할 때 이것은 종종 충돌이 발생합니다.
이 XML은 HTML 테이블 정보를 운반 :
<table>
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</table>
이 XML은 테이블에 대한 정보 전달 (a piece of furniture) :
<table>
<name>African Coffee Table</name>
<width>80</width>
<length>120</length>
</table>
이러한 XML 조각이 함께 추가 된 경우, 이름 충돌이있을 것입니다. 둘 다 포함 <table> 요소이지만 요소는 서로 다른 콘텐츠와 의미를 갖는다.
사용자 또는 XML 응용 프로그램은 이러한 차이를 처리하는 방법을 알 수 없습니다.
접두사를 사용하여 이름 분쟁 해결
XML에서 이름 충돌이 쉽게 이름 접두어를 사용하여 방지 할 수 있습니다.
이 XML은 HTML 테이블, 가구의 일부에 대한 정보를 운반 :
<h:table>
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>
<f:table>
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
두 있기 때문에 위의 예에서 충돌이 없을 것이다 <table> 요소는 다른 이름을 가지고있다.
XML 네임 스페이스 - xmlns 속성
XML의 접두사를 사용하는 경우, namespace 접두사에 대한 정의해야합니다.
네임 스페이스는 정의 할 수 xmlns 요소의 시작 태그 속성.
네임 스페이스 선언은 다음과 같은 구문이 있습니다. xmlns: prefix =" URI " .
<root>
<h:table xmlns:h="http://www.w3.org/TR/html4/">
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>
<f:table xmlns:f="http://www.w3ii.com/furniture">
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
</root>
위의 예에서 :
xmlns 처음에 속성 <table> 요소는 시간을 제공 : 자격을 갖춘 네임 스페이스 접두사.
xmlns 두 번째에 속성 <table> 요소는 F를 제공합니다 : 자격을 갖춘 네임 스페이스 접두사.
네임 스페이스가 요소에 대해 정의되는 경우, 동일한 프리픽스 모든 자식 요소는 동일한 네임 스페이스와 관련되어있다.
네임 스페이스는 또한 XML 루트 요소에 선언 할 수 있습니다 :
<root
xmlns:h="http://www.w3.org/TR/html4/"
xmlns:f="http://www.w3ii.com/furniture">
<h:table>
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>
<f:table>
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
</root>
Note: 네임 스페이스 URI 정보를 조회 파서 사용되지 않습니다.
URI에 사용 목적은 공간에 고유 한 이름을 부여하는 것이다.
그러나, 기업들은 공간 정보를 포함하는 웹 페이지의 포인터로서 스페이스를 사용한다.
범용 리소스 식별자 (URI)
Uniform Resource Identifier (URI) 인터넷 자원을 식별하는 문자열입니다.
가장 일반적인 URI는 인 Uniform Resource Locator (URL) 는 인터넷 도메인 주소를 식별한다. URI의 또 다른, 그렇지 않은 일반적인 유형은 인 Universal Resource Name (URN) .
기본 네임 스페이스
요소에 대한 기본 네임 스페이스를 정의하는 것은 모든 자식 요소에 접두사를 사용하여 우리를 절약 할 수 있습니다. 이 구문은 다음과 같습니다
xmlns="namespaceURI"
이 XML은 HTML 테이블 정보를 운반 :
<table xmlns="http://www.w3.org/TR/html4/">
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</table>
이 XML 가구의 조각에 대한 정보를 전달 :
<table xmlns="http://www.w3ii.com/furniture">
<name>African Coffee Table</name>
<width>80</width>
<length>120</length>
</table>
실제 사용중인 네임 스페이스
XSLT는 다른 형식으로 XML 문서를 변환하는 데 사용될 수있는 언어이다.
아래의 XML 문서는 XML HTML로 변환하는데 사용되는 문서이다.
네임 스페이스 "http://www.w3.org/1999/XSL/Transform" HTML 문서 안에 XSLT 요소를 식별
<?xml version="1.0" encoding="UTF-8 " ?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr>
<th style="text-align:left">Title</th>
<th style="text-align:left">Artist</th>
</tr>
<xsl:for-each select="catalog/cd">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="artist"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
당신이 XSLT에 대한 자세한 내용을 원한다면, 우리의 참조하시기 바랍니다 XSLT 자습서 .