我目前正在使用XSL进行工作项目,但我遇到了一个问题。
我正在尝试读取数据库的值,如下所示:
<fo:block font-weight='bold>hello</fo:block>
似乎XSL正在剥离<fo:block>
元素,因为它只给我文本(我只看到Hello,而不是粗体,并且它的行为不像块元素)。我想,不知何故,XSL将从DB读取的值解释为字符串,并删除<fo>
标签,仅留下我的文本。
知道可以做些什么才能保留我的造型?
(显然这个例子已经简化,要显示的文字比那个长)
编辑:自我回答以供将来参考
答案 0 :(得分:0)
根据您要将<xsl:value-of select='/fulfill-list/ticket-list/list-item/eventTicketContent/xmlTicketContent/ticketdescription'/>
更改为<xsl:copy-of select='/fulfill-list/ticket-list/list-item/eventTicketContent/xmlTicketContent/ticketdescription'/>
(或者<xsl:copy-of select='/fulfill-list/ticket-list/list-item/eventTicketContent/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!