1

いくつかの異なるオプションを使用してXMLジェネレーターを作成しました。1つは、プリミティブデータ型に属性または要素のどちらを使用するかを定義するスタイルオプションです。

XMLスキーマは現在サポートされていませんが、XML名前空間のセットアップを許可する必要があり、いくつかの調査を行っています。私の理解では、XML名前空間にはプレフィックスを付けることができますが、プレフィックスを付ける必要はありません。また、通常はURIである一意の文字列属性値が必要ですが、そうである必要はありません。

XML名前空間に慣れていないので、少し混乱しています。例のxmlドキュメントを見ると、これについていくつか質問があります。

<?xml version="1.0"?>
<root xmlns="some_identifier">
<oneKey>value</oneKey>
</root>

これは、Key Valueの例の要素スタイルを使用しており、「some_identifier」の構成を許可します。この例では、XML名前空間の下にある「oneKey」要素はありますか?または、のようなプレフィックスを指定してから、xmlns:ns「oneKey」の前に「ns」を付ける必要がありますか?

また、属性スタイルを見ると、次のようになります。

<?xml version="1.0"?>
<root xmlns="some_identifier" oneKey="value" />

この例では、oneKeyで同様のプレフィックスを定義する必要がありますか?

これらの質問でマークから外れてしまった場合はお詫び申し上げます。意味がわからない場合はお知らせください。

アップデート:

私はこのサイトを見つけました:http ://www.rpbourret.com/xml/NamespacesFAQ.htm#exec_1

つまり、これら2つは同一です。

<foo:A xmlns:foo="http://www.foo.org/">
     <foo:B>abcd</foo:B>
</foo:A>

<A xmlns="http://www.foo.org/">
     <B>abcd</B>
</A>

これは非常に便利ですが、属性スタイルに関してです。属性にプレフィックスを付ける必要がありますか?または、xmlnsのデフォルトはこれらでも機能しますか?

4

1 に答える 1

2
<root xmlns="some_identifier">

これはデフォルトの名前空間を宣言し、rootとそのすべての子がそれに属します。プレフィックスは必要ありません。

<root xmlns="some_identifier" oneKey="value" />

デフォルトの名前空間は属性には適用されません。oneKeyを名前空間に所属させたい場合は、プレフィックスを作成して属性で使用する必要があります

<root xmlns="some_identifier" xmlns:myns="some_identifier" myns:oneKey="value"/>
于 2012-06-06T15:46:35.763 に答える