Hi Luke,
You could do that, but you can't use <xsl:apply templates
select="tblMIMCompanies"/>
because the for-each loop already puts you in the context of the
tblMIMCompanies nodes.
I think it should work if you use <xsl:apply templates select="."/>
Or alternatively use apply-templates instead of for-each and use a mode:
<xsl:template match="tblMIM">
<xsl:apply-templates select="tblMIMCompanies"/>
</xsl:template>
<xsl:template match="tblMIMCompanies">
<xsl:if test="$searchby=0 and
tblMIMSubSectors[(_at_)subsectorID=$subsector]">
<xsl:apply-templates select="." mode="output"/>
</xsl:if>
<xsl:if test="$searchby=1 and tblMIMSubSectors[(_at_)sectorID=$sector]">
<xsl:apply-templates select="." mode="output"/>
</xsl:if>
</xsl:template>
<xsl:template match="tblMIMCompanies" mode="output">
<xsl:value-of select="@name"/>
...
</xsl:template>
Cheers,
Anton
Luke Ambrogio wrote:
Hello guys,
thanks a lot for the great help you gave me with my previous problem,
hopefully this will be as simple to solve.
I have
<xsl:template match="tblMIM">
<xsl:for-each select="tblMIMCompanies">
<xsl:choose>
<xsl:when test="$searchby=0">
<xsl:if test="tblMIMSubSectors[(_at_)subsectorID=$subsector]">
<xsl:value-of select="@name"/>
...
</xsl:if>
</xsl:when>
<xsl:when test="$searchby=1">
<xsl:if test="tblMIMSubSectors[(_at_)sectorID=$sector]">
<xsl:value-of select="@name"/>
...
</xsl:if>
</xsl:when>
</xsl:choose>
</xsl:for-each>
</xsl:template>
i would like to change it to something like the code below, which doesn't
output anything. This way i don't need to repeat the inner most code since
its the same for each. any ideas?
<xsl:template match="tblMIM">
<xsl:for-each select="tblMIMCompanies">
<xsl:choose>
<xsl:when test="$searchby=0">
<xsl:if test="tblMIMSubSectors[(_at_)subsectorID=$subsector]">
<xsl:apply templates select="tblMIMCompanies"/>
</xsl:if>
</xsl:when>
<xsl:when test="$searchby=1">
<xsl:if test="tblMIMSubSectors[(_at_)sectorID=$sector]">
<xsl:apply templates select="tblMIMCompanies"/>
</xsl:if>
</xsl:when>
</xsl:choose>
</xsl:for-each>
</xsl:template>
<xsl:template match="tblMIMCompanies">
<xsl:value-of select="@name"/>
...
</xsl:template>
the xml looks like this
<tblMIM>
<tblMIMCompanies name="A Ltd" ...>
<tblMIMSubSectors subsectorID="55" sectorID="3"/>
</tblMIMCompanies>
<tblMIMCompanies name="Z Ltd" ...>
<tblMIMSubSectors subsectorID="56" sectorID="3"/>
</tblMIMCompanies>
</tblMim>
regards
Luke Ambrogio
p.s. thanks in advance
--+------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--+--