为什么xsd:anyURI类型的XML元素可以包含非URI字符串?

时间:2016-11-18 19:03:00

标签: xml xsd xsd-validation xml-validation

这是我目前只能包含URI的video元素。

<xs:element name="video">
    <xs:simpleType>
        <xs:restriction base="xs:anyURI"/>
    </xs:simpleType>
</xs:element>

..但由于某种原因,我仍然能够将垃圾内容放在视频元素中,并且不会引发错误。

思想?

1 个答案:

答案 0 :(得分:1)

您可以简化您的声明, &lt; xs:element name =“video”type =“xs:anyURI”/&gt; 但是你仍然不会对构成URI的内容有一个严格的解释,因为在URI语法规则方面只对最低限度的处理器施加了适度的义务:   3.2.17 anyURI      [...]   注意:每个URI方案都为URI强制使用特殊的语法规则   该方案,包括对允许片段语法的限制   身份标识。因为处理器检查a是不切实际的   value是一个适合上下文的URI引用,这个规范   遵循[RFC 2396](由[RFC 2732]修订)的主导   问题:此类规则和限制不属于类型有效性和   没有经过最低限度合规的处理器检查。因此在实践中   上述定义只规定了非常适度的义务   ·最低限度的处理器。