svg形状嵌套在形状 - 没有解析错误

时间:2012-03-01 15:26:41

标签: javascript svg xml-parsing

我即将将SVG导入到应用程序(javascript)中,实际上工作得很好,除非它们没有解析器(DOMParser)抛出的解析错误(如果形状是nestet)。例如这段代码:

<rect
   style="fill:#393939;fill-opacity:1;stroke:none"
   id="rect3066"
   width="208.57143"
   height="182.85715"
   x="80"
   y="77.14286"
   transform="translate(0,452.36218) rotate( 10 ) scale( 2, 0.4 )">
  <rect
   style="fill:#393939;fill-opacity:1;stroke:none"
   id="rect3066"
   width="208.57143"
   height="182.85715"
   x="80"
   y="77.14286"
   transform="translate(0,452.36218) rotate( 10 ) scale( 20, 40 )">


    </rect>

不会导致Firefox出错。 SVG - 形状元素here (the path-element for example)的规范并没有说它可以有任何形状或容器元素作为子元素。问题是,如果我尝试嵌套图形,应用程序正在崩溃,因此解析错误将使我免于此。

我正在使用firefox的DOMParser解析xml-string,如下所示:

try{
            doc = parser.parseFromString( text, 
                "image/svg+xml" );

        } catch( parseError ){
            this.onDone.call( this, "parseError" );
        }

如果有任何建议如何解决这个问题,我很乐意听到。

问候菲律宾

1 个答案:

答案 0 :(得分:0)

为什么不使用w3c解析服务验证您的SVG:http://validator.w3.org/