[xsl] problem with processing nodes

Subject: [xsl] problem with processing nodes
From: Andreas Peter <info@xxxxxxxxxx>
Date: Wed, 19 Dec 2007 20:15:18 +0100
Hello list,

I have a problem with processing several nodes. My input document looks
like the following:


<Root> <h01>Evangelium, afrikanisches Volkstum und geistiger Volksbesitz im Denken des Missionars Johannes Ittmann</h01> <h02>bis zum ersten groC&#65533;en <name_geo>Jamaika</name_geo>-Manuskript (ca. 1943) im Zusammenhang der deutschen missionstheologischen Debatte 1909C"&#65533;&#65533;1940</h02> <h03>Magisterschrift</h03> <p>zum Erwerb des Mag. theol.</p> <p>nach der Ordnung der</p> <bildunterschrift> <p>Johannes Ittmann (1885C"&#65533;&#65533;1963)</p> </bildunterschrift>

<h1>1. Einleitung</h1>
<h2>1.1 C"&#65533;&#65533;Gott kommt frCBher als der
MissionarC"&#65533;&#65533;</h2>
<p>C"&#65533;&#65533;Gott kommt frCBher als der
MissionarC"&#65533;&#65533;C"&#65533;&#65533; so titelt ein Buch des
Befreiungstheologen Leonardo
Boff (1992). ...</p>
<p_e>Ittmann steht im Kontext der deutschen Missionstheologie seiner
Zeit, die davon ausgeht,
daC&#65533; das C"&#65533;&#65533;VolkstumC"&#65533;&#65533;
C"&#65533;&#65533; ...</p_e>
<h2>1.2 Leben und Werk Ittmanns im C&#65533;berblick<fn>Die
biographischen Daten
beruhen auf einem
Nachruf zu Ittmann (KCBhler-Meyer 1964), ...</fn></h2>
<p>Ittmann schilderte mitunter, wie er selbst wCBhrend der Reise auf
FuC&#65533;mCBrschen seine
afrikanischen Begleiter befragte. ...</p>
<h2>1.3 Quellenlage, Eingrenzung, Aufbau und Methodik</h2>
<p>Aus Ittmanns reichhaltigem Schaffen galt es inhaltlich auszuwCBhlen
...</p>

<h1>2. C"&#65533;&#65533;Gott kommt frCBher als der
MissionarC"&#65533;&#65533; C"&#65533;&#65533; Inwiefern?</h1>
<h2>2.1 Einleitendes</h2>
<p>C"&#65533;&#65533;Gott kommt frCBher als der
MissionarC"&#65533;&#65533; C"&#65533;&#65533; so habe ich mit Leonardo
Boff
in der Einleitung
Ittmanns...</p>
<h3>2.1.1 Grobgestalt</h3>
<p>Die etwa 200 Seiten des Manuskriptes gliedern sich in eine Einleitung
von sechs Seiten und
vier Hauptteile:</p>
<h3>2.1.2 Ziele und Zielgruppen</h3>
<p>In der EinfCBhrung {I-VI} nennt Ittmann fCBnf Zielgruppen und
entsprechende Ziele:</p>
<h3>2.1.3 Methodenreflexion</h3>
<p>Gerade der letzte Punkt fordert ihn zur Klarlegung seiner Methode:
...</p>
<h4>Zu B. Leibesleben zwischen Geburt und Tod {14-24}</h4>
<p>Hier kommen beide zunCBchst auf die Beschneidung zu sprechen.
Johanssen (1931, 199-201)
...</p>
</Root>


I use the following XSL for output:


<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
version="2.0">
<xsl:output indent="yes"/>

<xsl:template match="/">
<Teil>
<xsl:apply-templates select="Root"/>
</Teil>
</xsl:template>

<xsl:template match="Root">
<Titelei>
<xsl:call-template name="titelei"/>
</Titelei>
<inhalt>
<xsl:call-template name="inhalt"/>
</inhalt>
</xsl:template>

<xsl:template name="titelei">
<xsl:param name="t" select="1"/>
<xsl:param name="nodes" select="*"/>
<xsl:for-each-group select="$nodes"
group-starting-with="*[name()=concat('h0',$t)]">
<xsl:choose>
<xsl:when test="name()=concat('h0',$t)">
<xsl:element name="{if($t=1) then 'h01' else concat('h0',$t)}">
<xsl:apply-templates/>
</xsl:element>
<xsl:call-template name="titelei">
<xsl:with-param name="t" select="$t+1"/>
<xsl:with-param name="nodes" select="current-group()[position()!=1]"/>
</xsl:call-template>
</xsl:when>
</xsl:choose>
</xsl:for-each-group>
</xsl:template>

