Subject: Re: [xsl] Param Element From: Karl Stubsjoen <kstubs@xxxxxxxxx> Date: Thu, 2 Jun 2005 14:51:23 -0700 |
It is working... I'm still a little confused on the parm(s) but no worries! On 6/2/05, Karl Stubsjoen <kstubs@xxxxxxxxx> wrote: > Here is what I have, but not confident that it is working... it seems > that my check for uniqueness is failing, I get no results. Isn't it a > fair test to ask of a value it it exists in a set of values as I am > here: > <xsl:if test="$current_id = $activity_id"> > Where activity_id is a set of ID values as defined below.. > > <xsl:param name="xm" select="in_proc" /> > > <xsl:variable name="activity_id" select="in_proc/row/@id"/> > > <xsl:template match="/"> > <in_proc> > <xsl:apply-templates select="row"/> > <xsl:apply-templates select="$xm/row" mode="append"/> > </in_proc> > </xsl:template> > > <xsl:template match="row"> > <xsl:copy-of select="."/> > </xsl:template> > > <xsl:template match="row" mode="append"> > <xsl:variable name="current_id" select="@id"/> > <xsl:if test="$current_id = $activity_id"> > <xsl:copy-of select="."/> > </xsl:if> > </xsl:template> > > </xsl:stylesheet> > > > > On 6/2/05, David Carlisle <davidc@xxxxxxxxx> wrote: > > > > > One other dilemna: in order for the transformation to not complain, I > > > have to do a select on my parameter declerations which looks like: > > > > > <xsl:param name="xm" select="/" /> > > > > If you pass in a value of this parameter then the select here is not > > used, it is just a default value in case no parameter is supplied when > > the stylesheet is called. > > > > > > > > > But since the source is the exact same as the parameter xml, how does > > > the select know which source to grab from? > > > > The select is always explictly into a specified node set that node set > > will have nodes from one or more documents (usually just one). > > in this case, you have select="/" so that selects the root node ancestor > > of the current node. If this is at the top level of teh stylesheet the > > current node is the root node of the main input document, so / selects > > that node. > > > > > Also, the above causes an > > > overflow when the below transformation is processed, > > > > most likely you have programmed an infinite loop, but it's hard to say > > given the snippet you showed. > > > > > > > so would it be correct to express select as: select="in_proc"? > > That's also correct (but dofferent of course) but still if you supply a > > value to this parameter when you run the program it doesn't matter what > > select expression you use here. > > > > The templates that you show make no use of this parameter?? > > > > As written you will get a copy of the input doc except the top level > > element will be duplicated as you generate an in_proc element in the > > template for / and then apply templates to the child nodees (which is > > the in_proc element in the source) which are copied. > > > > > > David > > > > ________________________________________________________________________ > > This e-mail has been scanned for all viruses by Star. The > > service is powered by MessageLabs. For more information on a proactive > > anti-virus service working around the clock, around the globe, visit: > > http://www.star.net.uk > > ________________________________________________________________________
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Param Element, Karl Stubsjoen | Thread | Re: [xsl] Param Element, David Carlisle |
[xsl] Re:[xsl] Recursive Template ?, JBryant | Date | RE: [xsl] Param Element, Michael Kay |
Month |