ホームページ >バックエンド開発 >XML/RSS チュートリアル >XML 入門チュートリアル - XML 名前空間の詳細な紹介
XML 名前空間は XML 名の使用範囲を示します。XML は要素タグをカスタマイズできるため、異なる XML アプリケーション間で XML 名が重複する可能性が高くなります。
該当しない名前を区別する方法がないと、混乱が生じます。 XML 名前空間は、この問題を解決するために設計されています。 XML 名前空間を通じて、さまざまな XML アプリケーションの XML 名を区別できます。適用されない名前を区別する方法がないと、混乱が生じます。 XML 名前空間は、この問題を解決するために設計されています。 XML 名前空間を通じて、異なる XML アプリケーションからの同じ名前の要素と属性を区別できます。単一の XML アプリケーションの関連する要素と属性をグループ化して、ソフトウェアの識別と処理を容易にすることができます。
名前空間は、プレフィックスとローカル部分 によってグループ化され、コロンで区切られます。接頭辞は要素または属性が存在する名前空間を識別し、ローカル部分は名前空間内の要素または属性を識別します。名前全体を修飾名 (qualif
ied name) とも呼びます。プレフィックスは、XML の 3 文字 (大文字と小文字の任意の組み合わせ) を除く、任意の有効な 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)>
パラメーター エンティティを使用する名前空間を定義するための
参照
<!ENTITY % prefix "xlink"> <!ENTITY % colon ":">次に、パラメーター エンティティ名を使用して、次のような追加のパラメーター エンティティ参照を定義します。
<!ENTITY % xlink-title "%prefix;%colon;title"> <!ENTITY % xlink-author "%prefix;%colon;author">
この方法では、プレフィックスを変更する必要がある場合、1 か所を変更するだけでよく、文書全体。
以上がXML 入門チュートリアル - XML 名前空間の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。