限制 XML 架构中的值
Restricting values in XML Schema
我有一个包含两个元素的 XSD,name
和 color
。想将名称的长度限制为 5。出现错误:
simpleType element not supported in this context.
据我了解,这些是可用于在架构文件中声明元素的自定义类型。
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="fruits">
<xs:complexType>
<xs:sequence>
<xs:element name="name" />
<xs:simpleType>
<xs:restriction base="xs:name">
<xs:length="5">
</xs:restriction>
</xs:simpleType>
</xs:/element>
<xs:element name="color" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
XML:
<?xml version="1.0" encoding="UTF-8"?>
<fruits
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="simplexsd2.xsd">
<name>Apple</name>
</fruits>
在您 XSD 中要修复的多个语法错误中,
- 过早关闭
xs:element
元素。
- 格式错误的
xs:length
元素。
- 关闭标签格式错误。
您的 XSD 已更新为格式正确并支持您对 name
元素的预期验证,以将字符串值限制在长度 5
:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="fruits">
<xs:complexType>
<xs:sequence>
<xs:element name="name">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="5"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="color" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
我有一个包含两个元素的 XSD,name
和 color
。想将名称的长度限制为 5。出现错误:
simpleType element not supported in this context.
据我了解,这些是可用于在架构文件中声明元素的自定义类型。
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="fruits">
<xs:complexType>
<xs:sequence>
<xs:element name="name" />
<xs:simpleType>
<xs:restriction base="xs:name">
<xs:length="5">
</xs:restriction>
</xs:simpleType>
</xs:/element>
<xs:element name="color" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
XML:
<?xml version="1.0" encoding="UTF-8"?>
<fruits
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="simplexsd2.xsd">
<name>Apple</name>
</fruits>
在您 XSD 中要修复的多个语法错误中,
- 过早关闭
xs:element
元素。 - 格式错误的
xs:length
元素。 - 关闭标签格式错误。
您的 XSD 已更新为格式正确并支持您对 name
元素的预期验证,以将字符串值限制在长度 5
:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="fruits">
<xs:complexType>
<xs:sequence>
<xs:element name="name">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="5"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="color" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>