要求:https://www.w3.org/2000/svg发现:http://www.w3.org/2000/svg

时间:2016-09-19 12:19:02

标签: java svg xml-namespaces batik

我们正在使用Apache Batik来渲染SVG文件。出于安全原因,所有URL都将转换为HTTP。

现在,当我们渲染SVG文件时,我们遇到了这个问题。

  • 原始SVG是:

    svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" 
    
  • 转换后的SVG是:

    svg xmlns=\"https://www.w3.org/2000/svg\" xmlns:xlink=\"https://www.w3.org/1999/xlink\"
    

所以,我尝试使用Java中的Dhttps.protocols参数,没有用。我正在为此挖掘源代码。

1 个答案:

答案 0 :(得分:12)

请勿更改名称空间定义的URL。这些是以xmlns开头的属性,可选地后跟:和更详细的名称。

对于SVG,名称空间必须为http://www.w3.org/2000/svg,请参阅the specification

这些网址不用于连接,它们只是定义元素的含义(请参阅XML Namespaces),因此您无法通过更改它们获得任何安全性。相反,你只是让你的SVG文件无效。