2011-07-05 13 views
0

ここでは、XMLに関する基本的な質問があります。要素のxmlns属性を宣言する場合、http://www.w3.org/2001/XMLSchemaを使用することはいつでも可能ですか? xmlns:xsi属性を宣言するときは、値としてhttp://www.w3.org/2001/XMLSchema-instanceを使用するのは合法でしょうか?W3Cのxmlnsおよびxmlns:xsi名前空間はいつ使用しますか?

これらの名前空間を参照するXMLエディタによってXMLが自動生成されていることがわかりましたが(少なくともXMLSchema-instanceページで)W3Cは「このスキーマをこのように使用しないでください:the XML Schema Recommendationはこの名前空間の属性の宣言 "を参照してください。

私は混乱しています。それは言うことは常に違法であるようなもの:

<?xml version="1.0" encoding="UTF-8"?> 
<myElement xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    [...] 
</myElement> 

...と、なぜW3Cは名前空間を使用してはならないことを言っているように見えるんではありませんか?誰がそれを使うのですか?私はXML 1.0の仕様を読み込もうとしましたが、非常に冗長で理解するのは難しいです。

答えて

2

この名前空間は、他には使用しないでください。その名前空間内で宣言された属性を参照するために使用する必要があります。

他の誰かに属する名前空間内に要素や属性を宣言することはできません。つまり、 "XMLSchema"名前空間内にmyElementを宣言することはできません。


<?xml version="1.0" encoding="UTF-8"?> 
<root xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <genericElement xsi:type="xs:string">string</genericElement> 
</root> 
+0

私は 'HTTP理由に、そして、まだかなりよく分からない:// www.w3.org/2001/XMLSchema'名前空間が全く必要とされています。別のXMLスキーマを定義できるようにするスキーマを定義します。あなたの答えを拡大して、 'http:// www.w3.org/2001/XMLSchema'が法的に適切に使用できる場所の例を与えてください。また、http://www.w3.org/2001/XMLSchema-a-法的かつ適切に使用することができますか? – Jez

関連する問題