JavaScript. Подробное руководство, 6-е издание, стр. 351
<b> <defs> <!-- Настройка некоторых определений --></b><b> <linearGradient id="fade"> <!-- Цветовой градиент с именем ''fade” --></b><b> <stop offset="0%" stop-color="#008"/> <!-- Начинаем с темно-синего --></b><b> <stop offset="100%" stop-color="#ccf"/><!--Заканчиваем светло-синим--></b><b> </linearGradient></b><b> </defs></b><b> <! --</b><b> Нарисовать прямоугольник с тонкой черной рамкой и заполнить его градиентом</b><b> --></b><b> <rect х="100” у="200" width="800" height="600" stroke="black"</b><b> stroke-width="25" fill="url(#fade)"/></b><b></svg></b>На рис. 21.1 показано графическое представление этого SVG-файла.

SVG - это довольно обширная грамматика умеренной сложности. Помимо простых примитивов рисования она позволяет воспроизводить произвольные кривые, текст и анимацию. Рисунки в формате SVG могут даже содержать JavaScript-сценарии и таблицы CSS-стилей, что позволяет наделить их информацией о поведении и представлении. В этом разделе показано, как с помощью клиентского JavaScript-кода (встроенного в HTML-, а не в SVG-документ) можно динамически создавать графические изображения средствами SVG. Приводимые здесь примеры SVG-изображений позволяют лишь отчасти оценить возможности формата SVG. Полное описание этого формата доступно в виде обширной, но вполне понятной спецификации, которая поддерживается консорциумом W3C и находится по адресу http://www.w3.org/TR/SVG/. Обратите внимание: эта спецификация включает в себя полное описание объектной модели документа (DOM) для SVG-документов. В данном разделе рассматриваются приемы манипулирования SVG-графикой с помощью стандартной модели XML DOM, а модель SVG DOM не затрагивается.
К моменту написания этих строк все текущие веб-броузеры, кроме IE, имели встроенную поддержку формата SVG (она также будет включена в IE9). В последних версиях броузеров отображать SVG-изображения можно с помощью обычного элемента
<b><img></b><b><object></b><b><object data="sample.svg" type="image/svg+xml" width=''100" height="100"/></b>При использовании в элементе
<b><img></b><b><object></b><b><?xml version="1.0"?></b><b><!-- Объявить HTML как пространство имен по умолчанию, a SVG - с префиксом ''svg:" --></b><b><html xmlns="</b><a href="http://www.w3.org/1999/xhtmr'"><b>http://www.w3.org/1999/xhtmr'</b></a><b> xmlns:svg="</b><a href="http://www.w3.org/2000/svg"><b>http://www.w3.org/2000/svg</b></a><b>"></b><b> <body></b><b> Это красный квадрат: <svg:svg width="10" height="10"></b><b> <svg:rect x="0" y="0” width="10" height="10" fill="red"/></b><b> </svg:svg></b><b> Это голубой круг: <svg:svg width="10" height="10"></b><b> <svg:circle cx="5" cy="5" r="5" fill="blue"/></b><b> </svg:svg></b><b> </body></b><b></html></b>Этот прием можно использовать во всех текущих броузерах, кроме IE. Нарис. 21.2 показано, как Firefox отображает этот XHTML-документ.

Стандарт HTML5 сокращает количество различий между XML и HTML и позволяет вставлять разметку на языке SVG (и MathML) непосредственно в HTML-файлы, без объявления пространств имен или префиксов тегов:
<b><!DOCTYPE html></b><b><html></b><b> <body></b><b> Это красный квадрат: <svg width="10" height="10"></b><b> <rect x="0" y="0" width="10" height="10" fill="red"/></b><b> </svg></b><b> Это голубой круг: <svg width="10" height="10"></b>