[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: find the maximum node count and loop with the coun

Subject: Re: 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)
maximum node
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

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.