6.5Das <use>-Element
Mit dem <use>
-Element lassen sich verschiedene Objekte referenzieren. Darunter sind beispielsweise die Grundformen, Texte, Bilder und auch die eben kennengelernten Symbole. Das <use>
-Tag kann die Attribute x
, y
, width
und height
enthalten, wobei x
und y
die neue Position des Objekts angeben und width
und height
den Anzeigeraum begrenzen. Besitzt das zu referenzierende Objekt selbst schon x- und y-Koordinaten, werden diese zu denen des <use>
-Elements addiert.
In Kombination mit einem Symbol ist das <use>
-Tag ein sehr mächtiges Werkzeug, da die daraus resultierende Wiederverwendbarkeit viele Vorteile mit sich bringt. So ist die Verwaltung von referenzierten Objekten viel einfacher, da bei einer Änderung nicht jedes einzelne Objekt, sondern nur das Symbol angepaßt werden muß. Ein weiterer Vorteil ist natürlich die Größe der SVG-Datei, die bei einer häufigen Benutzung von Symbolen und Referenzen geringer ausfällt.
Listing 6-4 und
Abbildung 6-2 zeigen, wie sich das
<symbol>
- und das <use>
-Element miteinander kombinieren lassen.
<?xml version="1.0"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <defs> <symbol id="symb" style="stroke:black;stroke-width:3px"> <rect x="10" y="10" height="75" width="150" fill="red" /> <rect x="25" y="25" height="75" width="150" fill="blue" /> </symbol> </defs> <use xlink:href="#symb" /> <use x="30" y="30" xlink:href="#symb" /> <use x="60" y="60" xlink:href="#symb" /> </svg>
<symbol>
und <use>
