Subject: RE: [xsl] Param Element From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Fri, 3 Jun 2005 11:56:40 +0100 |
> Sorry : ) > > Structure is: > > <in_proc> > <row /> > <row /> > ... > </in_proc> In that case, this: <xsl:template match="/"> <in_proc> <xsl:apply-templates select="row"/> is clearly wrong, because the document node does not have a child called "row". Michael Kay http://www.saxonica.com/ > > On 6/2/05, Michael Kay <mike@xxxxxxxxxxxx> wrote: > > > Michael: the content of the source xml is the persisted > state of the > > > supplied xm data param. > > > > That tells me absolutely nothing about the structure of either. > > > > Let's be concrete. Is the outermost element of your source > XML caled <row> > > or is it called <in_proc>? If it's called <row> then I can > point to one set > > of errors in your stylesheet, if it's called <in_proc> then > I can point to a > > different set. It's possible that your stylesheet is > written to allow it to > > be either, but that seems unlikely. > > > > Michael Kay > > http://www.saxonica.com/ > > > > > > xm data param may or may not contain new > > > data. This data is appended to the xml source when it is > new. There > > > is an id column named "activityid" which allows me a guarantee of > > > unique matches. > > > > > > > > > > > > > > > On 6/2/05, David Carlisle <davidc@xxxxxxxxx> wrote: > > > > > > > > It is working... > > > > > > > > This seems unlikely. > > > > > > > > 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> > > > > > > > > > > > > > > > > > > > > > > <xsl:apply-templates select="row"/> > > > > <xsl:template match="row"> > > > > <xsl:copy-of select="."/> > > > > </xsl:template> > > > > > > > > is equivalent (but slower, probably) to > > > > <xsl:copy-of select="row"/> > > > > it just copies all the row elements. In this case > however it prduces > > > > nothing as there are no row element children of the current > > > node (the > > > > only child of / is a in_proc element (I guess, you have not > > > shown your > > > > input format) > > > > > > > > <xsl:if test="$current_id = $activity_id"> > > > > this test is always true (given the default value of $xm) > > > as $current_id > > > > is an attribute node from the set $activity_id > > > > Even if you supply an xm parameter so that the tests > may be false, > > > > > > > > <xsl:apply-templates select="$xm/row" mode="append"/> > > > > <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> > > > > > > > > is equivalent to > > > > > > > > <xsl:copy-of select="$xm/row[@id = $activity_id]"/> > > > > > > > > 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] Dynamically controlling sort , Steve W | Date | Re: [xsl] Saxon for windows?, M. David Peterson |
Month |