應如何解釋XML名稱空間規範中的以下內容?默認名稱空間中的XML屬性名稱和元素?
默認名稱空間聲明適用於其範圍內的所有無前綴的元素名稱。默認名稱空間聲明不直接應用於屬性名稱;前綴屬性的解釋是由它們出現的元素決定的。
我的直覺上的理解是,前綴無關的屬性應該被解釋爲屬於它們所屬元素的名稱空間。但是,下面的例子似乎證明了這種虛假的:
模式:
<xs:schema xmlns:myns="http://test.com/xsd/foo" elementFormDefault="qualified"
targetNamespace="http://test.com/xsd/foo" version="1.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:attribute name="Id" type="xs:string" />
<xs:element name="Foo">
<xs:complexType>
<xs:attribute ref="myns:Id" />
</xs:complexType>
</xs:element>
</xs:schema>
的例子,通過驗證:
<a:Foo xmlns:a="http://test.com/xsd/foo" a:Id="123" />
實例驗證失敗:
<Foo xmlns="http://test.com/xsd/foo" Id="123" />
是什麼給了?