xsl-list
[Top] [All Lists]

AW: AW: [xsl] grouping-problem i guess

2008-11-20 09:21:02
Thx a lot martin !!!!

It works perfectly...I´ll have to do a few adaptions but that´s a good first 
step :)

Thx again

cheers 


Patrick Szabo
EPD / XSLT Konvertierung
Tel.: +43-1-534 52-1573
Fax.: +43-1-534 52-1573
patrick(_dot_)szabo(_at_)lexisnexis(_dot_)at

LexisNexis Verlag ARD Orac GmbH & Co KG
Marxergasse 25, 1030 Wien
FN 8333f, Handelsgericht Wien
www.lexisnexis.at





-----Ursprüngliche Nachricht-----
Von: Martin Honnen [mailto:Martin(_dot_)Honnen(_at_)gmx(_dot_)de] 
Gesendet: Donnerstag, 20. November 2008 15:10
An: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Betreff: Re: AW: [xsl] grouping-problem i guess

Szabo, Patrick (LNG-VIE) wrote:

Here an input with more lists

<liste>
      <ziffernliste>
              <listelem><symbol >1.</symbol>text</listelem>
              <listelem><symbol >2.</symbol>text</listelem>
      </ziffernliste>
      <schluss>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</schluss>
      <schluss>YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY</schluss>
      <strichliste>
              <listelem><symbol >-</symbol>text</listelem>
              <listelem><symbol >-</symbol>text</listelem>
      </strichliste>
      <schluss>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</schluss>
      <schluss>BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB</schluss>
      
</liste>


<nummerierte-liste>
            <listnum>1.</listnum>
            <punkt>
               <absatz>text</absatz>
            </punkt>
            <listnum>2.</listnum>
            <punkt>
               <absatz>text</absatz>
               <absatz>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</absatz>
                 <absatz>YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY</absatz>
            </punkt>
</nummerierte-liste>
<liste>
              <punkt>
               <absatz>text</absatz>
            </punkt>
              <punkt>
               <absatz>text</absatz>
                 
<absatz>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</absatz>
               <absatz>BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB</absatz>
            </punkt>
</liste>

The following stylesheet produces the described result:

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

   <xsl:output method="xml" indent="yes"/>

   <xsl:template match="liste">
     <xsl:for-each-group select="*" group-starting-with="ziffernliste | 
strichliste">
       <xsl:apply-templates select="current-group()[1]"/>
     </xsl:for-each-group>
   </xsl:template>

   <xsl:template match="ziffernliste">
     <nummerierte-liste>
       <xsl:apply-templates select="listelem" mode="ziffer"/>
     </nummerierte-liste>
   </xsl:template>

   <xsl:template match="listelem" mode="ziffer">
     <listnum>
       <xsl:value-of select="symbol"/>
     </listnum>
     <punkt>
       <xsl:apply-templates select="text()"/>
       <xsl:if test="position() eq last()">
         <xsl:apply-templates select="current-group()[self::schluss]"/>
       </xsl:if>
     </punkt>
   </xsl:template>

   <xsl:template match="strichliste">
     <liste>
       <xsl:apply-templates select="listelem" mode="strich"/>
     </liste>
   </xsl:template>

   <xsl:template match="listelem" mode="strich">
     <punkt>
       <xsl:apply-templates select="text()"/>
       <xsl:if test="position() eq last()">
         <xsl:apply-templates select="current-group()[self::schluss]"/>
       </xsl:if>
     </punkt>
   </xsl:template>

   <xsl:template match="schluss | listelem/text()">
     <absatz>
       <xsl:value-of select="."/>
     </absatz>
   </xsl:template>

</xsl:stylesheet>


-- 

        Martin Honnen
        http://JavaScript.FAQTs.com/

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>