[xsl] Condition Based Count of Sections

Subject: [xsl] Condition Based Count of Sections
From: "J. S. Rawat" <jrawat@xxxxxxxxxxxxxx>
Date: Fri, 13 Apr 2007 15:00:16 +0530
Hi:
This seems a very complex condition as per my understanding because I am new in this field. I want a "count" and "level" attribute (as shown in the output file) of <chapter>, <sect1> , <sect2> and <sect3> on the following basis:
1. <sect> or <chapter> which does have paragraph should be skiped because no section should be empty.
2. For counting perpose <chapter>, <sect1> , <sect2> and <sect3> should be treated as same level.
3. Depth of "level" attribute should be measure by its parent tag.


INPUT
<chapter>
<ti>Chapter title</ti>
<p>PC DATA IS HERE</p>
<p>PC DATA IS HERE</p>
<sect1>
<ti>SECT1: SECTION TITLE</ti>
<sect2>
<ti>SECT2: SECTION TITLE</ti>
<p>Paragraph 1: PC DATA IS HERE</p>
<p>Paragraph 2: PC DATA IS HERE</p>
</sect2>
<sect2>
<ti>SECT2: SECTION TITLE</ti>
<p>Paragraph 3: PC DATA IS HERE</p>
<p>Paragraph 4: PC DATA IS HERE</p>
</sect2>
</sect1>
<sect1>
<ti>SECT1: SECTION TITLE</ti>
<p>Paragraph 5: PC DATA IS HERE</p>
<p>Paragraph 6: PC DATA IS HERE</p>
<sect2>
<ti>SECT2: SECTION TITLE</ti>
<p>Paragraph 7: PC DATA IS HERE</p>
<p>Paragraph 8: PC DATA IS HERE</p>
<sect3>
<ti>SECT3: SECTION TITLE</ti>
<p>Paragraph 9: PC DATA IS HERE</p>
<p>Paragraph 10: PC DATA IS HERE</p>
</sect3>
</sect2>
</sect1>
<sect1>
<ti>SECT1: SECTION TITLE</ti>
<p>Paragraph 11: PC DATA IS HERE</p>
<p>Paragraph 12: PC DATA IS HERE</p>
</sect1>
</chapter>
<chapter>
<ti>Chapter title</ti>
<sect1>
<ti>SECT1: SECTION TITLE</ti>
<p>Paragraph 3: PC DATA IS HERE</p>
<p>Paragraph 4: PC DATA IS HERE</p>
</sect1>
</chapter>

OUTPUT
<chapter count="1" level="1.1">
<ti>Chapter title</ti>
<p>PC DATA IS HERE</p>
<p>PC DATA IS HERE</p>
<sect1 count="2" level="1.2">
<ti>SECT1: SECTION TITLE</ti>
<sect2>
<ti>SECT2: SECTION TITLE</ti>
<p>Paragraph 1: PC DATA IS HERE</p>
<p>Paragraph 2: PC DATA IS HERE</p>
</sect2>
<sect2 count="3" level="1.2.1">
<ti>SECT2: SECTION TITLE</ti>
<p>Paragraph 3: PC DATA IS HERE</p>
<p>Paragraph 4: PC DATA IS HERE</p>
</sect2>
</sect1>
<sect1 count="4" level="1.3">
<ti>SECT1: SECTION TITLE</ti>
<p>Paragraph 5: PC DATA IS HERE</p>
<p>Paragraph 6: PC DATA IS HERE</p>
<sect2 count="5" level="1.3.1">
<ti>SECT2: SECTION TITLE</ti>
<p>Paragraph 7: PC DATA IS HERE</p>
<p>Paragraph 8: PC DATA IS HERE</p>
<sect3 count="6" level="1.3.1.1">
<ti>SECT3: SECTION TITLE</ti>
<p>Paragraph 9: PC DATA IS HERE</p>
<p>Paragraph 10: PC DATA IS HERE</p>
</sect3>
</sect2>
</sect1>
<sect1 count="7" level="1.4">
<ti>SECT1: SECTION TITLE</ti>
<p>Paragraph 11: PC DATA IS HERE</p>
<p>Paragraph 12: PC DATA IS HERE</p>
</sect1>
</chapter>
<chapter count="8" level="1.5">
<ti>Chapter title</ti>
<sect1>
<ti>SECT1: SECTION TITLE</ti>
<p>Paragraph 3: PC DATA IS HERE</p>
<p>Paragraph 4: PC DATA IS HERE</p>
</sect1>
</chapter>

thanks in advance
... J. S. Rawat

Current Thread