XSLT/XPath : how to use xsl:apply-templates on all but specific elements

标签 xslt xpath

我有以下 XML 代码:

<detaileddescription>
   <para>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum aliquam
   interdum erat, <computeroutput>monospace output</computeroutput> eget rhoncus nunc
   porttitor ut. Ut ac metus sed erat rutrum dignissim.
   <parameterlist kind="param">
       <parameteritem>
           <parameternamelist>
               <parametername>item1</parametername>
           </parameternamelist>
           <parameterdescription>
               <para>Param description.</para>
           </parameterdescription>
        </parameteritem>
    </parameterlist>
    <simplesect kind="return">
        <para>
            <computeroutput>ERR</computeroutput> mattis nunc sed velit ultricies
            volutpat. Suspendisse potenti. Vivamus nec ligula blandit urna lobortis   
            tempus.
        </para>
     </simplesect>
     </para>
 </detaileddescription>

我想仅对 detaileddescription/para 的文本节点子节点使用 xsl:apply-templates元素和 <computeroutput>文本节点内的元素。换句话说,我只想将 apply-templates 应用于以下内容:

   Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum aliquam
   interdum erat, <computeroutput>monospace output</computeroutput> eget rhoncus nunc
   porttitor ut. Ut ac metus sed erat rutrum dignissim.

谁能告诉我如何使用 XSLT 2.0 和 XPath 2.0 来做到这一点?

最佳答案

如果我正确理解你的问题,这应该有效:

<xsl:apply-templates select="detaileddescription/para/(text()|computeroutput)"/>

当然,取决于上下文注释。否则,您也可以指仅适合您想要的元素的相应模板:

<xsl:template match="detaileddescription/para/(text()|computeroutput)"/>
  <xsl:copy-of select="." /> 
  <!-- or whatever you want to do with it -->
</xsl:template>

希望这有帮助,

关于XSLT/XPath : how to use xsl:apply-templates on all but specific elements,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9752656/

相关文章:

java - 使用 XSLT 转换 XML 时如何防止 fatal error

xslt - 在 XSLT 变量中构造 XML 元素序列

xml - 如何编写 xsl 样式表来根据匹配标签的内容翻译文档的某些部分......之类的?

html - 提取文本 xpath scrapy

xml - 如何选择除文本节点之外的所有子节点?

java - 在 XSL 转换期间读取并替换 XML 中的常量

xml - 在 xslt 中格式化日期

java - 使用x路径在java中加载xml

python - Selenium,选择 <span> 内的元素

java - XQuery 表达式 - 屏幕抓取 - Saxon/JTidy