html - 尝试使用 XSLT 2.0 在 HTML <style> 元素中嵌入包含 '>' 子选择器的 CSS

标签 html css xslt

我的文件 base.css 包含:

ol > li { color: red; }

我尝试使用 XSLT 2.0 unparsed-text (Saxon 9.1.0.2J) 读取它并将其呈现到我的 HTML 输出中,如下所示:

<style>
  <xsl:sequence select="unparsed-text(fn:iri-to-uri($CSS-BASE-FILE))"/>
</style>

但是,unparsed-text() 函数正在将“>”转换为“>”在 HTML 中,像这样:

<style>
ol &gt; li { color: red; }
</style>

...这不像“ol > li”那样。

如何使用 XSLT 将“>”字符呈现到我的元素中?我试过使用 replace(..., '>', '>'), 但仍然呈现 '>'进入 HTML。

或者,是否有另一种方法可以指定 CSS 子选择器,而无需将文字“>”字符嵌入到我的 HTML 中?

最佳答案

您使用的输出方法是 XML、XHTML 还是 HTML?

(3.0) 规范是这样说的:

HTML 输出方法不得对任何文本节点后代、元素节点后代、脚本或样式元素的任何属性执行转义。

所以我怀疑你没有使用HTML输出方式。

关于html - 尝试使用 XSLT 2.0 在 HTML &lt;style&gt; 元素中嵌入包含 '>' 子选择器的 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20110017/

相关文章:

javascript - jQuery:获取内联样式而不是 body 的 CSS

xslt - 关于 XSL 模板匹配的基本问题

xml - 在解析 XSL-FO 模板创建 PDF 时遇到错误?

css - 在div中居中图片

javascript - LocalStorage noUiSlider 值 ||重要的! : (

css - Bootstrap Div 中的垂直对齐图像

json - 使用 XSLT 创建 JSON 输出单引号转换(XML 到 JSON)

html - 悬停时图片显示文本为 "rollover"

html - 如何将一个绝对元素置于另一个绝对元素的中心,可用于旋转和动画目的

html - 使 div 宽度适合内联 block 子项