C-One: gleiche tags

Hallo zusammen,

ich habe eine xml mit folgenden aufbau:

<publication>
...
<author>...</author>
<author>...</author>
...
</publication>

Dabei ist die Anzahl der <author>-Elementen immer verschieden.

Wenn ich nun jedes Element durchgehen will (z.B. mit xsl:for-each), dann krieg ich immer nur den Inhalt des 1. <author>-Elementes. Ich brauche aber verständlicherweiße alle.

Außerdem möchte ich sie aufzählen, was bedeutet, dass ich sie mit einem Komma ausgeben möchte (author1, author 2, ...). Hat jemand ne Ahnung, wie ich das am besten realisieren kann?

Viele Grüße

  1. Hallo C-One,

    Außerdem möchte ich sie aufzählen, was bedeutet, dass ich sie mit einem Komma ausgeben möchte (author1, author 2, ...).

    Ansatz:

    <xsl:template match="publication">  
      <xsl:apply-templates select="author"/>  
    </xsl:template>  
      
    <xsl:template match="author">  
      <xsl:value-of select="."/>  
      <xsl:if test="position() != last()"><xsl:text>, </xsl:text></xsl:if>  
    </xsl:template>
    

    Grüße,
    Thomas

    1. Vielen Dank für deine Hilfe. Genauso wie ich wollte.

      Viele Grüße