Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Do I need to keep the xml header in an svg file when embedding it in the web page

Tags:

html

xml

svg

I have an SVG image that I want to embed on a web page (inside a html file)

I created the image with Adobe Illustrator and it contains the following headers:

<?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 version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
     viewBox="0 0 462.219 381.915" enable-background="new 0 0 462.219 381.915" xml:space="preserve">
...

Do I need the xml and DOCTYPE declarations? Or just embedding the contents of the <svg> tag is fine?

like image 683
YemSalat Avatar asked Dec 11 '14 00:12

YemSalat


1 Answers

The XML header lines should be removed when you are embedding an SVG in an HTML page or another SVG.

UPDATE

Just to clarify:

Well-formed XML documents contain only one prolog. So they should be removed if you are embedding one SVG inside another. See: http://www.w3.org/TR/2008/REC-xml-20081126/#dt-wellformed

When embedding an SVG inside an HTML file, you could keep the prolog lines. The HTML parser in the browser will ignore them. But given they serve no purpose, it is my advice that you "should" remove them to make your document smaller - and more readable. :)

like image 131
Paul LeBeau Avatar answered Sep 21 '22 18:09

Paul LeBeau