我有一个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"/>
,但这也无效。
答案 0 :(得分:0)
我不确定我是否理解你需要但是<xs:whiteSpace value="collapse"/>
找不到工作?
答案 1 :(得分:0)
xsd.exe似乎根本不支持这一点。我可以使用int,但也没有强制执行minValue和maxValue。我最终添加了代码来强制执行约束。