# Attribute “xmlns:sodipodi” not allowed here.

> Canonical HTML version: https://rocketvalidator.com/html-validation/attribute-xmlns-sodipodi-not-allowed-here
> Attribution: Rocket Validator (https://rocketvalidator.com)
> License: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

The `xmlns:sodipodi` attribute declares the namespace for editor data that Inkscape inherited from Sodipodi, and HTML doesn't allow prefixed namespace declarations on `<svg>` or any other element.

Sodipodi was a vector drawing program written mainly by Lauris Kaplinski, and SVG was its native file format. In 2003 a group of its developers forked it to start Inkscape. Sodipodi itself stopped at version 0.34, released in February 2004. Inkscape kept the `sodipodi:` prefix for the features it inherited, so files saved by current versions still declare `xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"` on the root `<svg>`. The URI is only a name for the namespace. Nothing downloads that DTD.

The prefix marks editor state. `<sodipodi:namedview>`, a child of the root `<svg>`, keeps the document's view settings: page and border colors, the grid, zoom and window position, the current layer, and any guide lines as `<sodipodi:guide>` children. On the root element, `sodipodi:docname` records the file name the drawing was last saved under.

Shapes and text carry their own `sodipodi:` attributes. `sodipodi:nodetypes` on a path has one letter per node (`c` for cusp, `s` for smooth, `z` for symmetric, `a` for auto-smooth), which the node tool reads to decide how a node's handles move. `sodipodi:type` marks a path drawn with a shape tool, such as `star`, `arc` or `spiral`, and attributes like `sodipodi:sides` and `sodipodi:r1` keep the shape's parameters so Inkscape can bring its handles back. Lines of text get `sodipodi:role="line"` on their `<tspan>`. Browsers ignore all of it, and a star is drawn from the path's `d` attribute like any other path.

The HTML parser doesn't link prefixes to declarations. To it, `xmlns:sodipodi` is one attribute with a colon in its name and `sodipodi:docname` is another, and nothing connects the two. Delete only the declaration and every other `sodipodi:` name still fails on its own. The invalid example below gets 13 errors, and only one of them is about `xmlns:sodipodi`. The other 12 come from the `sodipodi:` attributes, such as `Attribute "sodipodi:type" not allowed on element "path" at this point.`, and from `<sodipodi:namedview>` and `<sodipodi:guide>`, which the validator reports as completely-unknown elements in SVG content.

Delete `xmlns:sodipodi`, the `<sodipodi:namedview>` element with everything inside it, and every attribute that starts with `sodipodi:`. The image looks the same afterwards. Only Inkscape notices: the guides, grid and page settings are gone, and stars and spirals reopen as plain paths. Keep the original file for editing and put a cleaned copy in the page.

The same Inkscape file usually declares `xmlns:inkscape`, `xmlns:rdf`, `xmlns:cc` and `xmlns:dc` too, and each gets its own message. SVGO's `removeEditorsNSData` plugin, part of its default preset, removes the Sodipodi declaration and every `sodipodi:` element and attribute, and does the same for those four namespaces. If the whole file was pasted in, its `<?xml version="1.0"?>` line comes along too, and the validator reports it as an XML processing instruction.

## Invalid example

```html
<svg xmlns="http://www.w3.org/2000/svg"
  xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  sodipodi:docname="star.svg"
  width="24" height="24" viewBox="0 0 24 24">
  <sodipodi:namedview pagecolor="#ffffff" showgrid="false">
    <sodipodi:guide position="12,12" orientation="1,0" />
  </sodipodi:namedview>
  <path sodipodi:type="star" sodipodi:sides="5"
    sodipodi:cx="12" sodipodi:cy="12" sodipodi:r1="10" sodipodi:r2="4"
    sodipodi:arg1="-1.5708" sodipodi:arg2="-0.9425"
    d="M12,2 14.35,8.76 21.51,8.91 15.8,13.24 17.88,20.09 12,16 6.12,20.09 8.2,13.24 2.49,8.91 9.65,8.76Z"
    fill="currentColor" />
</svg>
```

## Valid example

```html
<svg xmlns="http://www.w3.org/2000/svg"
  width="24" height="24" viewBox="0 0 24 24">
  <path d="M12,2 14.35,8.76 21.51,8.91 15.8,13.24 17.88,20.09 12,16 6.12,20.09 8.2,13.24 2.49,8.91 9.65,8.76Z"
    fill="currentColor" />
</svg>
```
