Warnung
Da ich im Moment diese Seite leider nicht mehr aktiv pflegen und auf dem neuesten Stand halten kann, können manche Informationen bereits veraltet sein. Sollten Änderungen von euch bei mir eintreffen, bin ich jedoch gerne bereit diese hier einzupflegen. Auch Leute, die sich um die Seite bzw. deren Inhalt kümmern möchten, sind gerne gesehen.
 Inhaltsverzeichnis  Weitere SVG-Elemente  Das <use>-Element

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.

 Anzeigebeispiel

<?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>
Listing 6-4: Kombination von <symbol> und <use>

Abbildung 6-2: Wiederverwendung der Rechtecke
zum vorherigen Kapitel  Das <symbol>-Element
zum nächsten Kapitel  Beschreibungen
 Inhaltsverzeichnis  Weitere SVG-Elemente  Das <use>-Element