子节点中的 XSL 父节点数据
XSL parent node data in child node
来源XML:
<COVER_DETAIL>
<COVERDETAILS>
<COVERNAME>AAA</COVERNAME>
<EFFECTIVEDATE>2010-04-30</EFFECTIVEDATE>
<EXPIRYDATE>2022-03-31</EXPIRYDATE>
<COVERAMOUNT/>
<COVERPERCENT/>
<COVERCODE>60</COVERCODE>
</COVERDETAILS>
<COVERDETAILS>
<COVERNAME>BBB</COVERNAME>
<EFFECTIVEDATE>2010-04-30</EFFECTIVEDATE>
<EXPIRYDATE>2022-03-31</EXPIRYDATE>
<COVERAMOUNT/>
<COVERPERCENT/>
<COVERCODE>60</COVERCODE>
</COVERDETAILS>
<COVERDETAILS>
<COVERNAME>CCC</COVERNAME>
<EFFECTIVEDATE>2022-04-01</EFFECTIVEDATE>
<EXPIRYDATE>2032-03-31</EXPIRYDATE>
<COVERAMOUNT/>
<COVERPERCENT>100</COVERPERCENT>
<COVERCODE>62</COVERCODE>
</COVERDETAILS>
<COVERDETAILS>
<COVERNAME>DDD</COVERNAME>
<EFFECTIVEDATE>2022-04-01</EFFECTIVEDATE>
<EXPIRYDATE>2032-03-31</EXPIRYDATE>
<COVERAMOUNT/>
<COVERPERCENT/>
<COVERCODE>85</COVERCODE>
</COVERDETAILS>
</COVER_DETAIL>
XSLT:
<xsl:template name="COVERDETAILS">
<xsl:variable name="i" select="position()" />
<fo:table-row>
<fo:table-cell>
<fo:block>
<xsl:value-of select="$i"/>
<xsl:text>. </xsl:text>
<xsl:value-of select="COVERNAME"/>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block> --- Here i want to display percentage </fo:block>
</fo:table-cell>
</fo:table-row>
</xsl:template>
如何将 covercode
62
的 coverpercent
值应用到每个模板的所有其他封面的 coverpercent
值。我想将 coverpecent
和 covercode
62
应用到每个其他封面。
您可以先将变量定义为:
<xsl:variable name="perc" select="/COVER_DETAIL/COVERDETAILS[COVERCODE='62']/COVERPERCENT" />
然后在您的模板中使用此变量,您希望将百分比显示为:
<xsl:value-of select="$perc"/>
来源XML:
<COVER_DETAIL>
<COVERDETAILS>
<COVERNAME>AAA</COVERNAME>
<EFFECTIVEDATE>2010-04-30</EFFECTIVEDATE>
<EXPIRYDATE>2022-03-31</EXPIRYDATE>
<COVERAMOUNT/>
<COVERPERCENT/>
<COVERCODE>60</COVERCODE>
</COVERDETAILS>
<COVERDETAILS>
<COVERNAME>BBB</COVERNAME>
<EFFECTIVEDATE>2010-04-30</EFFECTIVEDATE>
<EXPIRYDATE>2022-03-31</EXPIRYDATE>
<COVERAMOUNT/>
<COVERPERCENT/>
<COVERCODE>60</COVERCODE>
</COVERDETAILS>
<COVERDETAILS>
<COVERNAME>CCC</COVERNAME>
<EFFECTIVEDATE>2022-04-01</EFFECTIVEDATE>
<EXPIRYDATE>2032-03-31</EXPIRYDATE>
<COVERAMOUNT/>
<COVERPERCENT>100</COVERPERCENT>
<COVERCODE>62</COVERCODE>
</COVERDETAILS>
<COVERDETAILS>
<COVERNAME>DDD</COVERNAME>
<EFFECTIVEDATE>2022-04-01</EFFECTIVEDATE>
<EXPIRYDATE>2032-03-31</EXPIRYDATE>
<COVERAMOUNT/>
<COVERPERCENT/>
<COVERCODE>85</COVERCODE>
</COVERDETAILS>
</COVER_DETAIL>
XSLT:
<xsl:template name="COVERDETAILS">
<xsl:variable name="i" select="position()" />
<fo:table-row>
<fo:table-cell>
<fo:block>
<xsl:value-of select="$i"/>
<xsl:text>. </xsl:text>
<xsl:value-of select="COVERNAME"/>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block> --- Here i want to display percentage </fo:block>
</fo:table-cell>
</fo:table-row>
</xsl:template>
如何将 covercode
62
的 coverpercent
值应用到每个模板的所有其他封面的 coverpercent
值。我想将 coverpecent
和 covercode
62
应用到每个其他封面。
您可以先将变量定义为:
<xsl:variable name="perc" select="/COVER_DETAIL/COVERDETAILS[COVERCODE='62']/COVERPERCENT" />
然后在您的模板中使用此变量,您希望将百分比显示为:
<xsl:value-of select="$perc"/>