Tengo un XML siguiente Esquema:

<xsd:simpleType name="fractionalSalary">
    <xsd:restriction base="xsd:decimal">
        <xsd:fractionDigits value="2" />
        <xsd:minExclusive value="0" />
    </xsd:restriction>
</xsd:simpleType>

¿Hay alguna opción para especificar el número mínimo de xsd:fractionDigits a 2? Porque tengo un siguiente restricción para salario: positive number with 2 decimal places precision, e.g. 10000.50 y la validación debe fallar en entradas como 1000.5452 o 14582.0001 pero también en la entrada 1000.5 o 10000.

PS: el Uso de XML Schema 1.0

Eso es un número exacto de dígitos fraccionarios, no mínima.

OriginalEl autor Martin Vrábel | 2014-03-20

1 Comentario

  1. 9

    Puede agregar un patrón de restricción:

    <xsd:simpleType name="fractionalSalary">
        <xsd:restriction base="xsd:decimal">
            <xsd:fractionDigits value="2" />
            <xsd:minExclusive value="0" />
            <xsd:pattern value="\d+\.\d{2}" />
        </xsd:restriction>
    </xsd:simpleType>

    Esto significa que el decimal suministrado debe coincidir con la expresión regular.

    En este punto, probablemente, usted puede deshacerse de la fractionDigits elemento demasiado, ya que la restricción está cubierto por el regex.

    OriginalEl autor GarethL

Dejar respuesta

Please enter your comment!
Please enter your name here