0

たとえば、次のスキーマがあるとします ( http://www.w3.org/TR/xmlschema-0/#NSにリストされています) 。

<schema xmlns="http://www.w3.org/2001/XMLSchema"
        xmlns:po="http://www.example.com/PO1"
        targetNamespace="http://www.example.com/PO1"
        elementFormDefault="unqualified"
        attributeFormDefault="unqualified">

  <element name="purchaseOrder" type="po:PurchaseOrderType"/>
  <element name="comment"       type="string"/>

  <complexType name="PurchaseOrderType">
    <sequence>
      <element name="shipTo"    type="po:USAddress"/>
      <element name="billTo"    type="po:USAddress"/>
      <element ref="po:comment" minOccurs="0"/>
      <!-- etc. -->
    </sequence>
    <!-- etc. -->
  </complexType>

  <complexType name="USAddress">
    <sequence>
      <element name="name"   type="string"/>
      <element name="street" type="string"/>
      <!-- etc. -->
    </sequence>
  </complexType>

  <!-- etc. -->

</schema>

「スキーマ」ノードの各属性の目的が何を意味するのか説明できますか? 私は頭を包み込もうとしてきましたが、わかりません。私が間違っている場合は修正してください:

xmlns="http://www.w3.org/2001/XMLSchema"プレフィックスのない要素と属性を指すと思います。

xmlns:po="http://www.example.com/PO1"po, で始まるものはすべて、この URL (example.com/p01) を参照する ことを意味するようです。

何のためにあるのかわかりませんtargetNamespace。また、有資格者と無資格者の意味がわかりません。

4

1 に答える 1

1

これはちょっとした用語の地雷原ですが、本質的にxmlns="http://www.w3.org/2001/XMLSchema"xmlns:po="http://www.example.com/PO1"、スキーマ ドキュメント自体の名前空間を宣言するためにあります。XML スキーマは単なる XML ドキュメントであり、他の XML ドキュメントと同様に、使用する名前空間を宣言する必要があることに注意してください。

targetNamespaceスキーマのインスタンス ドキュメント、つまりスキーマに準拠するドキュメントの名前空間を定義するために使用されます。そのようなドキュメントは、名前空間を であると宣言し、http://www.example.com/PO1選択した接頭辞を付けますxmlns="http://www.example.com/PO1"xmlns:po="http://www.example.com/PO1"

于 2012-05-15T08:25:49.027 に答える