[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[xsl] More Efficient way of mathching ID's
Subject: [xsl] More Efficient way of mathching ID's From: "Spencer Tickner" <spencertickner@xxxxxxxxx> Date: Mon, 3 Apr 2006 12:22:11 -0800 |
Hi Everyone, thanks in advance for the help. I have an xsl file that looks up elements in one xml file, and inserts them into another. Pretty common problem on the web and on this list. I was able to get it working, however the processing is excruciatingly slow. Was wondering if anyone had some thoughts on speeding up performance? *** Combine.xsl *** <?xml version='1.0'?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:variable name="fIntents" select="document('Reference.xml')"/> <xsl:template match="/"> <xsl:apply-templates/> </xsl:template> <xsl:template match="*"> <xsl:copy> <xsl:copy-of select="@*"/> <xsl:apply-templates/> </xsl:copy> </xsl:template> <xsl:template match="sentence"> <xsl:variable name="mykey" select="@qpid"/> <xsl:copy> <xsl:copy-of select="@*"/> <xsl:apply-templates select="$fIntents//sentence[@qpid = $mykey]/intentref"/> <xsl:apply-templates/> </xsl:copy> </xsl:template> </xsl:stylesheet> *** Without.xml *** <?xml version="1.0"?> <document> <article qpid="004243"> <title>Test test Test Test Test</title> <sentence qpid="007309"> <text> Test test Test Test Test</text> </sentence> </article> <change-begin/> <article qpid="004244"> <title>Test test Test Test Test</title> <sentence qpid="007310"> <text>Test test Test Test Test</text> </sentence> <sentence qpid="007311"> <text>Test test Test Test Test</text> </sentence> </article> </document> *** Reference.xml *** <?xml version="1.0"?> <document> <article qpid="004243"> <title>Test2 Test2 Test2 Test2 Test2</title> <sentence qpid="007309"><intentref ref="int1"/> <text>Test2 Test2 Test2 Test2 Test2</text> </sentence> </article> <change-begin/> <article qpid="004244"> <title>Test2 Test2 Test2 Test2 Test2</title> <sentence qpid="007310"><intentref ref="int2"/> <text>Test2 Test2 Test2 Test2 Test2</text> </sentence> <sentence qpid="007311"><intentref ref="int3"/> <text>Test2 Test2 Test2 Test2 Test2</text> </sentence> </article> </document> *** With.xml (My Output, Exactly what I need) *** <?xml version='1.0' ?> <document> <article qpid="004243"> <title>Test test Test Test Test</title> <sentence qpid="007309"><intentref ref="int1"/> <text> Test test Test Test Test</text> </sentence> </article> <change-begin/> <article qpid="004244"> <title>Test test Test Test Test</title> <sentence qpid="007310"><intentref ref="int2"/> <text>Test test Test Test Test</text> </sentence> <sentence qpid="007311"><intentref ref="int3"/> <text>Test test Test Test Test</text> </sentence> </article> </document> As a note, reference.xml is much much bigger than this small test and will have all the qpid's I need to deal with the qpid's in without.xml file,, as well as a bunch more that will not be needed. I hope this illustrates what I' trying to do. Spencer
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] xslt 2.0 calendar, David Carlisle | Thread | Re: [xsl] More Efficient way of mat, Alexander Johannesen |
RE: [xsl] for-each loop question, Khorasani, Houman | Date | Re: [xsl] More Efficient way of mat, Alexander Johannesen |
Month |