[xsl] Walking a complex object graph

Subject: [xsl] Walking a complex object graph
From: walter.crockett@xxxxxxxxxxxxxxxxxxxxx
Date: Fri, 16 Jul 2004 13:00:45 -0400
We're trying to create a "virtual XML" navigator object that permits
one to write an XSLT script that "walks" a complex object graph and
extracts object names, attributes, etc.

The purpose is to allow the initial selection of a subset of objects
and properties into a simple XML document, which can then be processed
in a separate step into the target format (HTML, XML, etc.)

The issue we're running into, at least in the XSLT implementation
provided in .NET, is that the XSLT processor appears to perform a
deep traversal of the graph, which in our case can take a long time
or produce an infinite loop (i.e. where there is a cycle of
references between objects).

Note: we've looked at the ObjectXPathNavigator example on MSDN, and
while this is similar to what we're trying to accomplish, it seems
like the problem here lies in the XSLT processer, not in the navigation
object itself.

We've been looking into ways to modify the XSLT processor so its
graph traversal behavior is "smarter". Are there any XSLT
implementations that are amenable to this kind of tweaking or modification?

Alternatively, is there a better strategy for using XSLT to perform
the initial selection of data from an arbitrarily connected object graph?

Current Thread