2011-11-02 56 views
1
<url>{substring-before(data($y/link[1]/@href),'&')}</url> 

試圖運行,這是錯誤的Xquery與FN:串 - 前

No closing ';' found for entity or character reference 

任何人有任何的想法是什麼導致了這個錯誤,當我得到的錯誤?

回答

4

在XQuery中,字符串文字(和某些其他上下文中)中的&符號需要轉義爲&amp;,就像它在XML中一樣。

1

邁克爾凱是正確的。 「&」在XML中是非法的。它總是由一個實體陪伴。示例包括& < >等 如果您認爲由於您正在搜索「&」而不是「&」而導致您的搜索不起作用,那是不正確的想法。作爲一個人,試着在你的腦海裏翻譯「&」真的看起來像「&」到XML解析器。這樣做會起作用:

<url>{substring-before(data($y/link[1]/@href),'&amp')}</url>