Björn Höhrmann: Koordinaten --> Karte in Form einer Tabelle

Beitrag lesen

wie kann ich ein Koordinaten-Set wie z.B.:

<region x="1" y="A" />
<region x="2" y="A" />
<region x="3" y="A" />
<region x="4" y="A" />

in eine Tabelle nach folgendem Muster transformieren?

(1;A)(2;A)(3;A)(4;A)
(1;B)(2;B)(3;B)(4;B)
(1;C)(2;C)(3;C)(4;C)
[...]

<xsl:transform version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
<xsl:output method = 'text'/>

<xsl:template match = 'text()' />

<xsl:template match = 'region'>
  xsl:text(</xsl:text>
  <xsl:value-of select='@x'/>
  xsl:text;</xsl:text>
  <xsl:value-of select='@y'/>
  xsl:text)</xsl:text>
  <xsl:if test = 'count(preceding-sibling::region) mod 4 = 3'>
    xsl:text&#xa;</xsl:text>
  </xsl:if>
</xsl:template>

</xsl:transform>

Das leere Template für text() lässt sich durch ein geeignetes übergeordnetes Template mit einem entsprechenden xsl:apply-templates natürlich umgehen und es gibt natürlich auch andere Wege zum gewünschten Ziel...