>  기사  >  백엔드 개발  >  XML 입문 자습서 - XML ​​네임스페이스에 대한 자세한 소개

XML 입문 자습서 - XML ​​네임스페이스에 대한 자세한 소개

黄舟
黄舟원래의
2017-03-15 16:54:371537검색

XML 네임스페이스는 XML 이름의 사용 범위를 나타냅니다. XML은 요소 태그를 사용자 정의할 수 있으므로 XML 이름이 서로 다른 XML 애플리케이션 간에 겹칠 가능성이 높습니다.

적용되지 않는 이름을 구별할 수 있는 방법이 없다면 혼란스러울 것입니다. XML 네임스페이스는 이 문제를 해결하기 위해 설계되었습니다. XML 네임스페이스를 통해 XML 이름을 다양한 XML 애플리케이션과 구별할 수 있습니다. 적용되지 않는 이름을 구별하는 방법이 없으면 혼란이 발생할 수 있습니다. XML 네임스페이스는 이 문제를 해결하기 위해 설계되었습니다. XML 네임스페이스를 통해 서로 다른 XML 애플리케이션에서 동일한 이름을 가진 요소와
속성 을 구별할 수 있습니다. 단일 XML 애플리케이션의 관련 요소와 속성을 그룹화하여 소프트웨어 식별 및 처리를 용이하게 할 수 있습니다. 네임스페이스는 접두사로
그룹화되고 로컬 부분 은 콜론으로 구분됩니다. 접두사는 요소나 특성이 있는 네임스페이스를 식별하고 로컬 부분은 네임스페이스 내의 요소나 특성을 식별합니다. 전체 이름을 한정된 이름(qualified name)이라고도 합니다. 접두사는 XML의 세 글자(대소문자 조합)를 제외한 모든 유효한 XML 이름 문자로 구성될 수 있습니다. 정규화된 이름의 각 접두사는 고유한 URI와 연결되어야 합니다. 동일한 URI 접두사와 연관된 이름은 동일한 네임스페이스에 속합니다.

<rdf:RDF xmlns:rdf="http://www.w3.org/TR/REC-rdf-syntax#"> 
<rdf:Description about="http://www.example.com/test.xml"> 
<title>example</title> 
<author>linuxsir</author> ... </rdf:Description> 
</rdf:RDF>

접두사는 일반적으로 이 접두사를 사용하여 최상위 요소에서 정의됩니다. 하위 수준 요소에 다양한 접두사를 정의할 수도 있습니다.


<rdf:RDF xmlns:rdf="http://www.w3.org/TR/REC-rdf-syntax#"> 
<rdf:Description xmlns:dc="http://www.w3.org/dc/" about="http://www.example.com/test.xml"> 
<dc:title>example</dc:title> 
<dc:author>linuxsir</dc:author> ... </rdf:Description> 
</rdf:RDF>

접두사가 없는 xmlns 속성을 루트 요소에 추가하면 접두사가 없는 요소와 접두사가 없는 모든 하위 요소를 지정할 수 있습니다. 특정 네임스페이스에 속합니다.


<svg xmlns="http://www.w3.org/2000/svg"> 
<ellipse rx="110" ry="130" /> 
<rect x="4cm" y="1cm" /> 
</svg>

네임스페이스가 특정 XML 애플리케이션의 요소와 속성을 식별하는 데만 사용되고 동일한 이름을 가진 다른 요소를 구별하는 데 사용되지 않는 경우

DTD에서 사용할 수 있습니다. 고정 xmlns 속성은 요소에 정의되며 문서에 정의할 필요가 없습니다. 정의 방법은 다음과 같습니다.

<!ATTLIST svg xmlns CDATA #FIXED "http://www.w3.org/svg/">

DTD를 정의할 때 네임스페이스 접두사를 사용해야 하는 경우 다음과 같이 정의할 때 DTD 정의에 접두사도 작성해야 합니다.

<!ELEMENT xlink:name (#PCDATA)>

매개변수 엔터티
를 사용하여 를 참조하여 네임스페이스 접두사를 정의하면 DTD 문서의 유지 관리, 구성 및 릴리스가 쉬워집니다! 전재시 출처를 꼭 밝혀주세요 감사합니다!

<!ENTITY % prefix "xlink"> <!ENTITY % colon ":">

그런 다음 매개변수 엔터티 이름을 사용하여 다음과 같은 추가 매개변수 엔터티 참조를 정의합니다.

<!ENTITY % xlink-title "%prefix;%colon;title"> <!ENTITY % xlink-author "%prefix;%colon;author">

이런 방식으로 필요한 경우 접두어를 변경하려면 문서 전체가 아닌 한 곳만 수정하면 됩니다.

아아아아

위 내용은 XML 입문 자습서 - XML ​​네임스페이스에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.