Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
XML模式中的唯一粒子属性冲突_Xml_Xsd - Fatal编程技术网

XML模式中的唯一粒子属性冲突

XML模式中的唯一粒子属性冲突,xml,xsd,Xml,Xsd,为什么在我验证以下XML时会给出UPA冲突 <xs:element name='Information'> <xs:complexType> <xs:choice> <xs:element ref='ID'/> <xs:sequence> <xs:element ref='ID'/> <xs:element ref='Name'/> <

为什么在我验证以下XML时会给出UPA冲突

 <xs:element name='Information'>
  <xs:complexType>
   <xs:choice>
    <xs:element ref='ID'/> 
    <xs:sequence>
     <xs:element ref='ID'/>     
     <xs:element ref='Name'/>   
    </xs:sequence> 
   </xs:choice>    
  </xs:complexType>
 </xs:element>

 <xs:element name='ID' type="xs:integer"/> 
 <xs:element name='Name' type="xs:string"/>


这不是简单地说明信息是整数或and整数和字符串吗?歧义在哪里?在xml模式方面没有很好的学习,所以我可能缺少一些简单的东西…

这是不明确的,因为当解析器“来到”
元素时,它无法选择适当的内容模型(这里是
单独,或者
然后
),而不在文档中“进一步查看”

您需要使用这样定义的内容模型(它与您想要的内容模型完全相同):



谢谢,我只是假设在解析器遇到XML中的结尾之前不会选择内容模型。在这种情况下,它确实可以通过添加minOccurs来修复。如果我有身份证,或者我有身份证,名字和第三个元素,我该怎么办?请不要问这样的补充问题。这是一个不同的问题,所以打开一个新问题。
 <xs:element name='Information'>
  <xs:complexType>
    <xs:sequence>
      <xs:element ref='ID'/> 
      <xs:element ref='Name' minOccurs="0"/>   
    </xs:sequence> 
   </xs:complexType>
 </xs:element>