Subject: graph traversal From: Jeff Lansing <jeff@xxxxxxxx> Date: Thu, 17 Feb 2000 11:05:54 -0800 |
How can I traverse a graph with XSL? Specifically, hyperlinks encode a graph, as in the following four files: K:\xslt\test>cat root.html <html version = "6"> <a href = "left_branch.html"/> <a href = "right_branch.html"/> </html> K:\xslt\test>cat left_branch.html <html version = "2"> <a href = "leaf.html"/> </html> K:\xslt\test>cat right_branch.html <html version = "3"> <a href = "leaf.html"/> </html> K:\xslt\test>cat leaf.html <html version = "1"/> K:\xslt\test> I can do a tree traversal with the document() function, for example this stylesheet: <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:variable name="dir" select="'test/'"/> <xsl:template match="html"> <xsl:value-of select="concat(@version, ' ')"/> <xsl:for-each select="a"> <xsl:apply-templates select="document(concat($dir,@href))"/> </xsl:for-each> </xsl:template> </xsl:stylesheet> when applied to root.html, gives me "6 2 1 3 1", but what I really want is "6 2 1 3". (Actually what I really want is "6 2 3 1", but that may be harder.) Normally one marks the nodes of a graph when they're visited, and then skips the marked nodes if they're seen again. Can that be done in XSL? XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: XT as servlet, Pawson, David | Thread | RE: graph traversal, Justin Ludwig |
Re: XT as servlet, John E. Simpson | Date | Re: XT as servlet, David Halsted |
Month |