2013-07-11 49 views
0

我有,我已經使用XSD.EXE生成XML實體類的XSD文件。我遇到的問題是附加到數字字段的空格。的模式的特定部分看起來像這樣:XSD.EXE空白和模式限制

<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而不是當前的標記和模式。希望這是有效的。我只是想把它放在那裏,以防有人立即知道。謝謝。

更新:我忘了提,我嘗試添加<xs:whiteSpace value="collapse"/>的限制,並且也不能工作。

回答

0

XSD.EXE似乎並沒有在所有支持這一點。我可以使用int,但minValue和maxValue也沒有強制執行。我最終添加了代碼來執行約束。

0

我不知道如果我理解以及你的需要,但不能<xs:whiteSpace value="collapse"/>做的工作嗎?

+0

我試過了。這是在我的更新中,但我沒有添加代碼塊,所以它沒有顯示出來。我已經添加了代碼塊。雖然xsd.exe似乎沒有生成任何東西來執行它。 – kakridge