xsd属性和元素验证

xsd属性和元素验证,xsd,attributes,elements,Xsd,Attributes,Elements,我正在尝试创建一个XSD模式,它将验证以下xml <Item ItemGUID="3F2504E0-4F89-11D3-9A0C-0305E82C3301">The name of the item</Item> 项目的名称 我想验证属性“ItemGUID”的最大长度为36个字符,属性“项目名称”的最大长度为25个字符 如何使用xsd模式验证它是否满足上述条件?对于XML模式,您可以执行以下操作: <xs:element name="Item"> &l

我正在尝试创建一个XSD模式,它将验证以下xml

<Item ItemGUID="3F2504E0-4F89-11D3-9A0C-0305E82C3301">The name of the item</Item>
项目的名称
我想验证属性“ItemGUID”的最大长度为36个字符,属性“项目名称”的最大长度为25个字符


如何使用xsd模式验证它是否满足上述条件?

对于XML模式,您可以执行以下操作:

<xs:element name="Item">
  <xs:complexType>
    <xs:simpleContent>
      <xs:extension base="string25">
        <xs:attribute name="ItemGUID" type="string36" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xs:element> 

<xs:simpleType name="string25">
  <xs:restriction base="xs:string">
    <xs:minLength value="1"/>
    <xs:maxLength value="25"/>
  </xs:restriction>
</xs:simpleType>


<xs:simpleType name="string36">
  <xs:restriction base="xs:string">
    <xs:minLength value="1"/>
    <xs:maxLength value="36"/>
  </xs:restriction>
</xs:simpleType>


我没有尝试过,但如果这不起作用,它应该非常接近您需要的内容。

使用XML Schema,您可以执行以下操作:

<xs:element name="Item">
  <xs:complexType>
    <xs:simpleContent>
      <xs:extension base="string25">
        <xs:attribute name="ItemGUID" type="string36" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xs:element> 

<xs:simpleType name="string25">
  <xs:restriction base="xs:string">
    <xs:minLength value="1"/>
    <xs:maxLength value="25"/>
  </xs:restriction>
</xs:simpleType>


<xs:simpleType name="string36">
  <xs:restriction base="xs:string">
    <xs:minLength value="1"/>
    <xs:maxLength value="36"/>
  </xs:restriction>
</xs:simpleType>

我没有试过,但如果这不起作用,它应该非常接近你需要的