<module>
<component>
<section>
<ptemplateId root="1.8"/>
<entry>
<observation>
<templateId root="1.24"/>
</observation>
</entry>
</section>
</component>
<component>
<section>
<ptemplateId root="1.10"/>
<entry>
<observation>
<templateId root="1.24"/>
</observation>
</entry>
</section>
</component>
<component>
<section>
<ptemplateId root="1.23"/>
<entry>
<observation>
<templateId root="1.24"/>
</observation>
<entryRelation>
<observation>
<templateId root="1.24"/>
</observation>
</entryRelation>
</entry>
</section>
</component>
<component>
<section>
<ptemplateId root="1.8"/>
<entry>
<observation>
<templateId root="1.24"/>
</observation>
<entryRelation>
<observation>
<templateId root="1.28"/>
</observation>
</entryRelation>
</entry>
</section>
</component>
</module>
我想在一个基于ptemplateid的模板中选择观察,我能知道它的匹配表达式吗?
<xsl:template match"******">
<!-- some processing goes here to process
observation if ptemplateId is 1.8... -->
</xsl:template>
<xsl:template match"******">
<!-- some processing goes here to process
observation if ptemplateId is other than 1.8... -->
</xsl:template>
there can be nested observation's also. (i am looking for a match expression with axis expressions to make it more generic)
最佳答案
试试这个:
/module/component/section[ptemplateId/@root='1.23']//observation
当然,用您想要的ptemplateid/@root值代替“1.23”。这应该包括嵌套的观察结果,只要它们作为包含ptemplateid的节的子级出现在任何地方。
您可以在我的在线xpath测试仪here上进行测试。
这对你有用吗?
编辑:您也可以考虑将此变体放入
<xsl:template match="..." />
中。<xsl:template match="observation[ancestor::section/ptemplateId/@root = '1.23']"/>