限制XML模式中的值

限制XML模式中的值,xml,xsd,xsd-validation,xml-validation,Xml,Xsd,Xsd Validation,Xml Validation,我有一个包含两个元素的XSD,name和color。希望将名称的长度限制为5。获取错误: 在此上下文中不支持simpleType元素 据我所知,这些是可用于在模式文件中声明元素的自定义类型 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="fruits"> <xs:complexType>

我有一个包含两个元素的XSD,
name
color
。希望将名称的长度限制为5。获取错误:

在此上下文中不支持simpleType元素

据我所知,这些是可用于在模式文件中声明元素的自定义类型

<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:


苹果

在XSD中需要修复的多个语法错误中有:

  • 过早关闭
    xs:element
    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>

谢谢,太棒了。
<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>