我想将数字存储在类型为或其他简单整数类型的XML文件中,但允许用户以十六进制格式输入数字.XML标准是否允许这样做,因为我找不到任何相关的东西?
例如,如果XSD说:
<xs:element name="value" type="xs:integer" use="required" />
Run Code Online (Sandbox Code Playgroud)
那么我希望XML能够说:
<value>0xFF00FF</value>
Run Code Online (Sandbox Code Playgroud)
或者十六进制的符号.
显然我可以尝试但只能证明在一个特定的实现中支持,而不是它是否是标准.我并不特别在意保存到XML是否会失去基础.
我会在元素中使用正则表达式<xs:pattern>。
<xs:element name="value" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="0x[0-9A-Fa-f]+|[0-9]+"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
Run Code Online (Sandbox Code Playgroud)
这允许您存储十进制和十六进制数(带有强制性0x前缀)。但是,您需要在将字符串转换为数字时专门处理它。
| 归档时间: |
|
| 查看次数: |
12805 次 |
| 最近记录: |