最近我对XSLT的奇妙能力感到惊讶。我发现最有趣的事情之一就是使用XSLT处理其他XSLT文档以生成动态模板。尽管我可以想象使用原始文本输出在输出中生成必需的XSL标签(例如,<![CDATA[<xsl:value-of="" />]]>
)的方式可以轻松完成,但由于XSLT根据定义为XML文档,因此确实可以生成有效的XSLT输出一个XML树。如果可以做到这一点,又不会混淆XSLT解析器(因为输入模板和输出都会存在于同一个命名空间中),这怎么做呢?XSLT输出XSLT
0
A
回答
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>
+0
如果你看看http://www.cloudformatter.com/Nimbus,它是究竟是如何工作的。它使用xslt将从HTML和CSS派生的xml转换为用于xsl fo的xslt。 –
相关问题
- 1. XSLT从输出
- 2. XSLT输出HTML
- 3. XML/XSLT输出对
- 4. 输出字符XSLT
- 5. XSLT:输出条件
- 6. 问题XSLT输出
- 7. XSLT递归输出
- 8. XSLT当需要的输入和输出xslt相同时
- 9. XSLT复印输出重点
- 10. 店输出到XSLT变量
- 11. 无输出的XSLT转换
- 12. XSLT转换输出顺序
- 13. XSLT输出不显示
- 14. xslt输出值的疑惑
- 15. xslt输出字符“ ”
- 16. XSLT生成多输出
- 17. XML/XSLT属性输出
- 18. 输出值XSLT/XPath 2.0中
- 19. XSLT输出Google图表
- 20. XSLT输出不正确
- 21. 复印XML输入输出由XSLT
- 22. XSLT使用XSLT
- 23. XSLT使用XSLT
- 24. XSLT 1.0:在XSLT
- 25. 使用XSLT来削减XML输出
- 26. XSLT for-each循环表输出
- 27. XSLT到CSV:输出元素到多行
- 28. 使用XSLT创建Excel(SpeadsheetML)输出
- 29. 来自XSLT转换的幻像输出
- 30. XSLT输出纯文本表格
阅读上的xsl:命名空间别名 – Pawel
使用XSLT来生成另一个XSLT的例子样式表可以在XSLT规范本身中找到:http://www.w3.org/TR/xslt/#element-namespace-alias –