如何在xsd中定义自定义数据类型?

时间:2022-01-26 17:19:02

I want to check if a field in my XML is of type positive double/decimal. There is a type="xs:positiveInteger" datatype in XSD but no positive double or decimal. Is there a way to achieve this either by defining custom datatype or some other way?

我想检查我的XML中的字段是否为正双精度/小数。 XSD中有一个type =“xs:positiveInteger”数据类型,但没有正二进制或十进制数。有没有办法通过定义自定义数据类型或其他方式来实现这一点?

2 个解决方案

#1


4  

<xs:element name="data">
  <xs:simpleType>
    <xs:restriction base="xs:float">
      <xs:minInclusive value="0"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

i think this should do it. There may be a shorter way i'm still learning xsd.

我认为应该这样做。可能有一种更短的方式我还在学习xsd。

#2


3  

You can achieve this by defining decimal datatype with restriction as following.

您可以通过定义带限制的十进制数据类型来实现此目的,如下所示。

<xs:simpleType name="positiveDecimal">
  <xs:restriction base="xs:decimal">
    <xs:minInclusive value="0"/>
  </xs:restriction>
</xs:simpleType>

#1


4  

<xs:element name="data">
  <xs:simpleType>
    <xs:restriction base="xs:float">
      <xs:minInclusive value="0"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

i think this should do it. There may be a shorter way i'm still learning xsd.

我认为应该这样做。可能有一种更短的方式我还在学习xsd。

#2


3  

You can achieve this by defining decimal datatype with restriction as following.

您可以通过定义带限制的十进制数据类型来实现此目的,如下所示。

<xs:simpleType name="positiveDecimal">
  <xs:restriction base="xs:decimal">
    <xs:minInclusive value="0"/>
  </xs:restriction>
</xs:simpleType>