如何从XML和XSLT样式表输出HTML文件

Jac*_*ack 8 html xml xslt

我已经创建了一个XML数据文档和一个XSLT样式表,我想基于这两个输出HTML文档.我的样式表有标记,我的XML文档有处理器实现(以及各种"xsl:value-of"引用).我的问题是,获取XSLT处理器(我理解为内置于所有Web浏览器)以读取XML和XSLT样式表文件并输出HTML文档的实际"机制"是什么,然后将其显示在浏览器吗?我一直在阅读的XML书没有指明这一点!谢谢

Rob*_*bin 5

您可以使用 Javascript API 以“正常方式”运行 XSL 转换,也可以使用 xml 样式表处理指令,如下所示:

将其加载到您的浏览器中...

<?xml version="1.0"?>
<?xml-stylesheet href="demo.xslt" type="text/xsl"?>
<data>
    <first>first</first>
    <second>second</second>
</data>
Run Code Online (Sandbox Code Playgroud)

和样式表,将其另存为 demo.xslt 与 XML 文件位于同一目录中

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="html"/>
    <xsl:template match="/">
        <html>
            <head><title>Xslt browser demo</title></head>
            <body>
                    Here's my data:
                <xsl:for-each select="/data/*"><b><xsl:value-of select="."/></b></xsl:for-each>
            </body>
        </html>
    </xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)

这对我在 Linux 上的 Firefox 有效。


Dim*_*hev 2

我的问题是,让 XSLT 处理器(据我所知,它内置于所有 Web 浏览器中)读取 XML 和 XSLT 样式表文件并输出 HTML 文档(然后将其显示在浏览器?

这是用于调用其 XSLT 处理器的特定 HTML 浏览器的任务。然后浏览器将 XSLT 转换的结果解释为应该显示的 HTML。请注意,一般情况下,浏览器不需要支持 XSLT 预处理,因此可能存在没有关联 XSLT 处理器并且不支持伪属性xml-stylesheetPI 的浏览器。type="text/xsl"

有关更多信息,请阅读 W3C 规范中的“将样式表与 XML 文档关联起来

要以这种有点原始的方式测试 XSLT 转换,您可以使用浏览器打开 XML 文件(做好功课并了解如何从浏览器打开本地文件)并使用"View Source"类似命令检查结果。

我当然不推荐这种原始的技术。最好使用许多现有的 XSLT IDE 之一,例如 XSelerator、oXygen、Visual Studio 等。