首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >复杂类型mixed=true的空白默认值

复杂类型mixed=true的空白默认值
EN

Stack Overflow用户
提问于 2016-06-20 17:12:14
回答 2查看 433关注 0票数 1

我有一个模式给了我这个定义,在这个模式中没有任何对空白的引用(从不对任何东西指定保存/折叠/替换)。

代码语言:javascript
复制
<xs:element name="Content">
  <xs:complexType mixed="true">
    <xs:choice minOccurs="0" maxOccurs="unbounded"/>
  </xs:complexType>
</xs:element>

我遇到了一些代码,这些代码正在对这个元素的解析过程中产生的字符串执行.trim()。如果这意味着whiteSpace值为collapse,则trim()似乎是有效的,但如果它暗示preservereplace,则trim()将是一个bug。其他地方的第三方代码似乎将其视为preserve,但我不太相信这是一个基于模式的合理决定。

删除剪裁是我需要做的工作,使我们的代码匹配他们的代码,所以我的路径是明确的,但我开始好奇现有的行为是否在技术上是正确的(如果不是,代码中还有其他地方可能需要修改)。

我花了半个小时在谷歌上搜索xml模式规范,但没有找到明确的答案,所以在我花更多的时间之前,根据规范的2-3个区域的组合,找出可能是一个隐含的缺省值,我想我会在这里询问,希望有人已经找到了这个问题,并且知道了答案。(或者有人好奇,为了好玩而追踪它)。

EN

回答 2

Stack Overflow用户

发布于 2016-06-20 17:46:17

XML可用于约束从字符串派生的类型的值空间;它不指示whiteSpace解析器修剪或规范字符串值。将其视为指定XML文档组件有效性的约束,而不是将更改定向到这些组件的解析值。

票数 0
EN

Stack Overflow用户

发布于 2016-06-20 22:47:25

whiteSpace方面只适用于简单类型,所以我看不出它与混合内容复杂类型有什么关系。

在传统的使用混合内容来表示标记的文档文本中,空格通常是重要的。当然,没有办法在模式中声明它没有意义。但是,您的应用程序对数据的了解可能比模式中所述的要多;只有应用程序才能知道是否可以安全地裁剪空格。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37928201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档