Michael: SVG - DOM - Javascript

Hallo,

ich habe ein Problem bei der Kombination von SVG und der Generierung von Inhalten durch Javascript.

Es besteht eine SVG-Datei, in die neue Knoten per Javascript eingefügt und bestimmte Attribute (x und y-Koordinaten) gesetzt werden.
Nun lassen sich die neu gesetzten Attribute jedoch nicht weiter über das DOM ansprechen bzw auslesen.

Kann es sein, dass die gesetzten Attribute quasi in einen neuen, parallelen DOM eingefügt werden? Mir ist so, als hätte ich mal was darüber gelesen, kann die Seite aber nicht mehr finden.

Vielen Dank im Voraus,

Michael

  1. Ich hab hier eine Seite gefunden, die von zwei DOMs spricht:

    "In SVG two DOMs exist in parallel. The first is the one you know best, namely, the core DOM that's a representation of your document. The other is something called the animated DOM, which stores animated values for each attribute which may be animated"

    http://www.xml.com/pub/a/2002/10/09/mutate.html

    Leider finde ich nirgends sonst etwas darüber :-(

    Michael

  2. Hallo,

    ich habe ein Problem bei der Kombination von SVG und der Generierung von Inhalten durch Javascript.

    Es besteht eine SVG-Datei, in die neue Knoten per Javascript eingefügt und bestimmte Attribute (x und y-Koordinaten) gesetzt werden.
    Nun lassen sich die neu gesetzten Attribute jedoch nicht weiter über das DOM ansprechen bzw auslesen.

    Kann es sein, dass die gesetzten Attribute quasi in einen neuen, parallelen DOM eingefügt werden? Mir ist so, als hätte ich mal was darüber gelesen, kann die Seite aber nicht mehr finden.

    Thomas Meinike hat hier im Forum schon öfters zu diesem Thema was geschrieben. Vielleicht hilft dir, wenn du paar Beiträge im Archiv durchliest, die dort behandelten Probleme können auch auf deine Fragen Antworten oder weitere Ideen zu ihnen liefern.
    http://suche.de.selfhtml.org/cgi-bin/such.pl?suchausdruck=SVG+Javascript+DOM&lang=on&feld=alle&index_5=on&index_6=on&index_7=on&hits=alle

    Grüße
    Thomas

  3. Ich habe nun das Problem verstanden:

    Es liegt in der nicht kompletten Umsetzung der SVG-Spezifikation durch die SVG-Viewer.
    Werte, die durch eine Animation geändert werden, sind nicht direkt über das DOM erreichbar, sondern über die Eigenschaft 'animatedValue'. Diese ist leider noch nicht in den Viewern umgesetzt. Es existiert also nicht, wie ich oben behauptet habe, ein paralleler zweiter DOM, sondern die eben erläuterte Eigenschaft.
    Aufgrund der mangelnden Umsetzung findet man wohl auch nichts über dieses Problem im Netz. Ich musste mir mit einem Workaround behelfen.

    Michael

    1. Hallo,

      Es liegt in der nicht kompletten Umsetzung der SVG-Spezifikation durch die SVG-Viewer. [...]
      Ich musste mir mit einem Workaround behelfen.

      Und wie sieht dein Workaround aus?

      Grüße
      Thomas