[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: xsl:apply-template and xsl:for-ech confusion

Subject: Re: xsl:apply-template and xsl:for-ech confusion
From: "Luke Ambrogio" <luke.ambrogio@xxxxxxxxxxxx>
Date: Wed, 1 Oct 2003 14:47:14 +0200
xsl apply template
ok the solution was infact using

<xsl:apply templates select=".."/>

since there was the child element tblMIMSubsector being processed

thanks a lot for your help guys and sorry for the late duplicate e-mail


regards
Luke

----- Original Message -----
From: "Anton Triest" <anton@xxxxxxxx>
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Sent: Friday, October 01, 2004 2:04 PM
Subject: Re:  xsl:apply-template and xsl:for-ech confusion


> 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[@subsectorID=$subsector]">
>         <xsl:apply-templates select="." mode="output"/>
>     </xsl:if>
>     <xsl:if test="$searchby=1 and tblMIMSubSectors[@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[@subsectorID=$subsector]">
> >                    <xsl:value-of select="@name"/>
> >                    ...
> >                </xsl:if>
> >            </xsl:when>
> >            <xsl:when test="$searchby=1">
> >                <xsl:if test="tblMIMSubSectors[@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[@subsectorID=$subsector]">
> >                    <xsl:apply templates select="tblMIMCompanies"/>
> >                </xsl:if>
> >            </xsl:when>
> >            <xsl:when test="$searchby=1">
> >                <xsl:if test="tblMIMSubSectors[@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

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.