在 XSD 中定义逗号分隔值
Defining comma-separated values in XSD
我正在尝试进行限制,要求值由逗号分隔的两个正整数组成。我浏览了其他帖子,但似乎我想做的事情比解决其他问题要简单。这是我目前所拥有的:
<xs:element name="cell" maxOccurs="unbounded">
<xs:simpleType>
<xs:restriction base="xs:positiveInteger">
<xs:pattern value="[1-1000],[1-1000]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
我希望结果值看起来像这样(示例):<cell>4,15</cell>
.
我有第二个元素 <dimensions>
类似,但我希望用字母分隔整数而不是逗号 'x.' 因此,此元素的值示例为 <dimensions>20x20</dimensions>
.
首先,我是否使用了正确的基本数据类型?我还尝试了一大堆使用 xs:string
的组合,但没有成功。第二,如何表达模式?
此 XSD 将允许在 cell
:
中使用一对逗号分隔的非负整数
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="cell">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="\d+,\d+"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:schema>
类似的xs:pattern
当然可以用于dimensions
:
<xs:pattern value="\d+x\d+"/>
我正在尝试进行限制,要求值由逗号分隔的两个正整数组成。我浏览了其他帖子,但似乎我想做的事情比解决其他问题要简单。这是我目前所拥有的:
<xs:element name="cell" maxOccurs="unbounded">
<xs:simpleType>
<xs:restriction base="xs:positiveInteger">
<xs:pattern value="[1-1000],[1-1000]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
我希望结果值看起来像这样(示例):<cell>4,15</cell>
.
我有第二个元素 <dimensions>
类似,但我希望用字母分隔整数而不是逗号 'x.' 因此,此元素的值示例为 <dimensions>20x20</dimensions>
.
首先,我是否使用了正确的基本数据类型?我还尝试了一大堆使用 xs:string
的组合,但没有成功。第二,如何表达模式?
此 XSD 将允许在 cell
:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="cell">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="\d+,\d+"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:schema>
类似的xs:pattern
当然可以用于dimensions
:
<xs:pattern value="\d+x\d+"/>