我正在尝试定义一个XSLT样式表来在浏览器中对XML进行visuzalize。我有一个以下样式表:
<html xsl:version="1.0" xmlns="http://www.w3.org/1999/xhtml" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<head />
<body>
<div>
<xmp>
<xsl:copy-of select="/" />
</xmp>
</div>
</body>
</html>
在bash中运行“xsltproc”具有可以在浏览器中轻松显示的预期结果。但是,将样式表附加为
时 <?xml-stylesheet type="text/xsl" href="stylesheet.xsl" ?>
仅显示文本值,标签丢失。尝试使用FF,Chrome,Safari。
答案 0 :(得分:0)
我不认为将非标准化的xmp
元素与XSLT结合起来会给你你想要的东西。但是,您可以使用样式表将节点序列化为文本,例如来自http://lenzconsulting.com/xml-to-string/xml-to-string.xsl的http://lenzconsulting.com/xml-to-string/。您可以按如下方式导入和使用它:
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:import href="xml-to-string.xsl"/>
<xsl:template match="/">
<html>
<head />
<body>
<div>
<pre>
<xsl:call-template name="xml-to-string">
<xsl:with-param name="node-set" select="node()"/>
</xsl:call-template>
</pre>
</div>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
只要您确保所有样式表模块与XML在同一服务器上,这应该在浏览器中完成。