User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8b2) Gecko/20050523 Firefox/1.0+ Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8b2) Gecko/20050523 Firefox/1.0+ While looking for SVG examples I stumbled across one which seems to be exported by the vector program Adobe Illustrator 9. Unfortunately FF "DeerPark" didn't seem to recognize the supplied DTD so the browser rendered plain XML. Reproducible: Always Steps to Reproduce: Save the following XML into a *.svg file and try to open it with FF 1.0+ <?xml version="1.0" encoding="iso-8859-1"?> <!-- Generator: Adobe Illustrator 9.0, SVG Export Plug-In --> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> <svg width="100" height="100"></svg>
The quoted snippet is missing a namespace declaration and is therefore not SVG.
(In reply to comment #1) > The quoted snippet is missing a namespace declaration and is therefore not SVG. Hrmm... sorry, but isn't that a bit nit-picking? Doesn't the DOCTYPE already identify the document and its root element "<svg>" as SVG? Aren't namespaces useful if one mixes different XML dialects (which is not the case in this example)? Adobe's SVG plugin renders the file without a problem. My point of view: If Joe User exports a vector graphic from his (older) drawing program which does not put a xmlns declaration into the file, shouldn't the viewer try to do its best and display the file? You may correct me on any point. Thomas.
Mozilla is not a validating parser (neither is Adobe's SVG viewer, file a bug on them please) and so does not recognize the "fixed namespace" from the DOCTYPE. Following that, we don't know if this element is foo:svg, bar:svg, or svg:svg so we can't recognize it as SVG. This logic applies to XHTML documents as well and has for years. Authors should fix this problem and Adobe should fix their bugs.