"的xsl:for-各"第一行为空时不工作

时间:2016-07-21 09:27:20

标签: xml xslt

喜欢标题。当XML for-each中的第一个元素为空时,for-each不起作用。

<Uwaga>
  <linia></linia>
  <linia></linia>
  <linia>PLEASE SEND US BACK SIGNED COPY OF THIS INVOICE</linia>
</Uwaga>

我得到了值

<fo:table-cell>
    <xsl:for-each select="Uwaga/linia">
        <fo:block>
            <xsl:value-of select="."/>
         </fo:block>
     </xsl:for-each>
 </fo:table-cell>

结果是空的=不工作。知道为什么吗? 我使用FOP 0.94。 在第一个标签中,linia是值,对于每个正常工作。

1 个答案:

答案 0 :(得分:0)

以下适用于Xalan和Saxon。

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:fo="http://www.example.com/" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    version="1.0">
    <xsl:template match="/">
        <fo:table-cell>
            <xsl:for-each select="Uwaga/linia">
                <fo:block>
                    <xsl:value-of select="."/>
                </fo:block>
          </xsl:for-each>
        </fo:table-cell>
    </xsl:template>
</xsl:stylesheet>

输出结果为:

<?xml version="1.0" encoding="UTF-8"?>
<fo:table-cell xmlns:fo="http://www.example.com/">
    <fo:block/>
    <fo:block/>
    <fo:block>PLEASE SEND US BACK SIGNED COPY OF THIS INVOICE</fo:block>
</fo:table-cell>