I've made a logo which is awesome and I've saved it in AI and SVG format. I wish to use the SVG file on the a site as the logo will appear many times all over the site and would be better than saving the logo in PNG format and having unnecessary server-side requests. Now, this works great using:
<svg id="my-logo" height="60" width="60"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" >
<g transform="scale(0.1)">
<image x="0" y="0" height="600" width="600" xlink:href="my-logo.svg" />
</g>
</svg>
Now the problem arises when using Schema.org logo
markup. Using:
<svg itemscope itemtype="http://schema.org/Organization" id="my-logo" height="60" width="60"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" >
<g transform="scale(0.1)">
<image itemprop="logo" x="0" y="0" height="600" width="600" xlink:href="my-logo.svg" />
</g>
</svg>
As I expected it fails W3C validation and I am greeted with the following error messages:
- Attribute itemscope not allowed on element svg at this point.
- Attribute itemtype not allowed on element svg at this point.
- Attribute itemprop not allowed on element image at this point.
Now I know that W3C validation isn't an essential thing but I'd prefer to have a solution which does satisfy both Google and W3C.
I'm sure that some W3C guru will be able to point me in the right direction, I'd perfer not to use DATA URI if possible as I know that could be one solution but correct me if I'm wrong or not DATA URI's are not cachable.