Subject: RE: [xsl] XSL taking very long From: "Tengshe, Ashish" <Tengshe.Ashish@xxxxxxxxxxxxx> Date: Thu, 26 Aug 2004 15:44:35 -0500 |
Ok, sorry about that, here is the category <?xml version="1.0" encoding="UTF-8"?> <Search> <SearchResults> <vform> <item_id>BB55554</item_id><rvsn_id>1</rvsn_id><title_txt><![CDATA[RESOURCE NEWSLETTER]]></title_txt></vform> <vform> <item_id>BB55552</item_id><rvsn_id>7</rvsn_id><title_txt><![CDATA[MAILER]]></ title_txt><Category>General Marketing</Category></vform> <vform> <item_id>BB5555CO</item_id><rvsn_id>0</rvsn_id><title_txt><![CDATA[INSTANT ISSUE PAC]]></title_txt></vform> <vform> The output I want is a table with item_id | title_txt | category // grouped by category Should I use Keys instead? Thanks, Ashish D. Tengshe IT System Analyst Tengshe.Ashish@xxxxxxxxxxxxx -----Original Message----- From: Josh Canfield [mailto:joshcanfield@xxxxxxxxx] Sent: Thursday, August 26, 2004 2:14 PM To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: Re: [xsl] XSL taking very long The XML provided doesn't have a Category element... You probably shouldn't be using //vform which translates to /descendant-or-self::node()/child::vform and causes the entire node tree to be searched for vform elements from the root to the deepest leaf. Depending on your context you probably just need vform, or perhaps /Search/SearchResults/vform. Josh On Thu, 26 Aug 2004 14:02:58 -0500, Tengshe, Ashish <tengshe.ashish@xxxxxxxxxxxxx> wrote: > This XSL transformation has been taking very long and after trying to minimize all the other inefficiencies, I'm left with the following code that I don't know how to minimize. > > <xsl:call-template name="process-categories"> > <xsl:with-param name="cats" select="//vform[not(Category=preceding::vform/Category)]"/> > </xsl:call-template> > > <xsl:template name="process-categories"> > <xsl:param name="cats"/> > <xsl:for-each select="$cats"> > <xsl:if test="Category != ''"> > <TR> > <TD NOWRAP="NOWRAP" VALIGN="TOP" ALIGN="LEFT">Cat: <xsl:value-of select="Category"/></TD> > </TR> > </xsl:if> > </xsl:for-each> > </xsl:template> > > The XML is of the following format > > <?xml version="1.0" encoding="UTF-8"?> > <Search> > <SearchResults> > <vform> > <item_id>78987ghg98</item_id><rvsn_id>1</rvsn_id><title_txt><![CDATA[MY NEWSLETTER]]></title_txt></vform> > <vform> > --- > --- > --- > 100s of vform elements > --- > --- > </SearchResults> > </Search> > > Let me know if you'd like the full XSL code. > Any ideas why it is taking so long (using Xalan) and can this output be achieved by other means? > I appreciate your help! > > Ashish D. Tengshe > IT System Analyst > Principal Financial Group > Tengshe.Ashish@xxxxxxxxxxxxx
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] XSL taking very long, Josh Canfield | Thread | RE: [xsl] XSL taking very long, Michael Kay |
Re: [xsl] Dynamic XPath expression , Matt Dittbenner | Date | Re: [xsl] SOS, print one character , cking |
Month |