gpt4 book ai didi

c# - 模式验证在验证之前不修剪字符串

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

在自动格式化 XML 文件后,我在验证它时遇到了问题。验证在验证之前不会修剪字符串。这是 .NET 的 XML 验证实现中的错误还是这种可接受的行为?如果它是可接受的行为,那么通常如何处理这种情况,因为在我看来,这两个 XML 文件是等价的。

我的 XSD:

<xs:schema ...>
...
<xs:simpleType name="ItemTypeData">
<xs:restriction base="xs:string">
<xs:enumeration value="ItemA" />
</xs:restriction>
</xs:simpleType>
</xs:schema>

格式化前我的 XML(验证通过):

...
<ItemType>ItemA</ItemType>
...

格式化后(验证失败):

...
<ItemType>
ItemA
</ItemType>
...

最佳答案

鉴于架构的定义方式,您的验证器行为正确。您要么需要停止格式化程序对内容采取这种自由,要么您需要更改架构 - 例如通过使 ItemTypeData 成为 xs:token 而不是 xs:string 的限制(在 xs:token 中,前导和尾随空格被认为是微不足道)。

关于c# - 模式验证在验证之前不修剪字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8049358/

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