2010-08-24 22 views
17

我正在嵌入SVG文件内的JavaScript文件是这样的:错误:命名空间前缀的xlink对脚本HREF没有定义

<svg 
    xmlns:dc="http://purl.org/dc/elements/1.1/" 
    xmlns:cc="http://creativecommons.org/ns#" 
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
    xmlns:svg="http://www.w3.org/2000/svg" 
    xmlns="http://www.w3.org/2000/svg" 
    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 
    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 
    version="1.0" 
    width="958.69" 
    height="592.78998" 
    id="svg2275" 
    sodipodi:version="0.32" 
    inkscape:version="0.46" 
    sodipodi:docname="Map of USA with state names.svg" 
    sodipodi:docbase="C:\temp\webdesign" 
    inkscape:output_extension="org.inkscape.output.svg.inkscape"> 
    <metadata 
    id="metadata2625"> 
    <rdf:RDF> 
     <cc:Work 
     rdf:about=""> 
     <dc:format>image/svg+xml</dc:format> 
     <dc:type 
      rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 
     </cc:Work> 
    </rdf:RDF> 
    </metadata> 
    <defs 
    id="defs2623"> 
    <inkscape:perspective 
     sodipodi:type="inkscape:persp3d" 
     inkscape:vp_x="0 : 296.39499 : 1" 
     inkscape:vp_y="0 : 1000 : 0" 
     inkscape:vp_z="958.69 : 296.39499 : 1" 
     inkscape:persp3d-origin="479.345 : 197.59666 : 1" 
     id="perspective364" /> 
    </defs> 
    <script type="text/ecmascript" xlink:href="script.js" /> 
... 
......... 
..... 
...... 

和我收到上述错误。任何人都知道什么是偶像错误?

回答

41

你从未定义XLink命名空间(就像错误告诉你)

你需要像做什么的Sodipodi继续进行命名空间:

xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 

根据W3C,相应的名称空间声明是:

xmlns:xlink="http://www.w3.org/1999/xlink" 

将其添加到您的根元素。

13

您需要将xlink前缀与命名空间关联。尝试将以下内容添加到您的svg元素中:

xmlns:xlink="http://www.w3.org/1999/xlink" 
相关问题