27

最上位要素で atargetNamespacexmlns:tns属性の両方を宣言する XSD スキーマ ドキュメントがいくつか見られます。schemaたとえば、次のものは here から取得されます。また、同じ文字列値を持っているようです。の役割は理解できますtargetNamespaceが、その上で何をしxmlns:tnsますか?

<?xml version="1.0" encoding="UTF-8"?>
<schema
    xmlns="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://www.example.org/Product"
    xmlns:tns="http://www.example.org/Product"
    elementFormDefault="qualified">
...
4

1 に答える 1

44

これにより、後でスキーマの名前空間を参照できます。たとえば、名前付きの型を宣言してから、その型の要素も宣言したい場合

<complexType name="someType">
  <!-- ... -->
</complexType>

<element name="someElement" type="tns:someType" />

名前空間内のものではなく、名前空間 (スキーマ ファイルの)内の(type="someType"存在しない) を参照するため、単純に言うとうまくいきません。someTypehttp://www.w3.org/2001/XMLSchemaxmlns="..."http://www.example.org/Product

于 2013-06-25T12:02:26.647 に答える