최신 웹 개발 튜토리얼
 

XML네임 스페이스


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 자습서 .