如何解决libxml2在元素类型anyURI包含特殊字符例如“ [”,“ [”的xsd模式验证上失败
参见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'
常规网址可以正常工作。任何想法如何解决这个问题
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。