문제

값 0.00은 유효한 비 음료 인테거가 아니며 정수도 아니고 정수도 아님을 알고 있습니다. 불행히도 데이터는 해당 형식으로 제공됩니다. .0으로 끝나면 버리고 싶지는 않지만 유형을 10 진수로 변경하고 싶지 않으며 .1이 유효한 것으로 끝나는 값이있을 수 있습니다.

내 XSD가 숫자를 확인하여 숫자를 확인할 수있는 방법이 있습니까? 따라서 0.00, 0, 1, 1.0, 2.0000000 등의 값은 모두 허용되지만 -1, 1.1, 2.2, 3.3333은 모두 유효하지 않습니까?

감사합니다 -C

도움이 되었습니까?

해결책

소수점으로 바뀌고 소수점 이후의 장소에 제한을 두는 것을 볼 수 있습니다. 특히, 당신은 regex 패싯을 사용할 수 있습니다. 나는 이것을 시도한 적이 없으며 그것이 유효한지조차 모르지만, 볼 방향입니다. 당신은 가치 공간이 아닌 어휘 공간을 제한하고 있지만 그것이 당신이 원하는 것입니다.

다른 팁

이것은 내가 필요한 것에 효과가 있습니다. 감사합니다. John

<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