xsd.exe空格和模式限制

时间:2013-07-11 18:11:48

标签: xml xsd schema xsd.exe

我有一个xsd文件,我用它来生成xsd.exe的XML实体类。我遇到的问题是附加到数字字段的空格。架构的特定部分如下所示:

<xs:simpleType name="MyNumber">
    <xs:restriction base="xs:token">
      <xs:pattern value="\d{1,9}"/>
    </xs:restriction>
</xs:simpleType>

此数字应包含以下值:1或123或123456或123456789.基本上,0到999999999之间的任何数字。问题是该值作为char(9)存储在数据库中,因此会附加空格如果值小于9个字符,则到最后。

我想知道是否有办法改变架构文件,以便xsd.exe包含限制。工具似乎相当有限,所以我猜这不是这种情况。我将尝试使用minValue,maxValue作为int而不是当前的标记和模式。希望这有效。我只是想把它放在那里以防有人立即知道。感谢。

更新:我忘了提到我尝试在限制中添加<xs:whiteSpace value="collapse"/>,但这也无效。

2 个答案:

答案 0 :(得分:0)

我不确定我是否理解你需要但是<xs:whiteSpace value="collapse"/>找不到工作?

答案 1 :(得分:0)

xsd.exe似乎根本不支持这一点。我可以使用int,但也没有强制执行minValue和maxValue。我最终添加了代码来强制执行约束。