RE: [xsl] Convert String to (node-set)

Subject: RE: [xsl] Convert String to (node-set)
From: "Michael Kay" <mhkay@xxxxxxxxxxxx>
Date: Tue, 6 Feb 2001 10:53:58 -0000
I think you want something like:

>     <xsl:for-each select="$node/Node_path">
        <xsl:variable name="xpath" select="."/>
        <xsl:for-each select="$chandoc">
>       <xsl:text>The Value retrieved from doc 2 is:
> </xsl:text><xsl:value-of
> select="saxon:evaluate($xpath)" />
        </xsl:for-each>
>     </xsl:for-each>

The inner for-each is just to change the context node to the $chandoc
document, so that the evaluate() applies the path expression to this
document.

Mike Kay

> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of
> mxmodi@xxxxxxxxxxxxxxx
> Sent: 05 February 2001 20:21
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: RE: [xsl] Convert String to (node-set)
>
>
>
> Hi,
>
> All I am trying to do is parse a XML doc1, extract a
> particular node value
> from XML doc 1and then pass this string as an XPATH expression to be
> evaluatedin a separate XML doc 2.  Any help is appreciated.
>
> My XML doc1 (called BER.xml in the stylesheet) is:
>
> <CHANNEL>
>   <EVENT name="steve14nov">
>     <NODE>
>
> <Node_path>//DATA/PARAMETERS/PARAMETER/TimeSheet/EmpUserID</Node_path>
>       <Node_value>txtester</Node_value>
>
> <Node_path>//DATA/PARAMETERS/PARAMETER/TimeSheet/BeginWeek</Node_path>
>       <Node_value>11/14/01</Node_value>
>       <URL>http://sdangel04/tms?template=</URL>
>     </NODE>
>     <NODE>
>
> <Node_path>//DATA/PARAMETERS/PARAMETER/TimeSheet2/EmpUserID2</
> Node_path>
>       <Node_value>txtester2</Node_value>
>
> <Node_path>//DATA/PARAMETERS/PARAMETER/TimeSheet/BeginWeek</Node_path>
>       <Node_value>11/14/02</Node_value>
>       <URL>http://sdangel04/tms?template=2</URL>
>     </NODE>
>   </EVENT>
> </CHANNEL>
>
> A snippet of my XSL used to parse this doc1 is:
>
>
> <xsl:stylesheet version="1.0" xmlns:xsl="
> http://www.w3.org/1999/XSL/Transform";
> xmlns:saxon="http://icl.com/saxon";>
>   <xsl:variable name="node"
> select="document('BER.xml')/CHANNEL/EVENT/NODE"
> />
>   <xsl:variable name="chandoc" select="document('TSInsertBER.xml')" />
>
>   <xsl:template match="/">
>     <xsl:for-each select="$node//Node_path">
>       <xsl:text>The Value retrieved from doc 2 is:
> </xsl:text><xsl:value-of
> select="saxon:evaluate($chandoc/.)" />
>     </xsl:for-each>
> </xsl:template>
> <xsl:stylesheet>
>
> My XML doc 2 (TSInsertBER.xml in the stylesheet) is as follows:
> <MESSAGE>
>   <DATA>
>   <PARAMETERS>
>     <PARAMETER>
>     <TimeSheet>
>     <EmpUserID>txtester2</EmpUserID>
>     <BeginWeek>01/08/01</BeginWeek>
>     <EndWeek>01/14/01</EndWeek>
>     <Sun>1</Sun>
>     <Mon>2</Mon>
>     <Tue>3</Tue>
>     <Wed>4</Wed>
>     <Thu>5</Thu>
>     <Fri>6</Fri>
>     <Sat>7</Sat>
>     <LastDate>01/01/01</LastDate>
>     <UpdateUserId>admin</UpdateUserId>
>     </TimeSheet>
>     </PARAMETER>
>   </PARAMETERS>
>   </DATA>
> </MESSAGE>
>
>
>
>
>
>
>                     "Michael Kay"
>
>                     <mhkay@xxxxxxxxxxxx>               To:
>  <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
>                     Sent by:                           cc:
>
>                     owner-xsl-list@xxxxxxxxxxxx
> Subject:     RE: [xsl] Convert String to (node-set)
>
>                     rytech.com
>
>
>
>
>
>                     02/05/2001 11:15 AM
>
>                     Please respond to xsl-list
>
>
>
>
>
>
>
>
> > I tried using the saxon"evaluate function. However, I got
> an error in
> > expression when I processed the XSL using Saxon 5.4. What am
> > I missing?
> >
> > Snippet of XSL code:
> >
> >   <xsl:variable name="chandoc"
> select="document('TSInsertBER.xml')" />
> >
> >   <xsl:template match="/">
> >     <xsl:for-each select="$node//Node_path">
> >       <xsl:text>The Value retrieved from doc 2 is:
> > </xsl:text><xsl:value-of
> > select="saxon:evaluate($chandoc/.)" />
> >     </xsl:for-each>
> > </xsl:template>
>
> Several points:
> 1) $chandoc/. means exactly the same as $chandoc
> 2) The expression you are trying to evaluate is the text contents of
> document TSInsertBER.xml, which you haven't shown us
> 3) Whatever the result of the saxon:evaluate(), it will be
> exactly the same
> each time round the <xsl:for-each> loop, because there's
> nothing inside the
> loop that depends on the current node.
>
> Mike Kay
>
>
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
>
>
>
>
>
>
>
>  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