XML模式/验证:数据类型double的不同分隔符
我将xsd文件中某些参数的数据类型从string更改为实际类型,在本例中为double。现在我面临的问题是,在这里逗号被用作分隔符,而不是w3()定义的点,这会在反序列化过程中导致错误(C#,VS2008) 我的问题:我是否可以使用w3模式进行验证,但对双值使用不同的分隔符XML模式/验证:数据类型double的不同分隔符,xml,validation,xsd,xml-serialization,schema,Xml,Validation,Xsd,Xml Serialization,Schema,我将xsd文件中某些参数的数据类型从string更改为实际类型,在本例中为double。现在我面临的问题是,在这里逗号被用作分隔符,而不是w3()定义的点,这会在反序列化过程中导致错误(C#,VS2008) 我的问题:我是否可以使用w3模式进行验证,但对双值使用不同的分隔符 谢谢您的帮助如果您想继续使用XML模式简单类型,就不能这样做。decimal及其派生的类型被锁定为使用句点。正如你所说: 如果要使用逗号作为分隔符,则需要定义自己的简单类型,例如: <xs:simpleType nam
谢谢您的帮助如果您想继续使用XML模式简单类型,就不能这样做。decimal及其派生的类型被锁定为使用句点。正如你所说: 如果要使用逗号作为分隔符,则需要定义自己的简单类型,例如:
<xs:simpleType name="MyDecimal">
<xs:restriction base="xs:string">
<xs:pattern value="\d+(,\d+)?"/>
</xs:restriction>
</xs:simpleType>
不过,在你这么做之前,要小心;XML是一种数据存储格式,而不是表示格式。您可能需要考虑是在加载后还是在XSLT转换过程中对其进行排序,等等。很抱歉直到现在才响应,而thx是提示。一个自定义类型会做到这一点,但正如你所建议的,最好考虑其他选项。