如何使用相对路径在 XSLT 中引用 CSS

Posted

技术标签:

【中文标题】如何使用相对路径在 XSLT 中引用 CSS【英文标题】:How to refer CSS in XSLT using relative path 【发布时间】:2021-09-24 17:32:09 【问题描述】:

您好,我想从我的 XSL 2.0 文件中引用 CSS。 我在 00BatchLevelStylesheet.xsl 中的代码引用 css 和 JS 如下,但它不引用 ss 和 scripts 文件夹下的那些文件。我正在运行一个弹簧启动应用程序。我没有收到任何错误,但它没有引用该文件夹中的 css。如果我硬编码应用样式的路径。我在做什么错。

Java 调用

String xsl= "Main_Stylesheets\\00BatchLevelStylesheet.xsl";
TransformerFactory transformerFactory = 
TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer(new 
javax.xml.transform.stream.StreamSource(xsl));
transformer.transform (new 
javax.xml.transform.stream.StreamSource("sample.xml"), new 
javax.xml.transform.stream.StreamResult
      (new FileOutputStream("sampleresult.html"))); 

XSL 中的引用

<link rel="stylesheet" href="ss/jquery-ui_1-11-2.css"/>

【问题讨论】:

【参考方案1】:

也许这些链接是相对于 XSLT 样式表而不是 HTML 页面的?你真的没有提供足够的信息来解决这个问题——我们需要更多的上下文。您是否在浏览器中运行 XSLT 1.0,以及如何调用样式表?

【讨论】:

嗨,添加了更多关于我如何调用 XSL 并尝试创建 HTML 的上下文。我正在使用 XSL 2.0。 好的,你正在生成 HTML。问题在于您正在生成的 HTML,而不是您用来生成它的 XSLT 代码。具体来说,从 HTML 页面到 CSS 样式表的相对 URI 是错误的。也许“我正在尝试从我的 XSL 2.0 文件中引用 CSS”这句话暗示了您的问题。 XSLT 样式表不引用 CSS,它生成引用 CSS 的 HTML。 是的,你是正确的。这就是问题所在。谢谢

以上是关于如何使用相对路径在 XSLT 中引用 CSS的主要内容,如果未能解决你的问题,请参考以下文章

CSS引用图片相对路径符号怎么写?

在 WebLogic 中使用相对路径调用 xslt document() 函数

IE 在引用 CSS 文件时不支持基本元素中的相对路径

前端 - jscss外部文件的相对路径问题

使用相对路径时,./../../../,代表的什么?

加载 XSLT 文件时解析相对路径