【发布时间】:2017-01-06 20:06:20
【问题描述】:
我目前正在将 XSL 用于工作项目,但遇到了一个问题。
我正在尝试读取如下所示数据库的值:
<fo:block font-weight='bold>hello</fo:block>
似乎 XSL 正在剥离 <fo:block> 元素,因为它只给我文本(我只看到 Hello,而不是粗体,而且它的行为不像块元素)。我觉得,不知何故,XSL 将从数据库读取的值解释为字符串,并去除 <fo> 标记,只留下文本。
知道可以做些什么来保留我的样式吗?
(显然这个例子已经简化了,要显示的文本比那个长)
编辑:自我回答以供将来参考
【问题讨论】:
-
您使用什么技术来编译
.fo文件?在处理器创建输出之前,您是否有权访问该文件? -
另外,您是否将前缀
fo绑定到XSL-FO?仔细检查一下,您的问题听起来完全像 FO 处理器因为错误的命名空间而忽略它。 -
@Boldewyn 是的,它是前缀,我的模板的其余部分是使用
fo编写的,只有从数据库读取的部分似乎是一个问题 -
@Boldewyn 是的,我可以访问那个 .fo 文件,我们会检查一切是否正常。有什么想法吗?
-
你能展示一下 XSLT 吗?听起来您正在使用
xsl:value-of而不是xsl:copy-of或xsl:apply-templates没有匹配的模板来复制元素。