我有一个如下所示的 XML 数据表。在 ROWSET1_ROW 中,有一个 ID 列表。每个 ID 对应于 ROWSET2_ROW 中的一段数据。我在循环和匹配 ROWSET2_ROW 中的 ID 到 ROWSET1_ROW 时遇到问题。最终,将创建一个 pdf 报告,该报告应显示三个不同的数据部分。从我的循环中,我不断获取要打印的 ROWSET2_ROW 数据的第一部分。换句话说,我将第一部分的 ROWSET2_ROW 数据打印了 3 次(重复),这是错误的。我希望我解释正确。
<DOCUMENT>
<DATA>
<ROWSET1>
<ROWSET1_ROW>
<INSPECTION_FEATURE_ID>2084</INSPECTION_FEATURE_ID>
</ROWSET1_ROW>
<ROWSET1_ROW>
<INSPECTION_FEATURE_ID>2081</INSPECTION_FEATURE_ID>
</ROWSET1_ROW>
<ROWSET1_ROW>
<INSPECTION_FEATURE_ID>2113</INSPECTION_FEATURE_ID>
</ROWSET1_ROW>
</ROWSET1>
<ROWSET2>
<ROWSET2_ROW>
<INSPECTION_FEATURE_ID>2084</INSPECTION_FEATURE_ID>
<SECONDARY_FEATURE_ID>0018-LAF-01</SECONDARY_FEATURE_ID>
<INSPECTION_FEATURE>Embankment</INSPECTION_FEATURE>
</ROWSET2_ROW><ROWSET2_ROW>
<INSPECTION_FEATURE_ID>2081</INSPECTION_FEATURE_ID>
<SECONDARY_FEATURE_ID>0119-LAF-67</SECONDARY_FEATURE_ID>
<INSPECTION_FEATURE>Sand Boil</INSPECTION_FEATURE>
</ROWSET2_ROW><ROWSET2_ROW>
<INSPECTION_FEATURE_ID>2113</INSPECTION_FEATURE_ID>
<SECONDARY_FEATURE_ID>2009-WAC-99</SECONDARY_FEATURE_ID>
<INSPECTION_FEATURE>Seepage</INSPECTION_FEATURE>
</ROWSET2_ROW>
</DOCUMENT>
</DATA>
我尝试了以下代码,但一直收到错误消息-->“fo:flow”缺少子元素。我尝试了此代码的一些变体,例如删除 when 语句或更改循环,但如果我没有收到错误,我只会将第一部分或 ROWSET2_ROW 数据打印三次(重复)。
<xsl:for-each select=".//ROWSET1_ROW/INSPECTION_FEATURE_ID">
<xsl:for-each select="//ROWSET2_ROW/INSPECTION_FEATURE_ID">
<xsl:when test="//ROWSET1_ROW//INSPECTION_FEATURE_ID = //ROWSET2_ROW//INSPECTION_FEATURE_ID">
<fo:table>
<fo:table-column column-width="3in"/>
<fo:table-column column-width="4.5in"/>
<fo:table-body>
<fo:table-row>
<fo:table-cell padding-top="0.02in">
<fo:block>
<fo:table>
<fo:table-column column-width="1in"/>
<fo:table-column column-width="1.85in"/>
<fo:table-body>
<fo:table-row>
<fo:table-cell xsl:use-attribute-sets="cell cell-label">
<fo:block>
Inspection Feature Id
</fo:block>
</fo:table-cell>
<fo:table-cell xsl:use-attribute-sets="cell" font-weight="bold">
<fo:block>
<xsl:value-of select="//ROWSET2_ROW/INSPECTION_FEATURE_ID"/>
</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell xsl:use-attribute-sets="cell cell-label">
<fo:block>
Site Id
</fo:block>
</fo:table-cell>
<fo:table-cell xsl:use-attribute-sets="cell" font-weight="bold">
<fo:block>
<xsl:value-of select="//ROWSET2_ROW/SECONDARY_FEATURE_ID"/>
</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell xsl:use-attribute-sets="cell cell-label">
<fo:block>
Feature
</fo:block>
</fo:table-cell>
<fo:table-cell xsl:use-attribute-sets="cell">
<fo:block>
<xsl:value-of select="//ROWSET2_ROW/INSPECTION_FEATURE"/>
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</xsl:when>
</xsl:for-each>
</xsl:for-each>
对此的任何帮助将不胜感激。提前致谢