मैं इतना और अन्य स्थानों पर जो निम्न काम करने के लिए माना जाता है पर देखा है (इस उदाहरण ओ रेली XSLT कुकबुक से सीधे उठाया है):कैसे XPath में सेट कार्रवाई करने 1.0
(: intersection :)
$set1[count(. | $set2) = count($set2)]
(: difference :)
$set1[count(. | $set2) != count($set2)]
और यह ऐसा लगता है कि यह ठीक होना चाहिए, हालांकि यह विफल होने लगता है जब चर के बजाए वास्तविक पथों के साथ प्रयोग किया जाता है। उदाहरण के लिए, निम्न दस्तावेज़
<a>
<new>
<val>1</val>
<val>2</val>
</new>
<old>
<val>2</val>
<val>3</val>
</old>
</a>
और xPath अभिव्यक्ति /a/new/val[count(. | /a/old/val)=count(/a/old/val)]/text()
मैं पाने के लिए उम्मीद करेंगे दिया नोड सेट { 2 }
लेकिन इसके बजाय { 1 2 }
हो रही है। कोई विचार क्या मैं गलत कर रहा हूँ?
अच्छा सवाल, +1। अपनी समस्या के स्पष्टीकरण के लिए और एक सरल और आसान एक-लाइनर XPath अभिव्यक्ति के लिए मेरा उत्तर देखें - समाधान - कोई अन्य उत्तर इस समय समाधान का प्रस्ताव नहीं देता है। :) –