Subject: RE: [xsl] searching the xml From: "Earl Spencer" <eapencer74@xxxxxxxxxxx> Date: Tue, 12 Jun 2001 16:45:59 -0000 |
<ROOT> <employee group="1"> <wing>Management</wing> <emp>john</emp> </employee> <employee group="3"> <wing>Production</wing> <emp>scot</emp> </employee> </ROOT>
From: "Ben Robb" <b.robb@xxxxxxxxxx> Reply-To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> Subject: RE: [xsl] searching the xml Date: Tue, 12 Jun 2001 16:58:16 +0100
Its going to make your life easier if you have an input string: "scott,john," (i.e. ending on a comma).
This should do the job fairly efficiently.
================================= <?xml version="1.0" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://,,,">
<xsl:parameter name="searchList"/>
<xsl:template match="/"> <xsl:apply-templates /> </xsl:template>
<xsl:template match="ROOT"> <ROOT><xsl:apply-templates /></ROOT> </xsl:template>
<xsl:template match="employee"> <xsl:if test="contains($searchList, concat(emp/text(), ','))"> <employee group="{@group}"> <xsl:apply-templates/> </employee> </xsl:if> </xsl:template>
<xsl:template match="wing"> <xsl:copy-of select="."/> </xsl:template>
<xsl:template name="emp"> <xsl:if test="contains($searchList, concat(text(), ','))"> <xsl:copy-of select="."/> </xsl:if> </xsl:template>
</xsl:stylesheet>
=================================
Hmmm. There is probably a more elegant way using xsl:copy-of, but I can't think of it offhand...
[I haven't even checked this as being wellformed, but it should work]
Rgs,
Ben
> -----Original Message----- > From: Earl Spencer [mailto:eapencer74@xxxxxxxxxxx] > Sent: 12 June 2001 16:44 > To: XSL-List@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] searching the xml > > > Hi folks, > I have a search problem > > xml > --- > <ROOT> > <employee group="1"> > <wing>Management</wing> > <emp>john</emp> > <emp>arnold</emp> > </employee> > <employee group="2"> > <wing>Marketing</wing> > <emp>kathy</emp> > <emp>robert</emp> > </employee> > <employee group="3"> > <wing>Production</wing> > <emp>jones</emp> > <emp>scot</emp> > </employee> > </ROOT> > > and now my problem is if i pass a stylesheet parameter like this > scott,john > > then my resulting xml file should be > <ROOT> > <employee group="1"> > <wing>Management</wing> > <emp>john</emp> > </employee> > <employee group="3"> > <wing>Production</wing> > <emp>scot</emp> > </employee> > </ROOT> > > can anybody suggest me the best way to do this...... > _________________________________________________________________ > Get your FREE download of MSN Explorer at http://explorer.msn.com > > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > >
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
_________________________________________________________________ Get your FREE download of MSN Explorer at http://explorer.msn.com
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] searching the xml, Ben Robb | Thread | RE: [xsl] searching the xml, Rene de Vries |
Re: [xsl] XSL engines for Linux, Matt Sergeant | Date | Re: [xsl] XSL engines for Linux, David_N_Bertoni |
Month |