<xsl:template name="inhalt">
<xsl:param name="i" select="1"/>
<xsl:param name="nodes" select="*"/>
<xsl:for-each-group select="$nodes"
group-starting-with="*[name()=concat('h',$i)]">
<xsl:choose>
<xsl:when test="name()=concat('h',$i)">
<xsl:element name="{if($i=1) then 'Ebene1' else concat('Ebene',$i)}">
<xsl:element name="{if($i=1) then 'h1' else concat('h',$i)}">
<xsl:apply-templates/>
</xsl:element>
<xsl:call-template name="inhalt">
<xsl:with-param name="i" select="$i+1"/>
<xsl:with-param name="nodes" select="current-group()[position()!=1]"/>
</xsl:call-template>
</xsl:element>
</xsl:when>
</xsl:choose>
</xsl:for-each-group>
</xsl:template>
</xsl:stylesheet>


The output should like this:


<Teil>
<Titelei>
<h01>Evangelium, afrikanisches Volkstum und geistiger Volksbesitz im
Denken des Missionars Johannes Ittmann</h01>
<h02>bis zum ersten groC&#65533;en
<name_geo>Jamaika</name_geo>-Manuskript (ca.
1943) im Zusammenhang der deutschen missionstheologischen Debatte
1909C"&#65533;&#65533;1940</h02>
<h03>Magisterschrift</h03>
<p>zum Erwerb des Mag. theol.</p>
<p>nach der Ordnung der</p>
<bildunterschrift>
<p>Johannes Ittmann (1885C"&#65533;&#65533;1963)</p>
</bildunterschrift>
</Titelei>

<inhalt>
<Ebene1>
<h1>1. Einleitung</h1>
<Ebene2>
<h2>1.1 C"&#65533;&#65533;Gott kommt frCBher als der
MissionarC"&#65533;&#65533;</h2>
<p>C"&#65533;&#65533;Gott kommt frCBher als der
MissionarC"&#65533;&#65533;C"&#65533;&#65533; so titelt ein Buch des
Befreiungstheologen Leonardo Boff (1992). ...</p>
<p_e>Ittmann steht im Kontext der deutschen Missionstheologie seiner
Zeit, die davon ausgeht, daC&#65533; das
C"&#65533;&#65533;VolkstumC"&#65533;&#65533; C"&#65533;&#65533; ...</p_e>
</Ebene2>
<Ebene2>
<h2>1.2 Leben und Werk Ittmanns im C&#65533;berblick<fn>Die
biographischen Daten
beruhen auf einem Nachruf zu Ittmann (KCBhler-Meyer 1964), ...</fn></h2>
<p>Ittmann schilderte mitunter, wie er selbst wCBhrend der Reise auf
FuC&#65533;mCBrschen seine afrikanischen Begleiter befragte. ...</p>
<h2>1.3 Quellenlage, Eingrenzung, Aufbau und Methodik</h2>
<p>Aus Ittmanns reichhaltigem Schaffen galt es inhaltlich auszuwCBhlen
...</p>
</Ebene2>
</Ebene1>
<Ebene1>
<h1>2. C"&#65533;&#65533;Gott kommt frCBher als der
MissionarC"&#65533;&#65533; C"&#65533;&#65533; Inwiefern?</h1>
<Ebene2>
<h2>2.1 Einleitendes</h2>
<p>C"&#65533;&#65533;Gott kommt frCBher als der
MissionarC"&#65533;&#65533; C"&#65533;&#65533; so habe ich mit Leonardo
Boff
in der Einleitung Ittmanns...</p>
<Ebene3>
<h3>2.1.1 Grobgestalt</h3>
<p>Die etwa 200 Seiten des Manuskriptes gliedern sich in eine Einleitung
von sechs Seiten und vier Hauptteile:</p>
</Ebene3>
<Ebene3>
<h3>2.1.2 Ziele und Zielgruppen</h3>
<p>In der EinfCBhrung {I-VI} nennt Ittmann fCBnf Zielgruppen und
entsprechende Ziele:</p>
</Ebene3>
<Ebene3>
<h3>2.1.3 Methodenreflexion</h3>
<p>Gerade der letzte Punkt fordert ihn zur Klarlegung seiner Methode:
...</p>
<Ebene4>
<h4>Zu B. Leibesleben zwischen Geburt und Tod {14-24}</h4>
<p>Hier kommen beide zunCBchst auf die Beschneidung zu sprechen.
Johanssen (1931, 199-201) ...</p>
</Ebene4>
</Ebene3>
</Ebene2>
</Ebene1>
</inhalt>
</Teil>

Everything works fine except the <p>-elements from the
xsl:for-each-group. They are not processed properly.

Any idea from the experts?

Thanks,
Andreas

Current Thread