XML xs :int hexadecimal value

标签 xml xsd hex

我想在 XML 文件中存储一个数字,类型为 或其他简单整数类型,但允许用户以十六进制格式输入数字。 XML 标准是否允许这样做,因为我找不到任何相关内容?

例如,如果 XSD 说:

<xs:element name="value" type="xs:integer" use="required" />

然后我希望 XML 能够说:

<value>0xFF00FF</value>

或者十六进制的任何表示法。

显然我可以尝试,但这只能证明在一个特定实现中的支持,而不是它是否是标准。我并不特别关心保存到 XML 是否会丢失基础。

最佳答案

我会使用 regular expression<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>

这允许您存储十进制和十六进制数(必须带有 0x 前缀)。但是,您需要在将字符串转换为数字时专门处理它。

关于XML xs :int hexadecimal value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11764738/

相关文章:

javascript - 将大型 XML 文件转换为关系数据库

xml - 如何将 XML RSA key 转换为 PEM 文件?

java - 将具有多个工作表的 Excel 工作簿映射到 XSD

java - 我需要一个具有允许通配符的枚举类型的 XML 模式

c - 在 C 中将 Hex 写入文件(不是 ASCII)

java - 使用 JAXB 编码只能包含多个子节点类型之一的 XML 节点(SharePoint 查询)

XML/XSD publicId 和 systemId 之间需要空格

python 将 RSA key (PEM 格式)转换为十六进制字符串

c - C 中十六进制字符的格式说明符

c# - 通过 xml 文档中的内部文本查找 xml 节点