我正在尝试在每个<xi:include>
元素之后添加处理指令。
<xsl:template match="@*|node()" name="identity">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="xi:include">
<xsl:call-template name="identity"/>
<xsl:processing-instruction name="hard-pagebreak"/>
</xsl:template>
问题在于,只要我将其应用于我的contents.xml文件(这是一大堆<xi:include>
的列表),标记就会被解析,文件基本上被展平(即{{ 1}}被替换为它们所代表的内容。每当我在contents.xml
有没有办法在没有<xi:include>
解析的情况下运行样式表?也许在样式表的持续时间内关闭一个xslt解析器???
答案 0 :(得分:1)
使用不理解xi:include
的XML解析器或设置正确的开关以防止解析器进行xi:include
处理。
如果无法做到这些,那么您必须将处理包含在生成xi:include
元素的同一转换中。
答案 1 :(得分:0)
您只需要使用不了解<xi:include>
标记的XSLT处理器。你现在用什么来运行XSLT?
我很确定Microsoft XSLT处理器不会处理这些: