XSL-FO | FO:正在删除标签

时间:2017-01-06 20:06:21

标签: xslt xsl-fo

我目前正在使用XSL进行工作项目,但我遇到了一个问题。

我正在尝试读取数据库的值,如下所示:

<fo:block font-weight='bold>hello</fo:block>

似乎XSL正在剥离<fo:block>元素,因为它只给我文本(我只看到Hello,而不是粗体,并且它的行为不像块元素)。我想,不知何故,XSL将从DB读取的值解释为字符串,并删除<fo>标签,仅留下我的文本。

知道可以做些什么才能保留我的造型?

(显然这个例子已经简化,要显示的文字比那个长)

编辑:自我回答以供将来参考

2 个答案:

答案 0 :(得分:0)

根据您要将<xsl:value-of select='/fulfill-list/ticket-list/list-item/eventTicketConte‌​nt/xmlTicketContent/‌​ticketdescription'/>更改为<xsl:copy-of select='/fulfill-list/ticket-list/list-item/eventTicketConte‌​nt/xmlTicketContent/‌​ticketdescription'/>(或者<xsl:copy-of select='/fulfill-list/ticket-list/list-item/eventTicketConte‌​nt/xmlTicketContent/‌​ticketdescription/node()'/>)的评论。

答案 1 :(得分:0)

首先,我要感谢大家花时间回答我。我很高兴看到SO社区如此强大。

我用这种方式解决了我的问题:

 <xsl:for-each select="/fulfill-list/ticket-list/list-item/eventTicketContent/xmlTicketContent/ticketdescription/node()">
      <xsl:copy-of select="child::node()" />
    </xsl:for-each>

我真的不知道引擎盖下发生了什么以及<fo>标签被移除的原因,但它们是。循环遍历所有这些并使用<xsl:copy-of>就可以了。

再一次,非常感谢y&#39; all!