Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.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
XSD-如何在XML中允许元素以任意顺序任意次数出现?_Xml_Xsd_Xsd Validation_Xsd 1.1 - Fatal编程技术网

XSD-如何在XML中允许元素以任意顺序任意次数出现?

XSD-如何在XML中允许元素以任意顺序任意次数出现?,xml,xsd,xsd-validation,xsd-1.1,Xml,Xsd,Xsd Validation,Xsd 1.1,我试图创建一个模式,但遇到了这个问题 我正在尝试创建XSD,并尝试编写具有以下要求的定义: 允许指定的子元素出现任意次数(0到 无界) 允许子元素按任意顺序排列 XML: 当前XSD: <s:complexType name="COMPLEX_DSC_TYPE"> <s:sequence> <s:element minOccurs="0" maxO

我试图创建一个模式,但遇到了这个问题

我正在尝试创建XSD,并尝试编写具有以下要求的定义:

  • 允许指定的子元素出现任意次数(0到 无界)
  • 允许子元素按任意顺序排列
XML:


当前XSD:

        <s:complexType name="COMPLEX_DSC_TYPE">
            <s:sequence>
                <s:element minOccurs="0" maxOccurs="unbounded" name="property" type="s0:PROPERTY_DSC_TYPE"/>
                <s:element minOccurs="0" maxOccurs="unbounded" name="complex" type="s0:COMPLEX_DSC_TYPE"/>
            </s:sequence>
        </s:complexType>
        
   <s:complexType name="COMPLEX_DSC_TYPE">
        <s:choice minOccurs="0" maxOccurs="unbounded">
            <s:element name="property" type="s0:PROPERTY_DSC_TYPE"/>
            <s:element name="complex" type="s0:COMPLEX_DSC_TYPE"/>
        </s:choice>
     </s:complexType>

错误:未选中的子元素。我猜这是一个问题,因为后面有元素

上述XML的正确XSD是什么

XSD我试过:

        <s:complexType name="COMPLEX_DSC_TYPE">
            <s:sequence>
                <s:element minOccurs="0" maxOccurs="unbounded" name="property" type="s0:PROPERTY_DSC_TYPE"/>
                <s:element minOccurs="0" maxOccurs="unbounded" name="complex" type="s0:COMPLEX_DSC_TYPE"/>
            </s:sequence>
        </s:complexType>
        
   <s:complexType name="COMPLEX_DSC_TYPE">
        <s:choice minOccurs="0" maxOccurs="unbounded">
            <s:element name="property" type="s0:PROPERTY_DSC_TYPE"/>
            <s:element name="complex" type="s0:COMPLEX_DSC_TYPE"/>
        </s:choice>
     </s:complexType>

您的XML格式不好,但我试图从缩进中猜测您的意图。我想你想要的是

<s:complexType name="COMPLEX_DSC_TYPE">
   <s:choice minOccurs="0" maxOccurs="unbounded">
      <s:element name="property" type="s0:PROPERTY_DSC_TYPE"/>
      <s:element name="complex" type="s0:COMPLEX_DSC_TYPE"/>
   </s:choice>
</s:complexType>


请阅读并按照说明操作,了解如何创建一个。您发布的是一堆杂乱无章的无关元素、属性、格式错误的XML和不完整的XSD片段。你不应该指望有人涉水而过,猜猜你想要什么。(我的猜测是,您可以通过一个简单的
包装器来实现您想要的内容,该包装器围绕您希望以任何顺序重复任意次数的元素,但您必须在获得良好、详细的答案之前对您的问题进行大量清理。)我已经尝试过这个场景。获取以下错误-“元素“complex”具有无效的子元素“property”。可能的元素列表应为“复杂”。@SkAzharuddin:如果您发布了一个,您收到的答案将很容易避免这些额外的错误。现在纠正错误并获得全面的答案还为时不晚。请仔细阅读并遵循上面的链接。