Announcement

Collapse
No announcement yet.

mehrere gleichnamige Tags zusammenfassen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • mehrere gleichnamige Tags zusammenfassen

    Gegeben habe ich ich eine XML-Datei der folgenden Art:
    Code:
    <book>
       <title>bla</title>
       ...
       <author>author1</author>
       <author>author2</author>
       ...
       <author>authorX</author>
    </book>
    Ich müsste das ganze so transformieren, dass sämtliche Authoren innerhalb eines einzigen Tags mit Semikolon getrennt voneinander stehen, also wie in etwa
    Code:
    <author>author1;author2;...;authorX</author>
    kann mir da jemand weiterhelfen, wie ich das realisieren kann?

  • #2
    Hallo,
    das könnte man mit einer FOR-EACH-Schleife erledigen, die den Inhalt der <author>-Knoten ausliest und dahinter mit Ausnahme des letzten Knotens noch ein Semikolon setzt:
    Code:
    <xsl:template match="book">
      <author>
        <xsl:for-each select="author">
          <xsl:value-of select="." />
          <xsl:if test="position() != last()">
            <xsl:text>;</xsl:text>
          </xsl:if>
        </xsl:for-each>
      </author>
    </xsl:template>

    Comment

    Working...
    X