问题描述
参见RFC3986(强调我的):
由Internet协议文字地址版本6 [RFC3513]或更高版本标识的主机通过将IP文字括在方括号(“ [”和“]”)中来区分。这是URI语法中 。
尝试分别用%5b
和替换它们%5d
。
解决方法
我正在使用go-libxml2进行xsd模式验证。我有一个将url作为值的XML元素。我的xsd还包含其类型为anyURI,如下所示
<xs:element name="url" type="xs:anyURI">
以下代码在包含“ []”的验证网址上引发错误
xsd.schema.Validate(xml)
以下是引发错误的示例网址
<url>
<![CDATA[
http://example.com/orda/var[div]=super
]]>
</url>
错误:
'http://example.com/orda/var[div]=super is not a valid value of the atomic type 'xs:anyURI'
常规网址可以正常工作。任何想法如何解决这个问题