3

1 つの行があり、列の 1 つにデータのリストがあります。行があるとします。3 列目には 0 行以上あります。<xsl:for-each select="./parts">何らかの理由で、私が持っているコードが機能していないようです。実装方法がわかりません。このエラーが発生しています。

org.apache.fop.events.LoggingEventListener processEvent 次の機能は Apache FOP ではまだ実装されていません: table-layout="auto" (fo:table で) (コンテキスト情報がありません) [4/1/13 19: 14:38:002 CDT] 00000053 SystemErr R org.apache.fop.fo.ValidationException: "fo:table-cell" に子要素がありません。必要なコンテンツ モデル: マーカー* (%block;)+ (コンテキスト情報がありません)

私はこのコードを持っていますが、これは機能しません。

<xsl:for-each select="./List">
  <fo:table-row>
    <fo:table-cell border="solid 1px" text-align="center">
      <fo:block font-size="8pt"><xsl:value-of select="group" /></fo:block>
    <fo:table-cell>
  <fo:table-cell border="solid 1px" text-align="left">
    <xsl:for-each select="./parts">
      <fo:block font-size="8pt"><xsl:value-of select="partNumber" /><fo:leader />
      </fo:block>
    </xsl:for-each>
  </fo:table-cell>
 </fo:table-row>
</xsl:for-each>
4

4 に答える 4

1

時々あなたのコードのようです:

<xsl:for-each select="./parts">
   <fo:block font-size="8pt"><xsl:value-of select="partNumber" /><fo:leader />
    </fo:block>
 </xsl:for-each>

何も返しません。変数に入れてチェックする必要があります。値がない場合は、このエラーを回避するために空にします。

于 2013-05-29T07:01:01.043 に答える
1

fo:table-cellの W3 XSL-FO仕様を見ると、

Contents:

(%block;)+

+ は「1 つ以上」を意味します。つまり、必須です。

%block エンティティは、W3 によって次のように定義されます。

The parameter entity, "%block;" in the content models below, contains the following formatting objects:

     block
     block-container
     table-and-caption
     table
     list-block

Navin Rawat の言う通り、細胞内に何かがあることを確認する必要があります。

/コルム

于 2015-01-07T08:06:19.493 に答える