Tobel: Fehlerhafte Nummerierung in XSL

Beitrag lesen

Hallo

Ich wandel eine XML-Datei in eine andere XML-Datei per XSL um. Aus der Quelldatei werden Elemente 1:1 übernommen und dann ein "Nummer"-Attribut hinzugefügt. Die Zieldatei weißt aber nicht erwartete Nummerierung auf:

Quelldatei:
-----------
<root>
 <rumpf>
  <element>
   <absatz>1.1 satz</absatz>
   <absatz>1.2 absatz</absatz>
   <absatz>1.3 absatz</absatz>
   <element>
    <absatz>2.1 absatz</absatz>
    <absatz>2.2 absatz</absatz>
    <absatz>2.3 bsatz</absatz>
    <absatz>2.4 bsatz</absatz>
   </element>
  </element>
  <element>
   <absatz>3.1 absatz</absatz>
   <absatz>3.2 absatz</absatz>
  </element>
 </rumpf>
</root>

Style Sheet:
------------
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" encoding="UTF-8" omit-xml-declaration="yes" />

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

<xsl:template match="absatz">
  <xsl:variable name="nr">
   <xsl:value-of select="position()"/>
  </xsl:variable>

<absatz nr="{$nr}">
    <xsl:value-of select="text()" />
   </absatz>
 </xsl:template>

</xsl:stylesheet>

Zieldatei:
----------
   <absatz nr="2">1.1 satz</absatz>
   <absatz nr="4">1.2 absatz</absatz>
   <absatz nr="6">1.3 absatz</absatz>

<absatz nr="2">2.1 absatz</absatz>
    <absatz nr="4">2.2 absatz</absatz>
    <absatz nr="6">2.3 bsatz</absatz>
    <absatz nr="8">2.4 bsatz</absatz>

<absatz nr="2">3.1 absatz</absatz>
   <absatz nr="4">3.2 absatz</absatz>

Ich hatte eigentlich folgende Nummerierung erwartet:

<absatz nr="1">1.1 satz</absatz>
   <absatz nr="2">1.2 absatz</absatz>
   <absatz nr="3">1.3 absatz</absatz>

<absatz nr="1">2.1 absatz</absatz>
    <absatz nr="2">2.2 absatz</absatz>
    <absatz nr="3">2.3 bsatz</absatz>
    <absatz nr="4">2.4 bsatz</absatz>

<absatz nr="4">3.1 absatz</absatz>
   <absatz nr="5">3.2 absatz</absatz>

Vielen Dank im voraus!

Tobel