xsl-list
[Top] [All Lists]

Re: Subject: creating a node-set at run-time

2003-02-05 03:01:30
Hi Mike - I found this example in the MSXML3 documentation, which uses the document() function in XSLT :


For the given XML document:


<employeeRefs>
   <employeeDoc href="http://www.microsoft.com/employees/employeeList.xml"/>
   <employeeDoc href="localEmployees1.xml"/>
   <employeeDoc href="localEmployees2.xml"/>
</employeeRefs>


The following style sheet generates a document containing the employee nodes in all of the referenced documents.


<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; version="1.0">
<xsl:template match="/">
    <employees>
        <xsl:apply-templates select="//employeeDoc"/>
    </employees>
</xsl:template>

<xsl:template match="employeeDoc">
    <xsl:copy-of select="document(@href)//employee"/>
</xsl:template>
</xsl:stylesheet>


Looks like exactly what you want to do :-)
Cheers,
Neil Smith.

At 02:30 05/02/2003 -0500, you wrote:

Date: Tue, 4 Feb 2003 21:45:48 -0600
From: "Shea, Michael" <Michael_Shea(_at_)adc(_dot_)com>
Subject: [xsl] creating a node-set at run-time

Hi everyone,

We have this xml as our input document:

<list>
    <item ref="item1.xml"/>
    <item ref="item2.xml"/>
    <item ref="item3.xml"/>
    <item ref="item4.xml"/>
</list>

We want to go through each of the item elements and using
the document function, load each item?.xml file and check
a specific attribute in the root node of that loaded document
to see if it matches a certain value. If it does match we want
to add the value of the ref attribute to a node-set.  We want
to have a variable to which this node-set is assigned, so we
can do some processing on it at a later time (we want to run
a diff on it against another node-set amongst other things).

Basically this is like storing items into a variable (eg
var = var + new_item), but as we know, you can't reassign values
to a variable.

So can this be done using XSLT?  I was trying to come up with a
recursive algorithm to do this, but am not sure how.

Thanks in advance.

Mike.

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



<Prev in Thread] Current Thread [Next in Thread>
  • Re: Subject: creating a node-set at run-time, Neil Smith <=