SVG/Struktura

Z Wikibooks, biblioteki wolnych podręczników.
< SVG

Istnieją trzy sposoby na wyświetlenie pliku SVG w internecie:

Plik SVG[edytuj]

Przykład #1.1[edytuj]

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!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" version="1.1" width="250px" height="250px" x="10px" y="10px">

 <rect x="10px" y="10px" width="100px" height="100px"/>

</svg>

Pierwsza linijka, rozpoczynająca dokument, to prolog (instrukcja przetwarzania) dokumentu XML, określająca kolejno: wersję, kodowanie znaków i czy dokument nie odwołuje się do zewnętrznych zasobów. Kolejna określa DTD (Document Type Declaration) jakie ma zostać wykorzystane - w nim określone są wszystkie elementy i atrybuty. Kolejna to element główny <svg> z atrybutami xmlns (eXtensible Markup Language Name Spaces - określa przestrzeń nazw), version (tutaj jest to 1.1) oraz wymiary i położenie.

Plusami pliku SVG jest jego niezależność od strony. Może on być wyświetlony oddzielnie od strony, jako inny dokument. Może być także włączony w stronę WWW za pomocą obiektów.

Obiekt XHTML[edytuj]

Przykład #1.2[edytuj]

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl">
 <head>
  <title>Obiekt SVG</title>
 </head>
 <body>
  <h1>Obiekt SVG</h1>
  
  <div id="svg_object">
   
   <object type="image/svg+xml" data="image.svg"></object>  

  </div>

 </body>
</html>

Pierwsze linijki określają DTD i XMLNS dokumentu. Wewnątrz body znajduje się element object, którego typ MIME to image/svg+xml. Odwołuje się on do pliku image.svg i wyświetla na stronie. Należy zaznaczyć, że zgodnie ze standardem element object powinien znajdować się np. wewnątrz div'a. Taki kod przejdzie walidację (choć mogą wystąpić ostrzeżenia dotyczące kodowania znaków).

Przestrzeń nazw[edytuj]

Przykład #1.3[edytuj]

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl">
 <head>
  <title>Obiekt SVG</title>
 </head>
 <body>
  <h1>Obiekt SVG</h1>
  
  <svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="200px" height="200px">   
   <rect x="0px" y="0px" width="100px" height="100px" fill="red" stroke="black" stroke-width="2px"/>
  </svg>

 </body>
</html>

Pierwsze linijki określają DTD i XMLNS dokumentu. Wewnątrz body znajduje się element svg, którego XMLNS to http://www.w3.org/2000/svg (wersja to 1.1). Tworzy on wewnątrz pliku XHTML czerwony kwadrat i wyświetla na stronie. Należy zaznaczyć, że taki może nie działać (nie zadziała np. w Operze 9.62, Firefoxie 3.08 oraz IE 7) i nie przechodzi walidacji (nawet jako XHTML+MathML+SVG).