2009-09-03 7 views

答えて

6

xmlns属性はXML Namespaceと宣言します。 Namespaces in XML規格では、この要素について深く説明しています。

名前空間は、主にXML言語を混在させる際の要素名の競合を避けるために使用されます。特定のアプリケーションについて質問がある場合は、例を投稿することもできます。

1

名前空間では、重複がある場合にあいまいさを減らすことができます。あなたは著者を参照する<title>タグを持ち、Mr.、Mrs.などのような挨拶を指す<title>タグを持つことができます。区別するために、それらを異なる名前空間に割り当てることができます。

特定の標準/制限に準拠しているかどうかを検証するときに名前空間を使用することもできます。ここで、名前空間はドキュメントがどの「スキーマ」に属しているかを示します。

2

XML名前空間は要素の中で属性をコンテキスト化するのに役立ちます。また、特定の要素や属性を正確に識別することもできます。

たとえば、<html>要素は誰でも定義でき、意味を持ちます。しかし、http://www.w3.org/1999/xhtml名前空間内の<html>要素はユニークであり、XHTMLを指します。

複数のXML言語を1つのファイルで使用する場合、名前空間はhomographsを扱うときにも便利です。

7

xmlns属性には特別な処理があり、名前空間の宣言が可能です。

文書内のタグ名などのすべての名前は、名前空間に属します。 xmlns属性がない場合、すべての名前は「名前なし」名前空間に属します。したがって: - 上記の例で

<root><item /></root> 

rootitemの両方が「名前のない」名前空間の名前です。これに対し: - 名前空間

<root xmlns="urn:mydomain.com:mystuff"><item /></root> 

rootitemは "::mydomain.comのMyStuff壷" に存在します。

xmlnsがさらに別名プレフィックスを使用して他から区別することができる追加の名前空間要素を定義することができる: -

<root xmlns="urn:mydomain.com:mystuff" xmlns:a="urn:otherdomain.com:other"> 
    <item> 
     <a:supplement /> 
    </item> 
</root> 

この場合rootitemは「URNであり続ける:mydomain.com :mystuff "ネームスペースですが、a:supplementは、supplementという名前が" urn:otherdomain.com:other "名前空間にあることを示しています。

これはどのようなものですか?

XのXMLは、eXtensibleの略です。 1つの目的は、追加情報を既存の文書に重ねること、すなわち文書を拡張することを可能にすることである。考えてみましょう: -

パーティーA文書を作成: -

<root> 
    <item /> 
<root> 

乙は、追加情報を含めて文書を拡張: -

<root> 
    <item /> 
    <supplement /> 
</root> 

その後、甲はの元のフォームに新しい情報を追加しますその文書には、オリジナルの名前supplementも使用されています。私たちは次のようなものになる可能性があります: -

<root> 
    <item /> 
    <supplement /> 
    <supplement /> 
</root> 

どの補足要素がどのパーティに属していますか?それは誰に属する要素の明確なXMLを解析し、照会に来るとき

<root xmlns="urn:mydomain.com:mystuff" xmlns:a="urn:otherdomain.com:other"> 
    <item /> 
    <supplement /> 
    <a:supplement /> 
</root> 

- :名前空間を使用することにより、文書は次のようになります。名前空間は、さもなければ、単純な名前のグローバルセットとなるものの間の衝突を排除する。

+0

ドメイン名をnsとして使用する理由は何ですか?ありがとうございました... – Tarik

+0

urnフォームを使用するときは、所有しているドメイン名を使用することをお勧めします。他のドメイン名は、urn定義で所有していないドメイン名を使用する可能性は非常に低いからです。それ以外の場合はURLを使用できます。 – AnthonyWJones

2

HTMLでは、xmlnsはXHTMLとのやりとりを容易にするための厄介なものです。それはまったく何もしません。

関連する問題