Xml 在XSD中具有具有不同ID的多个div

Xml 在XSD中具有具有不同ID的多个div,xml,xsd,Xml,Xsd,目前,我正在使用XSD for XHTML编写XML模式定义。我的XHTML的结构如下所示 <!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> </head> <body> <div id="AAA">// (Required, maxnum

目前,我正在使用XSD for XHTML编写XML模式定义。我的XHTML的结构如下所示

<!DOCTYPE html>
<html lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
</head>
<body>
<div id="AAA">// (Required, maxnumber = 1)
   <div id="BBB">//  (Required, maxnumber = 1)
      <div id="CCC">...</div>// (Optional)
      <div id="DDD">...</div>// (Optional)
      <div id="EEE">...</div>// (Required, maxnumber = 1)
      <div id="FFF" class="IIII">...</div>// (Required, maxnumber = 1)
   </div>
</div>
</body>
</html>

//(必需,maxnumber=1)
//(必需,maxnumber=1)
…/(可选)
…/(可选)
…/(必需,maxnumber=1)
…/(必需,maxnumber=1)
我需要为我的XHTML检查以下条件的div标记

  • 检查是否显示所有必需的div标签
  • 检查所有div标签是否符合样本代码中定义的顺序
  • 检查class属性是否仅具有IIII或22222值
我真的很感谢你的帮助


关于,

我想如果你知道三个要求中只有一个是可以实现的,那你会失望的!我会尽量详细解释原因

/(必需,maxnumber=1)

如何声明所需元素:使用minOccurs=“1”和maxOccurs=“1”声明元素
div
(即使未明确定义minOccurs和maxOccurs,默认值为1,1。因此这是可选的)

../(可选)

如何声明可选元素:使用minOccurs=“0”声明元素“div”,使其外观成为可选的

但基于属性值,无法验证元素的外观两者都不可能在同一个父项下有一个相同的元素,一次是必需的,一次是可选的!
例如,一种解决方法是使用minOccurs=“3”和maxOccurs=“10”进行单一定义

这应该在元素/complexType之外:

  <xs:simpleType name="ClassType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="IIII"/>
      <xs:enumeration value="2222"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:attribute name="class" type="ClassType" use="optional" />
  <xs:simpleType name="ClassType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="IIII"/>
      <xs:enumeration value="2222"/>
    </xs:restriction>
  </xs:simpleType>