2
比方說,我有一個謂語:xdmp:電子郵件過濾掉的電子郵件地址,沒有通過謂詞
declare function local:should-send-email($email-address) {
... fn:true() ...
... fn:false() ...
};
然後,我對使用一個電子郵件元素與xdmp:email
:
<em:Message
xmlns:em="URN:ietf:params:email-xml:"
xmlns:rf="URN:ietf:params:rfc822:">
<rf:subject>Test</rf:subject>
<rf:from>
<em:Address>
<em:name>Test Name</em:name>
<em:adrs>[email protected]</em:adrs>
</em:Address>
</rf:from>
<rf:to>
<em:Address>
<em:name>Test Name</em:name>
<em:adrs>[email protected]</em:adrs>
</em:Address>
<em:Address>
<em:name>Test Name</em:name>
<em:adrs>[email protected]</em:adrs>
</em:Address>
</rf:to>
<em:content>Hello World</em:content>
</em:Message>
可以說,其中一個地址通過謂詞,一個不會。什麼是一個有效的方式來刪除em:地址元素爲不通過的?
的偉大工程! 我只改變了一件小事。之後: $ node/@ *, 我加了: $ node/text(), 感謝您的高效解決方案。 –
@TutanRamen啊,我明白了。一個*非常輕微*更緊湊的方法可以將'$ node/*'更改爲'$ node/node()'。這還會使文本節點和其他節點保持其原有順序,這在這裏不應該成爲問題,但如果您使用更復雜的XML進行類似的操作,只需要簡單提供一次即可。我上面做了更改以供參考。 – wst
非常方便的小功能 –