इस Stack Overflow answer में कल्पना करें कि आपको एक विशेष तालिका और उसके बाद की सभी पंक्तियों को चुनने की आवश्यकता है। एचटीएमएल का अनुमोदन करने के कारण, निम्न में से सभी तीन कानूनी मार्कअप हैं:पदानुक्रम में वैकल्पिक तत्व के साथ XPath
<table id="foo"><tr>...</tr></table>
<table id="foo"><tbody><tr>...</tr></tbody></table>
<table id="foo"><tr>...</tr><tbody><tr>...</tr></tbody></table>
आप टेबल में नेस्ट टेबल के बारे में चिंतित हैं, और इसलिए की तरह
table[@id="foo"]//tr
एक XPath का उपयोग नहीं करना चाहते हैं।
आप एक regex के रूप में अपने वांछित XPath निर्दिष्ट कर सकते हैं, तो यह कुछ ऐसा दिखाई दे सकता है:
table[@id="foo"](/tbody)?/tr
सामान्य तौर पर, कैसे आप एक XPath अभिव्यक्ति है कि एक चयनकर्ता के पदानुक्रम में एक वैकल्पिक तत्व की अनुमति देता है निर्दिष्ट कर सकते हैं?
स्पष्ट होने के लिए, मैं वास्तविक दुनिया की समस्या को हल करने या किसी विशिष्ट दस्तावेज़ के विशिष्ट तत्व का चयन करने की कोशिश नहीं कर रहा हूं। मैं समस्याओं की एक वर्ग को हल करने के लिए तकनीकों के लिए पूछ रहा हूँ।
ओह, और सादगी और व्यापकता की खातिर' tfoot' HTML में कानूनी तत्वों। – Phrogz