xsd.exe で XML エンティティ クラスを生成するために使用した xsd ファイルがあります。私が遭遇している問題は、数値フィールドに追加されたスペースです。スキーマの特定のセクションは次のようになります。
<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"/>
たが、それも機能しませんでした。