XML错误vs(字符串)错误

XML错误vs(字符串)错误,xml,Xml,如何在XML中表示布尔值为true/false和字符串“true”/“false” 例如 false 问题名称 或者有更好的方法吗?这是一条常见的不成文规则,在xml中,作为布尔值,我们应该使用:“true”和“false” 您可以在此处查看更多信息: 你想区分“真”布尔值和文本“真”与“假”吗 嗯-属性可能会帮助您-例如IsActive。 对于“文本”: false 对于布尔人: <problem IsActive="false"></problem> 根据规范,

如何在XML中表示布尔值为true/false和字符串“true”/“false”

例如

false
问题名称

或者有更好的方法吗?

这是一条常见的不成文规则,在xml中,作为布尔值,我们应该使用:“true”和“false”

您可以在此处查看更多信息:

你想区分“真”布尔值和文本“真”与“假”吗

嗯-属性可能会帮助您-例如IsActive。 对于“文本”:

false
对于布尔人:

<problem IsActive="false"></problem>

根据规范,您可以使用文本值true、false、1、0,但应仅使用true或false

克里斯

“3.2.2布尔

[定义:]布尔具有支持二值逻辑数学概念所需的值空间:{true,false}。 3.2.2.1词汇表征

定义为·boolean·的数据类型的实例可以具有以下合法文本{true,false,1,0}。 3.2.2.2规范表示


布尔值的规范表示是一组文字{true,false}。”

如果使用模式将元素的类型定义为字符串,则使用该模式解释元素内容的任何内容都将正确地将
false
解释为字符串


如果您不使用模式,并且流程必须根据内容的表示猜测内容的类型,那么您将遇到问题。您必须为流程提供某种消除歧义的方法,例如,一个指示内容数据类型的属性,或者(抖动)在引号中包含不明确的文字值,即字符串为
“false”
,布尔值为
false
。您在这里采取的任何方法都将是非标准和不可移植的。

但是,对于布尔值,不需要使用
xs:boolean
。虽然这样做当然有很好的理由,但也有不同做法的先例——例如XSLT一致地使用
yes
no
,并且可以在模式中定义相应的枚举。我不知道从哪里开始。在一个功能非常全面的真实示例中,看看数据类型是如何在ADO.NET数据集的.NET XML表示中实现的。我不能接受字符串值是存储布尔标志的更好解决方案。最重要的是可能的值。在这种情况下,您可以将任何字符串写入属性:(
<problem>false</problem>
<problem IsActive="false"></problem>