Subject: Re: [xsl] find the maximum node count and loop with the count From: Dimitre Novatchev <dnovatchev@xxxxxxxxx> Date: Mon, 18 Jun 2001 00:22:38 -0700 (PDT) |
Jayaranga Subasinghe wrote: > hi, > can anybody give me the soluton for that? > i want to find the maximum node count and print a text line equals to that >maximum node count. Hi Jayaranga, It is a little bit difficult to understand what maximum node count (of what?) you need and for what purposes. I'm assuming here that you need a large repository of "raw nodes" upon which to build a non-recursive loop (the method of Wendell Piez). The answer is that you may include in your stylesheet very large xml documents and achieve as big a count as you may need. For more information see: http://www.vbxml.com/snippetcentral/main.asp?view=viewsnippet&lang=&id=v20010324001431 Any stuff can be included under a namespace-uri, different from the standard XSLT namespace-uri, like this: <xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform' xmlns:Shakespeare="Shakespeare"> <Shakespeare:Hamlet> <!-- Hamlet goes here --> </Shakespeare:Hamlet> <!-- the rest of the stylesheet --> </xsl:stylesheet> As it can be seen, I included Jon Bosak's xml version of "Hamlet" (http://www.stoa.org/bard/). The following small template will return the number of nodes (the maximum recursion depth that can be avoided) we can now use to organise non-recursive loops: <xsl:template match="/"> <xsl:variable name="st" select="document('')"/> <xsl:value-of select=" count($st//node() | $st//@* | $st//namespace::*)"/> </xsl:template> For the above stylesheet this number is: 32032. As some people noted, this solution could be called an ugly one. Or, to quote an xml fragment from our stylesheet, <SPEECH> <SPEAKER>MARCELLUS</SPEAKER> <LINE>Something is rotten in the state of Denmark. </LINE> </SPEECH> However, it is much more ugly to watch the slow and painful agony of IIS crashing only because we used a beautiful, deep recursive processing. Hope this helped. Cheers, Dimitre Novatchev. __________________________________________________ Do You Yahoo!? Spot the hottest trends in music, movies, and more. http://buzz.yahoo.com/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] find the maximum node count a, Jayaranga Subasinghe | Thread | [xsl] ARgh..deleted the link, Marcus Klinge |
[xsl] find the maximum node count a, Jayaranga Subasinghe | Date | Re: [xsl] Getting equivalence class, Christopher R. Maden |
Month |