我正在使用python的lxml来针对模式验证xmls。我有一个带有元素的模式:
<xs:element name="link-url" type="xs:anyURL"/>
我测试了这个(部分)xml:
<a link-url="server/path"/>
我希望此测试为FAIL,因为link-url
不以http://
开头。我尝试将anyURI
切换为anyURL
,但这会导致异常 - 它不是有效标记。
这可能与lxml一起使用吗?是否可以使用模式验证?
答案 0 :(得分:2)
(我很确定xs:anyURL
无效。XML Schema standard将其称为anyURI
。由于link-url
是属性,因此您不应该使用{ {1}}代替xs:attribute
?)
您可以通过在其上创建新的xs:element
simpleType
来限制URI,并在base
上添加restriction
。例如,
pattern