El elemento SVG es la raiz de todo documento y pude contener el siguiente conjunto de atributos b�sicos:
-
Definiciones de espacios de nombres (xmlns="http://www.w3.org/2000/svg").
-
Versi�n de SVG a la que se refiere el documento (version="1.1").
-
Coordenada x a partir de la cual se definir� el documento (x).
-
Coordenada y a partir de la cual se definir� el documento (Y).
-
Ancho de la representaci�n gr�fica (width).
-
Alto de la representaci�n gr�fica (height).
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="10" y="10" width="500px" height="400px"> ... </svg>
�G
El elemento "G" se utiliza como contenedor para agrupar distintos objetos y as� poder realizar sobre ellos acciones de forma global. Podemos asignarle un ID y as� realizar transformaciones, animaciones u otras acciones. Las definiciones de grupos pueden utilizarse de forma aninada.
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="500" height="400">
<g opacity="0.2">
<rect x="100" y="100" width="100" height="100" fill="red" />
<rect x="150" y="150" width="100" height="100" fill="blue" />
</g>
<rect x="200" y="200" width="100" height="100" fill="navy" />
</svg>

�Referencias dentro de SVG
Las referencias dentro de SVG permiten la reutilizaci�n de distintas definiciones de objetos en cualquier punto del documento. As�, podemos definir filtros u otras propiedades de ajuste gr�fico de forma general dentro del documento y aplicarlas din�micamente v�a scripting.
<linearGradient id="MyGradient"> </linearGradient> <rect style="fill:url(#MyGradient)"/>
Otro tipo de referencias aceptadas en SVG y que se refieren a recursos externos al documento, son las realizadas mediante XLink:
<svg xmlns:xlink="http://www.w3.org/1999/xlink"> <image xlink:href="foo.gif" /> </svg>
Para utlizar enlaces XLink dentro del documento, es necesario especificar previamente la definici�n del espacio de nombres asociado al mismo:
xmlns:xlink="http://www.w3.org/1999/xlink"
�DEFS
Secci�n de declaraci�n de los elementos que posteriormente podr�n ser referenciados dentro del documento. La forma de referenciar los elementos declarada est� descrita en el apartado anterior (Referencias dentro de SVG).
<svg width="8cm" height="3cm" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="MyGradient">
</linearGradient>
</defs>
<rect style="fill:url(#MyGradient)"/>
</svg>
�DESC y TITLE
Son dos elementos que no tiene ningun tipo de representaci�n gr�fica. S�lo se utilizan para la documentaci�n y especificaci�n del documento SVG. Cualquier contenedor o elemento gr�fico dentro del documento puede definir su propio t�tulo y descripci�n.
�SYMBOL
Este elemento permite definir patrones de objeto gr�fico para despu�s poder instanciarlos con un USE. Mediante SYMBOL conseguimos reutilizar elementos que se declaran de forma reiterativa dentro del documento y as� mejoras la legibilidad y la sem�ntica del documento SVG.
�USE
Cualquier elemento gr�fico de tipo SYMBOL, G, USE u otros elementos pueden potencialmente ser considerados como patrones y ser susceptibles de reutilizarse mediante la utilizaci�n de USE.
<svg width="10cm" height="3cm" viewBox="0 0 100 30" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<rect id="MyRect" width="60" height="10"/>
</defs>
<rect x="0.1" y="0.1" width="99.8" height="29.8" fill="none" stroke="blue" stroke-width="0.2" />
<use x="20" y="10" xlink:href="#MyRect" />
</svg>

<svg width="10cm" height="3cm" viewBox="0 0 100 30" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<symbol id="MySymbol" viewBox="0 0 20 20">
<desc>MySymbol - four rectangles in a grid</desc>
<rect x="1" y="1" width="8" height="8"/>
<rect x="11" y="1" width="8" height="8"/>
<rect x="1" y="11" width="8" height="8"/>
<rect x="11" y="11" width="8" height="8"/>
</symbol>
</defs>
<rect x="0.1" y="0.1" width="99.8" height="29.8" fill="none" stroke="blue" stroke-width="0.2" />
<use x="45" y="10" width="10" height="10" xlink:href="#MySymbol" />
</svg>

<svg width="10cm" height="3cm" viewBox="0 0 100 30" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<rect id="MyRect" x="0" y="0" width="60" height="10"/>
</defs>
<rect x="0.1" y="0.1" width="99.8" height="29.8" fill="none" stroke="blue" stroke-width="0.2" />
<use xlink:href="#MyRect" transform="translate(20,2.5) rotate(10)" />
</svg>

<svg width="12cm" height="3cm" viewBox="0 0 1200 300" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<defs style="stroke-miterlimit: 10">
<path id="MyPath" d="M300,50 900,50 900,250 300,250" class="MyPathClass"
style="stroke-dasharray:300,100" />
</defs>
<style type="text/css">
<![CDATA[
#MyUse { fill: blue }
#MyPath { stroke: red }
use { fill-opacity: .5 }
path { stroke-opacity: .5 }
.MyUseClass { stroke-linecap: round }
.MyPathClass { stroke-linejoin: bevel }
use > path { shape-rendering: optimizeQuality }
g > path { visibility: hidden }
]]>
</style>
<g style="stroke-width:40">
<use id="MyUse" xlink:href="#MyPath" class="MyUseClass" style="stroke-dashoffset:50" />
</g>
</svg>

�IMAGE
Este elemento permite la inclusi�n de im�genes externas rasterizadas en el �rea definida por las coordenadas de se adjuntan.
<svg width="200" height="200" version="1.1"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<image x="50" y="50" width="100px" height="100px" xlink:href="modele33.jpg">
<title>My image</title>
</image>
</svg>

�Transformaciones
Permiten realizar cambios de coordenadas sobre los elementos representados. Sobre cualquier objeto dentro de un documento SVG podermos realizar las siguientes transformaciones:
-
Escalado. Utilizado para la redimensi�n o para el cambio de orientaci�n.
-
Traslaci�n. Cambiar la ubicaci�n actual de un elemento, cambiando asi el origen de coordenadas.
-
Rotaci�n. Giro en grados que debe realizar el elemento con respecto al origen de coordenadas.
<svg width="140" height="170">
<circle cx="70" cy="95" r="50" style="stroke: black; fill: none;" />
<circle cx="55" cy="80" r="5" stroke="black" fill="#339933" />
<circle cx="85" cy="80" r="5" stroke="black" fill="#339933" />
<g id="whiskers">
<line x1="75" y1="95" x2="135" y2="85" style="stroke: black;" />
<line x1="75" y1="95" x2="135" y2="105" style="stroke: black;" />
</g>
<use xlink:href="#whiskers" transform="scale(-1 1) translate(-140 0)" />
</svg>

<svg width="200" height="200">
<defs>
<g id="base">
<circle cx="80" cy="80" r="30" style="stroke: black; fill: none;" />
</g>
</defs>
<g transform="translate(50, 10)">
<use xlink:href="#base" transform="rotate(10)" />
<use xlink:href="#base" transform="rotate(12)" />
<use xlink:href="#base" transform="rotate(14)" />
<use xlink:href="#base" transform="rotate(16)" />
<use xlink:href="#base" transform="rotate(18)" />
<use xlink:href="#base" transform="rotate(20)" />
<use xlink:href="#base" transform="rotate(22)" />
<use xlink:href="#base" transform="rotate(24)" />
<use xlink:href="#base" transform="rotate(26)" />
<use xlink:href="#base" transform="rotate(28)" />
</g>
</svg>
