首页 文章

XSLT输出XSLT [重复]

提问于
浏览
0

这个问题在这里已有答案:

最近我对XSLT的奇妙力量感到惊讶 . 我发现最有趣的一件事是使用XSLT处理其他XSLT文档以生成动态模板 . 虽然我可以想象使用原始文本输出在输出中生成必要的XSL标记是多么容易(例如, <![CDATA[<xsl:value-of="" />]]> ),因为根据定义XSLT是一个XML文档,确定有一种方法可以生成有效的XSLT输出 . 一棵XML树 . 如果有的话,如何在不混淆XSLT解析器的情况下完成此操作(因为输入模板和输出都将存在于同一命名空间中)?

1 回答

  • 0

    感谢Pawel对 xsl:namespace-alias 的见解 . 我似乎没有在搜索引擎上找到合适的关键字 . 对于任何对工作解决方案感兴趣的人,可以是一个例子:

    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:axsl="http://www.w3.org/1999/XSL/TransformAlias">
    
    <xsl:namespace-alias stylesheet-prefix="axsl" result-prefix="xsl"/>
    
    <xsl:template match="/">
        <axsl:stylesheet version="1.0">
            <axsl:template match="/">
                <axsl:value-of select="'Some text'" />
            </axsl:template>
        </axsl:stylesheet>
    </xsl:template>
    
    </xsl:stylesheet>
    

    哪会导致输出:

    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        <xsl:template match="/">
            <xsl:value-of select="'Some text'" />
        </xsl:template>
    </xsl:stylesheet>
    

相关问题