1
<fo:block>

It has been recommended that _______________<fo:inline text-decoration="underline"><xsl:value-of select="/root/demo/student_name"/></fo:inline> will receive the following services/placement:      

</fo:block>

嘿伙计们..我正在做一个项目并遇到了这个小问题..只要“”中的“学生姓名”有一个值,它就会显示:

输出:建议_ __ _John DOE 接受以下服务/安置。

我怎样才能想出一个解决方案,只要没有设置“student_name”,它就会只显示“建议_ ___ 将接受以下服务/安置。”?帮我。

4

2 回答 2

2

看看xsl 选择

<fo:block>
<xsl:choose>
  <xsl:when test="/root/demo/student_name != ''">
     <xsl:value-of select="/root/demo/student_name"/>
  </xsl:when>
  <xsl:otherwise>
    <fo:inline text-decoration="underline">   </fo:inline> 
  </xsl:otherwise>
</xsl:choose>
will receive the following services/placement: 
</fo:block>

这不是一个有效的例子,但我希望它能让你知道在哪里看。

首先,请查看文档,阅读所有文档不会超过 15-20 分钟
W3Schools XSLT

于 2013-07-19T06:04:51.727 回答
0

您可以简单地使用 xsl:if 语句,它允许您测试节点是否存在,就像使用 xsl:choose 时一样,但是您可能可以像这样在一行中实现您想要的结果...

<fo:block>

It has been recommended that _______________<xsl:if test="/root/demo/student_name"><fo:inline text-decoration="underline"><xsl:value-of select="/root/demo/student_name"/></fo:inline></xsl:if> will receive the following services/placement:      

</fo:block>

这将检查 student_name 节点是否存在,如果您想检查它是否为空,您可以使用 != 比较器,但在这种情况下似乎没有必要,因为如果它是空白的,如果您不是以任何主要方式改变间距或位置,它不应该伤害任何东西。

于 2013-08-20T15:24:49.253 回答