我得到了以下相关元素的XML:
<doc>
<!-- A block of style elements. -->
<styles>
<style id='style-1' class='bar'>…</style>
<style id='style-2' class='baz'>…</style>
…
</styles>
<!-- Document content. -->
<p style='style-1'>…</p>
<p style='style-2'>…</p>
…
</doc>对于一个XSLT模板,我正在寻找一个XPath表达式,它匹配“一个样式为bar类的元素p”?
发布于 2018-03-30 03:45:12
纯XPath 1.0表达式,它将返回样式为类栏的所有元素p:
//p[@style = //style[@class='bar']/@id]基本上,XPath查找<p>元素,其中style属性等于id of <style class='bar'>。
发布于 2018-03-30 04:51:45
假定这是文档结构的准确表示,我建议使用此方法,不使用双斜杠(//),因为双斜杠可能非常低效:
/doc/p[@style = /doc/styles/style[@class = 'bar']/@id]https://stackoverflow.com/questions/49567802
复制相似问题