如何修改XSL文本元素颜色?现有代码失效求正确方案
解决XSL文本颜色修改的问题
你原来的代码没法运行是因为 <xsl:text> 本身不支持color属性哦——这个元素的作用只是输出纯文本,用来精确控制文本内容(比如保留空格、避免多余的空白节点),它本身没有样式相关的配置项。
要给文本加上颜色,得根据你最终输出的格式来选择正确的方式:
方式1:输出HTML页面时用HTML元素
如果你的XSL是用来生成HTML的,直接用HTML的<span>标签结合内联样式就可以了:
<span style="color: green;"> <xsl:text>Sold</xsl:text> </span>
要是文本内容很简单,也可以不用<xsl:text>,直接写:
<span style="color: green;">Sold</span>
方式2:生成PDF等格式化文档时用XSL-FO
如果是用XSL-FO来生成PDF这类格式化文档,就得用fo:inline元素来设置颜色:
<fo:inline color="green"> <xsl:text>Sold</xsl:text> </fo:inline>
简单来说,样式控制是由你最终输出的目标格式的规则来决定的,<xsl:text>只是负责输出文本内容,样式要交给对应格式的专用元素来处理~
内容的提问来源于stack exchange,提问作者Alexia
相关产品推荐
相关产品推荐

