|
Subject: RE: [xsl] NEED good information on alternative for dyn:evaluate() for MSXML From: Pieter Reint Siegers Kort <pieter.siegers@xxxxxxxxxxx> Date: Thu, 27 May 2004 16:40:03 -0500 |
Steve,
> So, instead of hard coding the param into the select it needs to variable.
If I understand your question, then you'd simply want to pass the
dynamically generated XPath to the XSL processor as a parameter, like here
(it's a Javascript function I used in an ASP 3.0 page):
<%
...
...
function transformDataS(srcDoc,xslProc,IdCd,Fecha,Hora)
{
// point to the compiled processor
xslProc.input = srcDoc;
// add the parameters used inside the stylesheet
xslProc.addParameter("Hora", Hora, "");
xslProc.addParameter("Fecha", Fecha, "");
xslProc.addParameter("IdCd", IdCd.toString(), "");
// perform the XSL Transformation
xslProc.transform();
// write result to browser
Response.Write(xslProc.output);
return true;
}
...
...
%>
HTH,
<prs/>
-----Original Message-----
From: Steve Brown [mailto:stevebrown@xxxxxxxxx]
Sent: Thursday, May 27, 2004 12:05 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: [xsl] NEED good information on alternative for dyn:evaluate()
for MSXML
M:D,
I understand your confusion, because your point is valid.
But, the catch is this I am going to be passing a new a probably different
pre-generated XPath expession to the param each time the stylesheet is
called.
So, instead of hard coding the param into the select it needs to variable.
Hope that helps.
Thanks,
~Steve
On Thu, 27 May 2004 10:53:42 -0600, M. David Peterson <m.david@xxxxxxxxxx>
wrote:
>
> Hey Steve,
>
> Im confused... What part of $filter, or better
> "//person[contains(FName,'a') and LName='Brown']" yet from a string to
> XPath? It is already XPath.
>
> When I run this code as such...
>
> <?xml version="1.0"?>
> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> version="1.0">
>
> <xsl:param name="filter" select="//person[contains(FName,'a') and
> LName='Brown']"/>
>
> <xsl:template match="/">
> <xsl:apply-templates select="$filter"/> </xsl:template>
> <xsl:template match="person">
> <xsl:value-of select="LName"/>, <xsl:value-of select="FName"/>
> </xsl:template> </xsl:stylesheet>
>
> I get the expected output of:
>
> Brown, Allan
>
> Can you clarify a bit further?
>
> Thanks!
>
> <M:D/>
>
>
>
> > -----Original Message-----
> > From: Steve Brown [mailto:stevebrown@xxxxxxxxx]
> > Sent: Thursday, May 27, 2004 10:43 AM
> > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> > Subject: Re: [xsl] NEED good information on alternative for
> dyn:evaluate()
> > for MSXML
> >
> > M:D,
> > Thanks for the link.
> > There is plenty to learn from it, but the string I am looking to
> > evaluate is a bit more complex...
> > Here are some code snippets for reference.
> >
> > XSL:
> > <xsl:param name="filter" select="//person[contains(FName,'a') and
> > LName='Brown']"/>
> >
> > <xsl:template match="/">
> > <xsl:apply-templates select="$filter"/> (this is what does
> > not work, some parsers offer a evaluate function to convert a string
> > to XPath but not MSXML) </xsl:template>
> >
> > XML:
> > <person>
> > <FName>Allan</FName>
> > <LName>Brown</LName>
> > ....
> > </person>
> >
> > Thanks again,
> > ~Steve
> >
> >
> > On Thu, 27 May 2004 10:17:20 -0600, M. David Peterson
> > <m.david@xxxxxxxxxx> wrote:
> > >
> > > Hey Steve,
> > >
> > > Without a code sample I can't tell you if this particular solution
> will
> > > give you what you want. But my Yahoo! style directory post from a
> few
> > > weeks ago may contain the solution to your problem.
> > >
> > > Heres the link to that posting...
> > >
> > > http://www.biglist.com/lists/xsl-list/archives/200405/msg00288.htm
> > > l
> > >
> > > To save you from having to mull through the code and documentation
> the
> > > code takes this string parameter...
> > >
> > > <xsl:param name="dirPath" select="'Main/Computers/WWW'"/>
> > >
> > > Breaks it down into its individual parts and then compares each
> > > part
> to
> > > the source XML, outputting the children of the final node as a
> Yahoo!
> > > style directory...
> > >
> > > Let me know if this doesn't get you to where you need to go and I
> will
> > > try and help you further...
> > >
> > > Best regards,
> > >
> > > <M:D/>
> > >
> > >
> > >
> > > > -----Original Message-----
> > > > From: Steve Brown [mailto:stevebrown@xxxxxxxxx]
> > > > Sent: Thursday, May 27, 2004 9:16 AM
> > > > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> > > > Subject: [xsl] NEED good information on alternative for
> dyn:evaluate()
> > > for
> > > > MSXML
> > > >
> > > > I'm sure this question is probably an FAQ, but I've been digging
> > > > around the web for a couple of days trying to find a work around
> for
> > > > converting a string to XPath for MSXML4 and haven't been able to
> find
> > > > the right place.
> > > > The way I understand it is you have to write an extension, but
> > > > I'm
> not
> > > > clear on how to do that. Plus, I have a feeling that someone
> > > > else
> has
> > > > invented that wheel.
> > > > I'm not apposed to switching XSL parsers, but I if I do it needs
> work
> > > with
> > > > ASP.
> > > > Thanks,
> > > > ~Steve
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| RE: [xsl] Elements just before/afte, Nicolas Pillot | Thread | Re: RE: [xsl] NEED good information, Steve Brown |
| RE: [xsl] exclude-result-prefixes i, Pieter Reint Siegers | Date | Re: RE: [xsl] NEED good information, Steve Brown |
| Month |