【发布时间】:2014-10-13 13:40:21
【问题描述】:
XSLT 是否可以在 XML 中保留锚点和其他嵌入的 HTML 标记?
背景:我正在尝试使用 XSLT 将 HTML 文档转换为带有 XSL 样式表的 XML。原始 HTML 文档的内容散布着锚标记(例如,一些超链接在这里和那里)。我已将该内容复制到我的 XML 中,但 XSLT 输出缺少锚标记。
示例 XML:
<?xml version="1.0" ?>
<observations>
<observation><a href="http://jwz.org">Hyperlinks</a> disappear.</observation>
</observations>
XSL 示例:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/html">
<xsl:output method="html" indent="yes" encoding="UTF-8"/>
<xsl:template match="/observations">
<html>
<body>
<xsl:value-of select="observation"/>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
输出:
<html xmlns="http://www.w3.org/1999/html">
<body>Hyperlinks disappear.</body>
</html>
我已经阅读了一些关于 stackoverflow 的类似文章,并查看了维基百科上的身份转换页面;我开始使用 xsl:copy-of 获得一些有趣的结果,但我对 XSLT 的了解还不够,无法让嵌入在每个 XML 元素中的所有单词和标签出现在生成的 HTML 中。任何帮助将不胜感激。
【问题讨论】: