|
Subject: Re: [xsl] Merging two files From: mjyoungblut@xxxxxxx Date: Mon, 12 Feb 2001 12:58:04 -0600 |
Mr. Becker,
I used your suggestion - changing
$YESTERDAY_PRODUCT//NodeID[not
($YESTERDAY_PRODUCT//NodeID=NodeID)]
to
not($YESTERDAY_PRODUCT//NodeID
[$YESTERDAY_PRODUCT//NodeID=NodeID]).
Now my problem is that I am getting multiples of the node that exists in
the secondary file, but not in the primary file. I am getting these
results because I am running inside a template for the first file. Thus,
each iteration produces another node with the same id in the output.
Without having to decare a template for the second file, is there a way
that I can only get one of the results inserted into the output?
Thanks again,
Matt Youngblut
Oliver Becker <obecker@xxxxxxxxxxxxxxxxxxxxxxx> on 02/12/2001 10:35:59 AM
Please respond to xsl-list@xxxxxxxxxxxxxxxxxxxxxx
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
cc: (bcc: Matthew J. Youngblut/US-Corporate/3M/US)
Subject: Re: [xsl] Merging two files
Hi Matt,
> However, I am unable to get the correct <NodeID>s from the secondary
> file that don't exist in the primary file. Currently, I am using
something
> like the following:
>
> <xsl:for-each select = "$YESTERDAY_PRODUCT">
> <xsl:if test = "$YESTERDAY_PRODUCT//NodeID[not
> ($YESTERDAY_PRODUCT//NodeID=NodeID)]">
> <Product>
> <xsl:attribute name="Action">D</xsl:attribute>
>
> <xsl:copy-of select="*"/>
> </Product>
> </xsl:if>
> </xsl:for-each>
>
> where $YESTERDAY_PRODUCT is a path in the secondary file. This
> currently gives me multiple copies of everything in the second file.
This expression
$YESTERDAY_PRODUCT//NodeID[not($YESTERDAY_PRODUCT//NodeID=NodeID)]
selects all NodeID nodes from your file, for which another NodeID node
exists,
which in turn has not the same string value. I guess this is true for every
NodeID node.
You want
not($YESTERDAY_PRODUCT//NodeID[$YESTERDAY_PRODUCT//NodeID=NodeID])
i.e. if you don't find another node with the same string value then this
node seems to be interesting for you.
BTW, I'm a little bit confused about your xsl:for-each construction.
I believe you should access . or any other relative location path in
your xsl:if, not $YESTERDAY_PRODUCT again.
Cheers,
Oliver
/-------------------------------------------------------------------\
| ob|do Dipl.Inf. Oliver Becker |
| --+-- E-Mail: obecker@xxxxxxxxxxxxxxxxxxxxxxx |
| op|qo WWW: http://www.informatik.hu-berlin.de/~obecker |
\-------------------------------------------------------------------/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Merging two files, Oliver Becker | Thread | Re: [xsl] Merging two files, Oliver Becker |
| Re: [xsl] XSLT-schema, Tobias Reif | Date | [xsl] can an XSLT processor process, anand awasthi |
| Month |