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

Car*_*sap 7 html css xslt

我的文件base.css包含:

ol > li { color: red; }
Run Code Online (Sandbox Code Playgroud)

我尝试读取它并使用XSLT 2.0未解析文本(Saxon 9.1.0.2J)将其渲染到我的HTML输出中,如下所示:

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

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

<style>
ol &gt; li { color: red; }
</style>
Run Code Online (Sandbox Code Playgroud)

...哪个不像"ol> li"那样.

如何使用XSLT将'>'字符渲染到我的元素中?我尝试过使用replace(...,'>','>'),但仍会呈现'>' 进入HTML.

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

Mic*_*Kay 2

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

(3.0) 规范是这样说的:

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

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