Nummerierung xslt

sindoin

Grünschnabel
hallo - ich suche eine lösung für folgendes beispiel

bsp.:

Code:
<beispiel>
   <element type="eins">
      <ding>
         hallo
      </ding>
   </element>
   <element type="zwei">
      <ding>
         welt!
      </ding>
   </element>
   <element type="eins">
      <ding>
         hallo
      </ding>
   </element>
</beispiel>

das ergebnis nach der transformation soll so aussehen:

Code:
hallo_1
welt_1
hallo_2

wie bekomme ich es hin dass element[3] weiß dass es das zweite hallo ist?

function number würde ja dieses ergebnis liefern das ich nicht haben will:

Code:
hallo_1
welt_2
hallo_3

hoffe ihr wisst was,
grüße,
robi
 
Hi.

XML:
<xsl:for-each select="//element">
    <xsl:variable name="name" select="normalize-space(ding)" />

    <xsl:value-of select="translate($name, '!', '')" />_<xsl:value-of select="count(preceding-sibling::element[normalize-space(ding) = $name]) + 1" />
</xsl:for-each>
Ausgabe:
Code:
hallo_1
welt_1
hallo_2
Gruß
 
Zuletzt bearbeitet von einem Moderator:

Neue Beiträge

Zurück