Re: [xsl] problem with creating structure

Subject: Re: [xsl] problem with creating structure
From: Andreas Peter <info@xxxxxxxxxx>
Date: Sun, 11 Nov 2007 22:48:53 +0100
Quoting "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>:

At 2007-11-11 22:05 +0100, Andreas Peter wrote:
XSL exasperates me! I have the following XML structure:

<Root>
   <Textabschnitt>
       <h1>Geistiger Volksbesitz der Kameruner im Blickfeld des
Missionars</h1>
       <h2>EinfCB<hrung </h2>
       <p>...</p>
       <p>...</p>
       <p>...</p>
       <p>...</p>
       <p>...</p>
       <h2>I.Teil: Der &#65279;Mensch CB- ein &#65279;Leib </h2>
       <h3>Allgemeines </h3>
       <p>...</p>
       <p>...</p>
       <p>...</p>
       <p>...</p>
       <p>...</p>
   </Textabschnitt>
</Root>

This should be transformed into the following XML structure:

<set>
   <book>
       <bookinfo/>
       <title/>
       <chapter>
           <title/>
           <para/>
           <sect1>
               <title/>
               <para/>
           </sect1>
           <sect2>
               <title/>
               <para/>
           </sect2>
           <sect3>
               <title/>
               <para/>
           </sect3>
       </chapter>
   </book>
</set>

I want to insert an element <chapter> before the element <h2> but only
for the first element <h2>. The second element <h2> should be
transformed to <title>. And I need to output every <p> element
according to its proir element until the next <h2>, <h3>, ... occures.

Can you take the time to populate the target structure above with the text from your example? I'm lost as to where the content of the first <h2> goes.

And, are you restricted to XSLT 1 or can you use XSLT 2 for the solution?

Unfortunately I cannot see the problem. Any hint from the experts? I
hope this is enough code.

The code is less important than understanding the requirement. A quick look at the code is that you have gone off on a tangent and need to address the problem differently ... but that is just a guess based on not understanding what goes where. Also, your code references <h3> and <h4> but your example test data doesn't show what is happening when there are multiple occurrences of these elements in the input.

. . . . . . . . . . . . Ken

--
Comprehensive in-depth XSLT2/XSL-FO1.1 classes: Austin TX,Jan-2008
World-wide corporate, govt. & user group XML, XSL and UBL training
RSS feeds:     publicly-available developer resources and training
G. Ken Holman                 mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/s/
Box 266, Kars, Ontario CANADA K0A-2E0    +1(613)489-0999 (F:-0995)
Male Cancer Awareness Nov'07  http://www.CraneSoftwrights.com/s/bc
Legal business disclaimers:  http://www.CraneSoftwrights.com/legal


Hello Ken,

I tried to visualize the problem. Hope this is not too confusing. I
did not reference <h3> and <h4> because I did not solve <h1> and <h2>.
So here is the example. The first block shows the input and the second
one shows the output. I can use XSLT 2, too.

<Root>
    <Textabschnitt>
        <h1>Geistiger Volksbesitz der Kameruner im Blickfeld des
Missionars </h1>
        <h2>EinfC<hrung </h2>
        <p>AuCer ihnen gibt es aber auch andere, die vermuten, aus
der Schilderung des inneren
            Erlebens primitiver StC$mme mit ihrer einfachen, mehr
geschlossenen Weltanschauung nicht</p>
        <p>Dazu sind die Blicke vieler auf unsere einstigen Kolonien
gerichtet in der bestimmten
            Erwartung, daC uns das Ende des gegenwC$rtigen Krieges
wieder in den Besitz des</p>
        <p>Entsprechend seinem Beruf hat der Verfasser auch den Titel
seines Buches gewC$hlt. Damit
            mag fC<r viele schon C<ber das Folgende ein Urteil gefC$llt
sein: Geschaut mit beschrC$nktem
            und voreingenommenem Blick! Nun ist der Verfasser dankbar
manchen MC$nnern der
            Wissenschaft der Heimat, die durch sichtende Arbeit im
Studierzimmer mancherle</p>
        <h2>I.Teil: Der &#65279;Mensch B ein &#65279;Leib </h2>
        <h3>Allgemeines</h3>
        <p>So ist auch die Einheit BMenschB ein Leib-Geistwesen, denn
