में मूल्यों पर आधारित सूची इस एक्सएमएलफ़िल्टर XPath जुड़े सूची
<DiagList>
<Diag id="1" icd="400"/>
<Diag id="2" icd="401"/>
<Diag id="3" icd="402"/>
<Diag id="4" icd="400"/>
</DiagList>
<ICDList>
<ICD id="400" description="First one"/>
<ICD id="401" description="Second one"/>
<icd id="402" description="Third one"/>
<ICDList>
मैं एक XPath क्वेरी कि Diags का चयन करेंगे जहां जुड़े आईसीडी के विवरण कुछ पाठ शामिल लिखना चाहते हैं को देखते हुए।
तो उदाहरण के लिए यदि मैंने "सेंट" का टेक्स्ट निर्दिष्ट किया है तो मुझे डायग्स "1" और "4" प्राप्त करना चाहिए। अगर मैं "आईआर" का पाठ निर्दिष्ट करता हूं तो मुझे डायग्स "1", "3" और "4" प्राप्त करना चाहिए।
मैं
/DiagList/Diag[contains(lcase(/ICDList/ICD[@id=/DiagList/Diag/@icd]/@description), 'st')]
और बदलाव की कोशिश की।
मैं इसे काम करने में सक्षम नहीं हूं। ऐसा लगता है कि यह @icd के नेस्टेड संदर्भ पसंद नहीं है।
क्या यह कुछ संभव है?
धन्यवाद बेन
हम्म। क्या होगा यदि आपने "एक" लिखा है? तो आप 1,2,3,4 चाहते हैं? – FailedDev
उत्कृष्ट सवाल, +1। XPath हमें एक सुरुचिपूर्ण, एकल अभिव्यक्ति लिखने की संभावना देता है जो वांछित नोड्स का चयन करता है। कोई मजेदार एक्सटेंशन फ़ंक्शन या एक्सएसएलटी-केवल-फ़ंक्शंस आवश्यक नहीं है। –