我正在制作svg地图,当我尝试在W3C上验证时,它会给我两个警告。任何人都可以帮助我如何修复这些警告。感谢
<?xml version="1.1" encoding="UTF-8" standalone="no" ?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg viewBox="0 0 1000 2112" style="" xmlns="http://www.w3.org/2000/svg" version="1.1">
<path ...> </path>
</svg>
1。缺少&#34; charset&#34;属性为&#34; text / xml&#34;文档。
Web浏览器发送的HTTP Content-Type标头(text / xml)(Mozilla / 5.0(Windows NT 6.1; rv:31.0)Gecko / 20100101 Firefox / 31.0)不包含&#34; charset&#34 ;参数,但Content-Type是XML text / *子类型之一。
相关规范(RFC 3023)规定了强大的默认值&#34; us-ascii&#34;对于这些文档,我们将使用此值,而不管您在其他地方指出的任何编码。
如果您想使用其他编码,则应安排让浏览器发送此新编码信息。
2。 Mime类型和文档类型之间的警告冲突
该文档使用text / xml Mime Type提供,该类型不是文档类型的注册媒体类型。此文档的推荐介质类型为:image / svg + xml
对某种文档类型使用错误的媒体类型可能会使验证者和其他用户代理在文档性质方面混淆,并且您可能会收到一些错误的验证错误。如何解决这个问题?以下技术之一应该有所帮助:
If you are serving a static file on a Web server, changing its extension should help. Use e.g .xhtml for XHTML or .mml for MathML.
You may need to reconfigure your Web server. This Setting up MIME Types tutorial has instructions for Apache, Tomcat and IIS.
If the document is generated dynamically, the scripting language should allow you to set up the mime type: this article on MIME Types and Content Negotiation has examples in PHP, Perl, and ASP.