gpt4 book ai didi

xml - 'anyURI'的xsd类型可以包含空格吗?

转载 作者:数据小太阳 更新时间:2023-10-29 02:51:07 25 4
gpt4 key购买 nike

anyURI 类型的 XML 元素包含空格是否有效?

架构说是,但表示非常不鼓励。

http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#anyURI

NOTE: Spaces are, in principle, allowed in the ·lexical space· of anyURI, however, their use is highly discouraged (unless they are encoded by %20).

第三方正在为此受众群体设置非转义空格,例如“网站一”。但这看起来很奇怪,请有人确认我没有发疯:)

更新

我应该提到我指的是 SAML2 断言模式中的受众元素,它只是将其声明为 anyUri,但如果它同样可以是一个字符串(“一二三”)为什么它甚至被设置为 anyUri。

最佳答案

第一点:xs:anyURI数据类型的whiteSpace facet被定义为“collapse”,意思是忽略前导和尾随的空白字符,内部的空白序列相当于一个空格字符。

第二点:如@forty-two所述,如果您可以通过应用百分比编码获得合法的URI,那么它就是xs:anyURI的合法(XSD 1.0)实例:具体来说, "website one" 是相对 URI "website%20one" 的合法表示。

(我喜欢使用术语“wannabe URI”来描述不是 URI,但在应用转义后变成 URI 的字符串。XSD 1.0 允许 wannabe URI。这里的主要困难之一是您不不知道 URI 是否已经转义;如果你应用转义两次,你会得到 "website%2520one",这会让你陷入困惑。)

最后,在 XSD 1.1 中,所有的赌注都被取消了:“anyURI 的值空间是一组有限长度的零个或多个字符序列(如 [XML] 中所定义),它们与来自 [XML] 的 Char 生产相匹配]."。从本质上讲,考虑到 URI/IRI/LEIRI 规范的多样性,关于究竟什么是合法的,什么不是合法的争论太多了,以至于模式组决定,就有效性而言,任何事情都可以。

关于xml - 'anyURI'的xsd类型可以包含空格吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33826104/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com