为XSLT文件中的每个模板选择特定的模板


Hello everyone,
Suppose we have an xslt file
<xsl:stylesheet version="1.0">
<xsl:function name="grp:MapToCD538A_var107">
<xsl:param name="var106_cur" as="node()"/>
<xsl:param name="var106_cur" as="node()"/>
<xsl:for-each select="$var106_cur/containerIdentificationNumber">
<xsl:sequence select="fn:string(.)"/>
</xsl:for-each>
</xsl:function>
<xsl:template match="/">
<CD123>
<xsl:attribute name="xsi:schemaLocation" namespace="http://www.w3.org/2001/XMLSchema-instance"/>
<xsl:for-each select="(./ns0:CD538C)[fn:not(fn:exists(*:ExportOperation[fn:namespace-uri() eq '']/*:requestRejectionReasonCode[fn:namespace-uri() eq '']))]">
<SynIde xmlns="">UN1OC</SynIde>
</xsl:for-each>
</CD123>
</xsl:template>
</xsl:stylesheet>

和i只想选择<CD123>内的for-each节点。而不是其他的for-each

<xsl:template match="xsl:for-each">
<xsl:copy>
<xsl:apply-templates select="@*"/>
<!-- PULL PARENT AND SIBLING NODES -->
<xsl:element name="{name(..)}">
<xsl:apply-templates select="preceding-sibling::*[1]"/>       
<xsl:apply-templates select="*"/>
</xsl:element>
</xsl:copy>
</xsl:template>
使用上面的xslt代码,我将这些行应用于每个for-each。如何将这些行仅应用于所需的for-each?

听起来和match="CD123/xsl:for-each"一样简单。

相关内容

  • 没有找到相关文章

最新更新