如何在XSLT中复制外部CSS和JavaScript

前端之家收集整理的这篇文章主要介绍了如何在XSLT中复制外部CSS和JavaScript前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个输出 HTML的XSL转换.在头元素中我有一个CSS文件参考.
<link rel="stylesheet" type="text/css" href="css/styles.css"/>

我想创建一个独立的HTML结果没有外部引用,因此我想包括外部CSS引用.为了防止代码重复,我不想将样式硬编码到XSLT模板中,所以我正在寻找一些XSLT命令来复制CSS文件文件内容.我知道xsl:include或xsl:import将不起作用,因为他们期望XSLT文件.也没有

<xsl:copy-of select="document('css/styles.css')"/>

因为它希望符合XML标准.

我也有一些JavaScript函数声明,我也想复制.

是否可以使用纯XSLT,或者是否需要对XSLT文件进行一些预处理(或HTML文件的后期处理)?

解决方法

XSLT 2.0提供了unparsed-text()函数,通过不是XML的URL读取文档.

在XSLT 1.0中,如果您不需要关于CSS的脚本,则可以使用以下内容将CSS文件与XML兼容.幸运的是,浏览器容忍HTML注释.

CSS

<!--/*--><root><![CDATA[<!--*/--> 
body
{
    margin: 0;
}
div > p
{
    background-color: yellow;
}
<!--/*-->]]></root><!--*/-->

XSLT

<style type="text/css">
    <xsl:value-of select="document('test.css')" disable-output-escaping="yes" />
</style>

猜你在找的CSS相关文章