【问题标题】:xsd.exe whitespace and pattern restrictionxsd.exe 空格和模式限制
【发布时间】:2013-07-11 18:11:47
【问题描述】:

我有一个 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 而不是当前的标记和模式。希望这行得通。我只是想把它放在那里,以防有人立即知道。谢谢。

更新:我忘了提到我尝试将 &lt;xs:whiteSpace value="collapse"/&gt; 添加到限制中,但也没有用。

【问题讨论】:

    标签: xml xsd schema xsd.exe


    【解决方案1】:

    我不确定我是否理解你需要但不能&lt;xs:whiteSpace value="collapse"/&gt; 找到工作?

    【讨论】:

    • 我试过了。它在我的更新中,但我没有添加代码块,所以它没有出现。我已经添加了代码块。 xsd.exe 似乎没有生成任何东西来执行它。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多