Thomas Meinike: Das logische und das physiche an SVG...

Beitrag lesen

Hallo,

Und zwar:
XML soll ja das Layout von der Struktur der Daten trennen, wie man in vielen Zeitschriften und auch in SelfHTML lesen kann.
Nun frage ich mich, wie das bei SVG ist, denn schließlich wird ja hier das Aussehen der Daten explizit vorgegeben.
Z.B sagt
<rect x="0" y="0" width="10" height="10" fill="blue"/>
ganz genau, wie das Rechteck auszusehen hat, welche Farbe es hat usw.

Müßte es denn nicht so sein, wenn man die Intention von XML beachtet, daß es nur heißt
<rect/>

In SVG sind die wesentlichen Daten der geometrischen Elementarobjekte in Form von Attributwerten definiert, was IMHO sinnvoll ist, weil es eben die Primaerdaten sind (Vektor-Koordinaten). Auch ist die Verarbeitung von separaten Attributwerten oft komfortabler, z. B. bei der Transformation anderer XML-Daten in SVG-Dokumente (siehe weiter unten).

Die visuelle Praesentation kann zwar auch mittels einiger Attribute beschrieben werden, z. B. fill, aber auch hier ist die Verwendung von CSS moeglich und aus meiner Sicht praktikabler (Klassenkonzept, externe CSS-Dateien, usw).

Ein roter Kreis mit 2px starkem blauem Rand und 50% Deckkraft entsteht dann so:

<circle cx="100" cy="100" r="20" style="fill: #F00; stroke: #00C; stroke-width: 2px; fill-opacity: 0.5"/>

oder

<circle cx="100" cy="100" r="20" class="kreis1"/>

mit

.kreis1
{
fill: #F00;
stroke: #00C;
stroke-width: 2px;
fill-opacity: 0.5;
}

und man dann anschließend mit XSL das Aussehen bestimmt?

Mit XSL kann man das Aussehen von SVG-Dokumenten nicht bestimmen, aber es lassen sich XSL-Transformationsvorlagen schreiben, die -- wie bereits genannt -- XML-Daten als Inhalte von SVG-Elementen bzw. -Attributen ausgeben, siehe http://www.styleassistant.de/tips/tip89.htm.

MfG, Thomas