例如,假设我们有以下模式(列在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
是为了什么。我也不明白合格或不合格是什么意思。