im Normalzustand besteht sein
            KC6rper aus der eyobo BHC<lleB, in der, sie ganz
ausfC<llend, mudi Bdie LebensseeleB webt.
            Sie ist der eigentliche TrC$ger des Lebens. Ohne diese
Lebensseele ist der Mensch in</p>
        <p>Was denkt nun der Kameruner C<ber seine leibliche
Existenzform, die seine Lebensseele an
            die Sichtbarkeit bindet? </p>
        <h4>2. &#65279;Beerdigungssitten und &#65279;Totenfeiern bei
den <name_group>Bakwiri </name_group></h4>
        <p>Die Einzelheiten der verschiedenen GebrC$uche variieren bei
den verschiedenen StC$mmen, in
            den groCen ZC<gen aber C$hneln sie sich. </p>
    </Textabschnitt>
</Root>


<set> <book> <bookinfo/> <title>Geistiger Volksbesitz der Kameruner im Blickfeld des Missionars</title> <chapter> <title>EinfC<hrung</title> <para> AuCer ihnen gibt es aber auch andere, die vermuten, aus der Schilderung des inneren Erlebens primitiver StC$mme mit ihrer einfachen, mehr geschlossenen Weltanschauung nicht Dazu sind die Blicke vieler auf unsere einstigen Kolonien gerichtet in der bestimmten Erwartung, daC uns das Ende des gegenwC$rtigen Krieges wieder in den Besitz des Entsprechend seinem Beruf hat der Verfasser auch den Titel seines Buches gewC$hlt. Damit mag fC<r viele schon C<ber das Folgende ein Urteil gefC$llt sein: Geschaut mit beschrC$nktem und voreingenommenem Blick! Nun ist der Verfasser dankbar manchen MC$nnern der Wissenschaft der Heimat, die durch sichtende Arbeit im Studierzimmer mancherle </para> <sect1> <title>I.Teil: Der &#65279;Mensch B ein &#65279;Leib</title> <para>AuCer ihnen gibt es aber auch andere, die vermuten, aus der Schilderung des inneren Erlebens primitiver StC$mme mit ihrer einfachen, mehr geschlossenen Weltanschauung nicht nur SchlC<sse auf die Vorgeschichte der KulturvC6lker ziehen zu kC6nnen, sondern daC sie auch Fingerzeige geben fC<r manche uns noch nicht ganz geklC$rte Fragen, die der gewaltige Umbruch unseres heimatlichen Volkslebens im letzten Jahrzehnt uns gestellt [hat]. Welche Wechselbeziehungen da bestehen kC6nnen, sieht der besonders, dem ein Einblick in den Mechanismus des fremden Volkslebens gegeben ist und der auch die VorgC$nge in der Heimat mit pochendem Herzen verfolgt und miterlebt hat.</para> </sect1> <sect2> <title>Allgemeines</title> <para>So ist auch die Einheit BMenschB ein Leib-Geistwesen, denn im Normalzustand besteht sein KC6rper aus der eyobo BHC<lleB, in der, sie ganz ausfC<llend, mudi Bdie LebensseeleB webt. Sie ist der eigentliche TrC$ger des Lebens. Ohne diese Lebensseele ist der Mensch in </para> </sect2> <sect3> <title>Allgemeines</title> <para>So ist auch die Einheit BMenschB ein Leib-Geistwesen, denn im Normalzustand besteht sein KC6rper aus der eyobo BHC<lleB, in der, sie ganz ausfC<llend, mudi Bdie LebensseeleB webt. Sie ist der eigentliche TrC$ger des Lebens. Ohne diese Lebensseele ist der Mensch in Was denkt nun der Kameruner C<ber seine leibliche Existenzform, die seine Lebensseele an die Sichtbarkeit bindet?</para> </sect3> <sect4> <title>2. &#65279;Beerdigungssitten und &#65279;Totenfeiern bei den Bakwiri</title> <para>Die Einzelheiten der verschiedenen GebrC$uche variieren bei den verschiedenen StC$mmen, in den groCen ZC<gen aber C$hneln sie sich.</para> </sect4> </chapter> </book> </set>

Thanks a lot,
Andreas

Current Thread