【发布时间】:2015-07-15 09:56:10
【问题描述】:
据我了解,没有办法让 XSLT 1.0 在样式表中接受直接功能,如“base-uri()”或类似的,我已经阅读了一种方法,当您“将源 xml 文件名作为样式表的参数”。
这到底是什么意思?
我的情况是我有大量的 XML 文件和一个样式表,我想将它们用于所有这些文件。
在 head 部分,当 XSLT 转换时,我真的很想显示源 xml 文件名(即调用样式表的文件)。
如何以最简单的方式做到这一点?
非常感谢!
/保罗
【问题讨论】:
-
那么您使用哪个 XSLT 处理器,如何使用它(从命令行,使用另一种编程语言和处理器的 API)?传递参数的方式取决于特定的 XSLT 处理器及其命令行选项或其 API。
-
Martin,这是尽可能简单的。我有一个用“gedit”制作的手工样式表,所有的处理都是由浏览器完成的。我已经在 Firefox、Google Chrome 和 IExplorer 中进行了尝试,并且样式表可以正常工作,所以基本上应该这样做(如果可能的话)——考虑到未来的读者只能使用浏览器。
-
您是否使用 XML 文件中的处理指令将 XML 绑定到样式表,例如
<?xml-stylesheet type="text/xsl" href="mystyle.xsl"?>? -
如何“在浏览器中完成”处理?使用Javascript?还是使用
<?xml-stylesheet ...?>?使用 Javascript 你可以设置一个参数(见developer.mozilla.org/en-US/docs/…),使用<?xml-stylesheet ...?>你不能,除了在Mozilla浏览器中,developer.mozilla.org/en-US/docs/Web/XSLT/PI_Parameters有一些限制。 -
您是否使用
mystyle.xsl将XML 转换为HTML?