微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在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>

原文地址:https://www.jb51.cc/css/214719.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。