Subject: Re: [xsl] Param Element From: Karl Stubsjoen <kstubs@xxxxxxxxx> Date: Thu, 2 Jun 2005 14:42:35 -0700 |
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, David Carlisle | Thread | Re: [xsl] Param Element, Karl Stubsjoen |
RE: [xsl] Recursive Template ??, Bovy, Stephen J | Date | [xsl] Re:[xsl] Recursive Template ?, JBryant |
Month |