Attribute nach Klasse
Fipps
- xsl
0 ThomasM
Hallo,
ich habe eine SVG-Datei in welcher ich ziemlich viele Objekte mit verschieden class-Attributen (Klasse) habe. Ich möchte mit XSL das r-Attribut (für den Radius eines Kreises) je nach Klasse setzen lasse.
Also aus etwas wie demhier:
<circle class="rzehn" transform="scale(1)" cx="0" cy="0" r="26.38" fill="yellow"/>
soll soetwas
<circle class="rzehn" transform="scale(1)" cx="0" cy="0" r="10" fill="yellow"/>
werden und zwar rekursiv für alle "zehn"-Kassen. Ich habe es schon auf verschiedenste Arten probiert, aber irgendie kommt nie etwas brauchbares raus.
Hallo Fipps,
<circle class="rzehn" transform="scale(1)" cx="0" cy="0" r="26.38" fill="yellow"/>
soll soetwas
<circle class="rzehn" transform="scale(1)" cx="0" cy="0" r="10" fill="yellow"/>
werden und zwar rekursiv für alle "zehn"-Kassen.
Ansatz mittels Identitätsverarbeitung aller Inhalte und spezieller Reaktion auf die r-Attribute im Kontext der entsprechenden Klasse:
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="@r">
<xsl:if test="../@class='rzehn'">
<xsl:attribute name="r">10</xsl:attribute>
</xsl:if>
</xsl:template>
Grüße,
Thomas