Hallo!
Ich habe mich zu diesem Thema die letzten zwei Tage zu tode gegoogelt und recherchiert.
Ich möchte in eine SVG-Datei Teile von eienr anderen einbinden und will das mal anhand von zwei kurzen Dateien demonstrieren:
Zuerst eine komplett eingenständige Datei (1.svg) mit einem Kreis und einer Ellipse wechle mit ids im <defs> Bereich definiert sind und dann mit <use> und dem entsprechnden XLink innerhalb der Datei referenziert sind:
Soweit so gut - funktioniert alles wie gewollt mit diversen Viewern.
Jetzt würde ich gerne aber aus einer zweiten SVG-Datei (2.svg) den Kreis, der in dem <def>-Bereich der Datei 1.svg deklariert ist mit <use> einbinden:
Das funktioniert bei mir allerdings mit keinem Viewer. Daher meine Fragen:
1. Geht das überhaupt?
2. Ist der XLink falsch?
3. Unterstützt noch kein Viewer den svg bzw. XLink Standard?
Das Ganze müsste doch irgendwie gehen..
Siehe auch: http://www.w3.org/TR/SVG11/linking.html#LinksIntoSVG
Vielen Dank!
Ich habe mich zu diesem Thema die letzten zwei Tage zu tode gegoogelt und recherchiert.
Ich möchte in eine SVG-Datei Teile von eienr anderen einbinden und will das mal anhand von zwei kurzen Dateien demonstrieren:
Zuerst eine komplett eingenständige Datei (1.svg) mit einem Kreis und einer Ellipse wechle mit ids im <defs> Bereich definiert sind und dann mit <use> und dem entsprechnden XLink innerhalb der Datei referenziert sind:
Code:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox = "0 0 1000 1000" version = "1.1"> <defs> <circle id = "s1" cx = "200" cy = "200" r = "200" fill = "yellow" stroke = "black" stroke-width = "3"/> <ellipse id = "s2" cx = "200" cy = "150" rx = "200" ry = "150" fill = "salmon" stroke = "black" stroke-width = "3"/> </defs> <use x = "100" y = "100" xlink:href = "#s1"/> <use x = "100" y = "650" xlink:href = "#s2"/> </svg>
Jetzt würde ich gerne aber aus einer zweiten SVG-Datei (2.svg) den Kreis, der in dem <def>-Bereich der Datei 1.svg deklariert ist mit <use> einbinden:
Code:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox = "0 0 1000 1000" version = "1.1"> <defs> <ellipse id = "s2" cx = "200" cy = "150" rx = "200" ry = "150" fill = "salmon" stroke = "black" stroke-width = "3"/> </defs> <use x = "100" y = "100" xlink:href = "1.svg#s1"/> <use x = "100" y = "650" xlink:href = "#s2"/> </svg>
1. Geht das überhaupt?
2. Ist der XLink falsch?
3. Unterstützt noch kein Viewer den svg bzw. XLink Standard?
Das Ganze müsste doch irgendwie gehen..
Siehe auch: http://www.w3.org/TR/SVG11/linking.html#LinksIntoSVG
Vielen Dank!
Comment