トップtargetNamespace
要素でschema
属性とxmlns:tns
属性の両方を宣言するXSDスキーマドキュメントがいくつかあります。例えば。 ここから をとった次のもの。また、同じ文字列値を持つようです。 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">
...
スキーマの後半で名前空間を参照できます。たとえば、名前付きの型を宣言し、その型の要素も宣言する場合
_<complexType name="someType">
<!-- ... -->
</complexType>
<element name="someElement" type="tns:someType" />
_
_type="someType"
_名前空間(スキーマファイルの_http://www.w3.org/2001/XMLSchema
_)ではなく(存在しない)someType
を参照するため、単に_xmlns="..."
_と言うだけでは機能しません。 _http://www.example.org/Product
_名前空間にあるものよりも。