这是我的xml文件。
<w:document>
<w:body>
<w:p>
<w:pPr>
<w:pStyle w:val="Heading1"/>
</w:pPr>
<w:r>
<w:t>Para1</w:t>
</w:r>
</w:p>
<w:p>
<w:pPr>
<w:pStyle w:val="Heading2"/>
</w:pPr>
<w:r>
<w:t>Para2</w:t>
</w:r>
</w:p>
<w:p> <!-- Current Node -->
<w:pPr>
<w:pStyle w:val="Heading3"/>
</w:pPr>
<w:r>
<w:t>Para3</w:t>
</w:r>
</w:p>
</w:body>
</w:document>
所以,
<w:p>
。 <w:p>
[1]的在前同级文件<w:pPr>-<w:pStyle>
[1]的<w:p>
-> @ w:val。 我尝试过这个...但是失败了...
preceding-sibling::(ancestor::w:p)[1]/w:pPr/w:pStyle/@w:val
最佳答案
如果我理解正确,则您需要:
ancestor::w:p[1]/preceding-sibling::w:p[1]/w:pPr/w:pStyle/@w:val
如果您当前的节点是
<w:pStyle w:val="Heading3"/>
。如果当前节点是
w:p
,则您不再需要祖先,而是直接在前一个同级:preceding-sibling::w:p[1]/w:pPr/w:pStyle/@w:val
希望能帮助到你。
关于xml - 如何使用xslt2.0检索当前节点的(ancestor::w:p)的先前同级?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7440699/