0

我有一个 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"/>限制,但也没有用。

4

2 回答 2

0

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

于 2013-07-12T06:19:13.287 回答
0

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

于 2013-07-12T18:11:56.670 回答