سؤال

وأنا أدرك أن قيمة 0.00 ليست nonNegativeInteger صالحة، كما أنها ليست حتى عدد صحيح. وللأسف، فإن البيانات تأتي في هذا الشكل. أنا لا أريد لرميها بعيدا إذا كان ينتهي مع 0.0، ولكن أنا أيضا لا أريد أن تغيير نوع إلى عشري، وربما يكون لها قيم تنتهي في 0،1 القادمة في قانونية ما.

هل هناك طريقي XSD يمكن التحقق من صحة الأرقام مثل أنهم الأعداد الصحيحة فقط إيجابية، لذلك قيم 0.00، 0، 1، 1.0، 2.0000000 الخ وتقبل جميع، ولكن -1، 1.1، 2.2، 3.3333 كلها غير صالحة

والشكر -c

هل كانت مفيدة؟

المحلول

هل يمكن أن ننظر إلى تغيير إلى عشري ووضع قيود على الأماكن بعد العلامة العشرية. على وجه الخصوص، قد تكون قادرا على استخدام الوجه رجإكس. لقد حاولت أبدا هذا، وحتى لا أعرف ما اذا كان صحيحا، ولكن من اتجاه للنظر في. تريد ان تكون تقييد مساحة المفردات بدلا من المساحة القيمة، ولكن هذا ما تريد.

نصائح أخرى

وهذا يعمل على ما أحتاج، وذلك بفضل جون

<xs:simpleType name="nonNegativeWholeDecimal">
    <xs:restriction base="xs:decimal">
        <xs:pattern value="[0-9]*(\.[0]*)?"/>
    </xs:restriction>
</xs:simpleType>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top