Subject: RE: Param Element
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Fri, 3 Jun 2005 04:26:56 +0100
|
> 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
> >
> ______________________________________________________________
> __________
|