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



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

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

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

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

知道可以做些什么来保留我的造型吗?

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

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

根据您要更改<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()'/>)。

首先,

我想感谢大家花时间回答我。我很高兴看到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>就可以解决问题。

再次,非常感谢你们!

最新更新