我正在构建一个包含各种图像标记的SVG文档。图像的 xlink:href (源URL)属性包含带有&符号的查询字符串。如果我将它们作为%26 或ascii编码? 转义,则它们不是有效的查询字符串,服务器将无法传送图像。我无法用CDATA逃避它们,因为它们是属性(不是节点)。我已尝试在图像标记内创建 xlink:href 节点,但SVG解析器忽略了该节点。我想使用纯SVG(而不是HTML中的SVG),以便我可以在以后转换为JPG,因此编写脚本...
有关如何使以下工作的任何提示?
<image x="0" y="0" width="306" height="306" xlink:href="http://host.com/image.jpg?token=asdf&expiration=9384029&etc=etc"/>
谢谢!的
答案 0 :(得分:3)
解决方法是使用正确的ascii代码#38 和不 #63 (这是一个问号')替换&符号? ')正如我在错误阅读这个问题后最初尝试的那样:using "?" in SVG href
答案 1 :(得分:1)
在所有XML应用程序(包括SVG)中,以下实体are valid没有自定义DTD:
&
- &amp; >
- &gt; <
- &lt; 在你的情况下,这应该可以在不诉诸丑陋的ASCII黑客的情况下工作:
<image xlink:href="http://foo.com/bar.jpg?token=asdf&exp=9384&etc=etc"/>