SVG – Learning by Coding

[ Mozilla-DOM-Test_3.svg --> Grafik anzeigen ]

 1: 
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
 2: 
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"

 3: 
  "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" [

 4: 
  <!ATTLIST svg xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink">

 5: 
]>

​ 6:  7: 
<!-- SVG Learning by Coding http://www.datenverdrahten.de/svglbc/ -->

 8: 
<!--    AuthorDrThomas Meinike 09/05 thomas@handmadecode.de     -->

​ 9: 10: 
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">

​11: 12: 
  <title>SVG Learning by Coding</title>

13: 
  <desc>SVG-Spezifikation in Beispielen</desc>

​14: 15: 
  <defs>

​16: 17: 
    <script type="text/javascript">

18: 
      <![CDATA[

​19: 20: 
      var clk=true;

​21: 22: 
      function MozDOMTest3()

23: 
      {

24: 
        if(clk)

25: 
        {

26: 
          if((navigator.mimeTypes &&

27: 
              navigator.mimeTypes["image/svg+xml"] &&

28: 
              !navigator.mimeTypes["image/svg+xml"].enabledPlugin) ||

29: 
              document.implementation.hasFeature("org.w3c.dom.svg","1.0"))

30: 
          {

31: 
            var xmlobject,svgobject,new_g,new_circle,new_text,new_textnode;

32: 
            var svgns="http://www.w3.org/2000/svg";

​33: 34: 
            // neues Dokumentobjekt erzeugen

35: 
            if(document.implementation && document.implementation.createDocument)

36: 
            {

37: 
              xmlobject=document.implementation.createDocument(svgns,"svg",null);

​38: 39: 
              // Neue xmlobject-Knoten fuer Elemente, Attribute und Textinhalt erzeugen

40: 
              new_g=xmlobject.createElementNS(svgns,"g");

​41: 42: 
              new_circle=xmlobject.createElementNS(svgns,"circle");

43: 
              new_circle.setAttribute("cx","150");

44: 
              new_circle.setAttribute("cy","150");

45: 
              new_circle.setAttribute("r","60");

46: 
              new_circle.setAttribute("fill","#FF0");

47: 
              new_circle.setAttribute("stroke","#000");

​48: 49: 
              new_text=xmlobject.createElementNS(svgns,"text");

50: 
              new_text.setAttribute("x","50");

51: 
              new_text.setAttribute("y","250");

52: 
              new_text.setAttribute("font-size","12px");

​53: 54: 
              new_textnode=xmlobject.createTextNode("SVG mittels createDocument() erzeugt.");

​55: 56: 
              // neue Knoten in den neuen DOM-Baum einfuegen

57: 
              new_text.appendChild(new_textnode);

58: 
              new_g.appendChild(new_circle);

59: 
              new_g.appendChild(new_text);

​60: 61: 
              xmlobject.documentElement.appendChild(new_g);

​62: 63: 
              // g-Element mit Inhalt aus xmlobject abfragen

64: 
              svgobject=document.importNode(

65: 
                xmlobject.documentElement.getElementsByTagName("g").item(0),true);

​66: 67: 
              // Ergebnis (Dokumentfragment) in den SVG-DOM-Baum einhaengen

68: 
              document.documentElement.appendChild(svgobject);

69: 
            }

70: 
            else alert("Kein Ergebnis erhalten!");

71: 
          }

72: 
          else alert("Keine SVG-Implementierung\nauf Mozilla-Basis gefunden!");

73: 
        }

74: 
        else alert("Der Test wurde bereits ausgeführt!");

75: 
      }

​76: 77: 
      ]]>

78: 
    </script>

​79: 80: 
  </defs>

​81: 82: 
  <text x="20" y="30" style="fill: #000; font-size: 24px">

83: 
    Mozilla-DOMSVG-Inhalte mittels createDocument() einfügen</text>

​84: 85: 
  <a xlink:href="" cursor="pointer" onclick="return false"><text x="20" y="60" style="fill: #F00; font-size: 14px"

86: 
    onclick="MozDOMTest3();clk=false">Test ausführen!</text></a>

​87: 88: 
</svg>

[zum Anfang]