1. ホーム
  2. Web制作
  3. XML/XSLT

XMLの名前空間について簡単に説明します。

2022-01-15 06:21:29

名前空間とは、一意な名前の集合のことです。名前空間は、どの要素や属性名をグループに割り当てることができるかを決定するメカニズムである。名前空間は、URI(Uniform Resource Identifiers)によって識別されます。

名前空間宣言
名前空間は予約属性で宣言されます。このような属性名は、xmlnsであるか、xmlns:で始まらなければならない。以下に示すように

XML/HTMLコード 内容をクリップボードにコピーする
  1. <スパン < 要素 xmlns:名前 = "URL"。 > <スパン

構文
名前空間がキーワード xmlns で始まっています。
name は名前空間接頭辞です。
URL は名前空間識別子です。



名前空間は、ドキュメントの限られた範囲にしか影響を与えません。この宣言を含む要素とそのすべての子要素は、名前空間の中にあります。以下は、XML 名前空間の簡単な例である。

XML/HTMLコード 内容をクリップボードにコピーする
  1. <? xml バージョン = "1.0"。 エンコーディング = "UTF-8"。 ?
  2. <スパン <スパン <

    コンテンツ:コンタクト <スパン xmlns:cont = <スパン "www.tutorialspoint.com/profile"。 <スパン >
  3. <スパン <スパン <

    cont:名前 > タンメイ・パティル </ cont:名前 >
  4. <スパン <スパン <

    コンテンツ:会社 > チュートリアルポイント </ コンテンツ:会社 >
  5. <スパン <スパン <

    コンテンツ:電話 > <スパン (011) 123-4567 <スパン </ コンテンツ:電話 > <スパン
  6. <スパン <スパン </ コンテンツ:コンタクト >

ここでは、名前空間接頭辞は cont で、識別子(URI)は www.tutorialspoint.com/profile です。つまり、cont という接頭辞を持つ要素名と属性名(contact 要素を含む)は、いずれも www.tutorialspoint.com/profile という名前空間に属することになります。

XMLでは、名前空間の使用にはスコープという概念があり、これは名前空間の適用範囲であり、どの要素や属性がその名前空間に含まれ、どれが含まれないかを意味するものである。名前空間は、XML 文書全体を区切ることも、XML 文書の一部分だけに限定することもできる。
     (1). 名前空間はXML文書全体を修飾する

XML/HTMLコード 内容をクリップボードにコピーする
  1. <スパン < スパン <スパン スタイル = <スパン "font-family:SimSun;font-size:14px;"。 > <スパン <? xml バージョン = "1.0"。 ?
  2. <スパン <スパン <

    メンバー詳細 <スパン xmlns = "http://www.testns.com/ns.xsd"。 >
  3. <スパン <スパン <

    名称 > トム </ 名称 >
  4. <スパン <スパン <

    年齢 > 12 </ 年齢 >
  5. <スパン <スパン <

    > 男性 </ >
  6. <スパン <スパン </ メンバー詳細 <スパン > <スパン </ スパン <スパン >

(2) 名前空間が XML 文書の一部にしかない場合

XML/HTMLコード 内容をクリップボードにコピーする
  1. <スパン < スパン <スパン スタイル = <スパン "font-family:SimSun;font-size:14px;"。 > <スパン <? xml バージョン = "1.0"。 ?
  2. <スパン <スパン <

    メンバー詳細 >
  3. <スパン <スパン <

    名称 xmlns = "http://www.testns.com/ns.xsd"。 > トム </ 名称 >
  4. <スパン <スパン <

    年齢 > 12 </ 年齢 >
  5. <スパン <スパン <

    > 男性 </ >
  6. <スパン <スパン </ メンバー詳細 <スパン > <スパン </ スパン <スパン >

  (3) ネストした名前空間

XML/HTMLコード 内容をクリップボードにコピーする
  1. <スパン < スパン <スパン スタイル = <スパン "font-family:SimSun;font-size:14px;"。 > <スパン <? xml バージョン = "1.0"。 ?
  2. <スパン <スパン <

    メンバー詳細 <スパン xmlns = "http://www.testns.com/ns.xsd"。     
  3. <スパン xmlns:newns = "http://www.testns/newns.xsd"。 >
  4. <スパン <スパン <

    名称 > トム </ 名称 >
  5. <スパン <スパン <

    年齢 > 12 </ 年齢 >
  6. <スパン <スパン <

    ニューズ:セックス > 男性 </ >
  7. <スパン <スパン </ メンバー詳細 <スパン >
  8. // <

    スパン <スパン
    スタイル = <スパン "line-height: 26px;" >  この例では、新しい名前空間で定義されている要素 sex を除き、要素はまだ元の名前空間を使用しています。 </ スパン <スパン > </ スパン <スパン >