[xsl] Transformation with respect to level of depth

Subject: [xsl] Transformation with respect to level of depth
From: "Kai Weber" <weber@xxxxxxxxxxxxx>
Date: Wed, 2 May 2007 17:45:51 +0200
Hi,

Given a XML like this

<pages>
 <page></page>
 <page>
  <page></page>
  <page></page>
  <page>
   <page></page>
  </page>
 </page>
 <page></page>
</pages>

I have to convert the <page> based on the level of depth. A <page> on
the first level looks other than the deeper levels. Example:

From

<page id="1">
 <page id="2">
  <page id="3">
  </page>
 </page>
</page>

To

<ul>Page 1
 <li>Page 2
  <ol>
   <li>Page 3</li>
  </ol>
 </li>
</ul>

I have to questions:

* What is the best way to transform the document with respect to the
level of depth? Should I use <xsl:template match="/pages/page/page"> or
is there another/better way?

* How can I limit the parsing to a certain depth, say level 1,2,3 (0 for
root)? I guess, I have to maintain a variable "level" which is passed
into every template?

Regards, Kai

Current Thread