1

我有一个 xsd 文件,我需要引入一个新的验证。我需要检查城市代码。城市代码是 68,一个始终相同的整数。

我该如何检查呢?

谢谢!

这是我的代码:

 <xsd:element name="CodCity">
<xsd:annotation><xsd:documentation>City Code has to be 68.</xsd:documentation></xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:int"></xsd:restriction>
</xsd:simpleType>
</xsd:element>
4

2 回答 2

1

只需添加一个xsd:enumeration到您的xsd:restrictionhttp ://www.w3schools.com/schema/schema_facets.asp

<xsd:restriction base="xsd:int">
  <xsd:enumeration value="68"/>
</xsd:restriction>
于 2013-02-26T12:35:18.410 回答
0

如果您发布了输入 XML,可能会更具体。

假设您的示例输入 XML 不同,我将发布答案:

示例输入 XML:

<?xml version="1.0" encoding="utf-8"?>
<testing>68</testing>

XSD:

<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="testing" type="citycode" />
  <xs:simpleType name="citycode">
    <xs:restriction base="xs:int">
      <xs:pattern value="68"/>
    </xs:restriction>
  </xs:simpleType>
</xs:schema>

示例输入 XML:

<?xml version="1.0" encoding="utf-8"?>
<testing>Blah blah City code is: 68</testing>

XSD [使用正则表达式模式]:

<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="testing" type="pattern" />
  <xs:simpleType name="pattern">
    <xs:restriction base="xs:string">
      <xs:pattern value=".*68"/>
    </xs:restriction>
  </xs:simpleType>
</xs:schema>

任何字符在哪里.*(换行除外),68 - 数字 68

另一个示例输入 XML:

<?xml version="1.0" encoding="utf-8"?>
<testing>Blah blah City code is: '68' and something else</testing>

XSD:

<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="testing" type="pattern" />
  <xs:simpleType name="pattern">
    <xs:restriction base="xs:string">
      <xs:pattern value=".*68.*"/>
    </xs:restriction>
  </xs:simpleType>
</xs:schema>
于 2013-02-26T12:42:25.903 回答