0
declare namespace xf = "http://example.com"
declare namespace my = "http://example.com"

どうすれば次のようなものを比較できますか

<1 xsi:type="xf:myDef">
<1 xsi:type="my:myDef">

上記の 2 つの要素は等しいですが、属性を文字列として比較すると失敗します。URI を解決して、プレフィックスとタイプの両方を比較するにはどうすればよいですか?

ありがとう

4

1 に答える 1

1

上記のように:

W3 XML 仕様では、属性の値に対する特別な解釈はありません (xml:space、xml:lang などの XML 名前空間のいくつかのグローバル属性を除いて)。標準の XPath 2.0 deep-equal() 関数プレフィックスに関係なく、同じ名前空間にある要素または属性名が等しいと見なされます. 属性値についてはそうではありません. XMLはXSDの前に発生し、それを認識していません.

于 2014-06-24T16:13:17.880 に答える