首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么"xsl:if test“在Barcode4j插件上不起作用

为什么"xsl:if test“在Barcode4j插件上不起作用
EN

Stack Overflow用户
提问于 2019-01-17 22:19:46
回答 1查看 81关注 0票数 1

各位会员下午好!我在测试条形码的值时遇到问题。首先,我将向您展示xsl和xml代码,然后我将解释问题所在。Xsl代码:

代码语言:javascript
复制
<fo:table-cell  font-size="7" padding="0.5mm" border-width="0.2mm" border-style="transparent">
                                    <fo:block>
                                        <xsl:if test="gsmsg/barcode">
                                            <fo:block>
                                              <fo:instream-foreign-object>
                                              <xsl:variable name="Barcod">
                                              <xsl:value-of select="gsmsg/barcode"/>
                                              </xsl:variable>
                                                        <barcode:barcode xmlns:barcode="http://barcode4j.krysalis.org/ns"
                                                         message="{$Barcod}" orientation="0">
                                                        <barcode:code128>
                                                    <barcode:height>8mm</barcode:height>
                                                </barcode:code128>
                                            </barcode:barcode>
                                              </fo:instream-foreign-object>
                                            </fo:block>
                                        </xsl:if>
                                    </fo:block>
                                </fo:table-cell>

Xml源代码:

代码语言:javascript
复制
<gsmsg xmlns="">
    <IdentificativoSdI>169077607</IdentificativoSdI>
    <NomeFile>IT01942890995.xml</NomeFile>
    <Formato>FPR12</Formato>
    <MessageId>1185389295</MessageId>
    <TentativiInvio>1</TentativiInvio>
    <Lotto>405</Lotto>
    <attpass>P</attpass>
    <Versione>0.7</Versione>
    <TipoMsg>DO</TipoMsg>
    <barcode/>
    <note/>
</gsmsg>

条码的值为空。从理论上讲,<xsl:if test="gsmsg/barcode">必须验证是否有值,如果没有,fop就不会读取Barcode4j插件。在我的例子中,消息不起作用,因为如果继续阅读Barcode4j插件,打印就会崩溃,因为条形码的"message“参数不能为空。为什么xsl:if in在我的例子中不起作用?请帮帮我,

致以最好的问候,马可

EN

回答 1

Stack Overflow用户

发布于 2019-01-17 22:31:16

从理论上讲,

代码语言:javascript
复制
<xsl:if test="gsmsg/barcode">

测试barcode元素是否存在。

如果要测试文本值是否存在,请执行以下操作:

代码语言:javascript
复制
<xsl:if test="string(gsmsg/barcode)">

或者:

代码语言:javascript
复制
<xsl:if test="gsmsg/barcode/text()">
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54237923

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档