将 xsl:stylesheet 应用于 xml 文件

Apply xsl:stylesheet to xml file

提问人:Mocking Bird 提问时间:11/9/2023 最后编辑:Daniel HaleyMocking Bird 更新时间:11/9/2023 访问量:43

问:

每次我创建一个带有 xsl 文件的 xml 文件以在其上应用样式表时,我最终都会得到一个不考虑样式表的网页。

下面是文件的简单示例:

XML 文件:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="student.xsl" version="2.0"?>
<class>
    <student>
        <firstname>First Name</firstname>
        <lastname>Last Name</lastname>
    </student>
</class>

XSL 文件:

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match = "/">
        <html>
            <body>
                <h2>Student List</h2>
            </body>
        </html>
    </xsl:template>
</xsl:stylesheet>

这是网页上显示的内容:

看图片

通常,它应该显示“学生列表”,而不是“名字姓氏”。

ps:我尝试了浏览器 Firefox、Chrome、Microsoft Edge 和我遇到了同样的问题。

XML XSLT

评论

0赞 Pierre François 11/9/2023
XML 文件和 XSL 文件用于生成输出,例如 HTML,但您需要调用某个处理器来完成这项工作。如果您的网站支持 PHP,请编写一个调用 XSLTProcessor 函数的 PHP 程序,并将 XML 和 XSL 文件作为输入以生成 HTML 输出。请参阅 php.net/manual/en/xsltprocessor.transformtodoc.php 中的示例
2赞 Daniel Haley 11/9/2023
关于浏览器不执行样式表,有很多问题/答案。这是其中之一:stackoverflow.com/q/60709807/317052
2赞 Daniel Haley 11/9/2023
此外,除非您使用的是 SaxonJS,否则您不会让任何浏览器支持大于 1.0 的 XSLT。
1赞 Michael Kay 11/9/2023
您需要确切地告诉我们您在做什么。问题的一个常见原因是,当 XML 和/或 XSLT 位于本地文件中时,尝试从浏览器运行,而不是通过 HTTP 访问。
1赞 plykkegaard 12/6/2023
如果您正在寻找一种简单的方法来转换 XML 文件以达到自己的目的,请使用带有 XML 工具的 Notepadd++ 进行转换:herongyang.com/XML/...

答: 暂无答案