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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.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 包含xs:all的XSD无效_Xml_Xsd - Fatal编程技术网

Xml 包含xs:all的XSD无效

Xml 包含xs:all的XSD无效,xml,xsd,Xml,Xsd,我是XSD的初学者,但这一点让我感到困惑,尽管我对规范进行了大量阅读: <xs:complexType name="iterator"> <xs:attribute name="id" type="xs:string" use="required"/> <xs:all> <xs:element name="name" type="xs:string"/> <xs:element name="el

我是XSD的初学者,但这一点让我感到困惑,尽管我对规范进行了大量阅读:

<xs:complexType name="iterator">
    <xs:attribute name="id" type="xs:string" use="required"/>
    <xs:all>
        <xs:element name="name" type="xs:string"/>
        <xs:element name="element" type="iterator-element" maxOccurs="unbounded"/>
    </xs:all>
</xs:complexType>

我试图定义这样的东西:

<iterator id="123">
   <name>Test</name>
   <element>(data)</element>
   <element>(data)</element>
   <element>(data)</element>
</iterator>

试验
(数据)
(数据)
(数据)
在我的应用程序中,我将迭代所有这些元素

我的错误是在语法上还是在概念上?我应该将名称改为属性吗?我应该用什么东西包装这些元素吗?为什么XSD解析器会抱怨这一点:

s4s elt无效内容。1:“迭代器”的内容无效。 元素“all”无效、放错位置或出现频率过高


我更改了迭代器元素,因为您没有解释它是什么。可能是复杂类型

在我测试的所有案例中

这不起作用,因为您需要在子元素之后声明属性。


我更改了迭代器元素,因为您没有解释它是什么。可能是复杂类型

在我测试的所有案例中


这不起作用,因为您需要在子元素之后声明属性。

是的,迭代器元素是我在别处定义的复杂类型。我希望名称和元素的顺序不重要,这就是为什么我使用xs:all而不是xs:sequence。如果使用xs:all->
Cos all limited.2:the{max Occurs}“所有”模型组中元素的值必须为0或1。元素“Element”的值“unbounded”无效。
如果我的答案对您有帮助,请关闭问题并单击以更正我的答案,谢谢阅读。很遗憾,这对我不起作用。我可能对嵌套类型有问题。为什么不向我们展示所有代码,以便我们可以看到所有问题?如果您有更多问题,请编辑您的问题,我将尝试帮助。是的,迭代器元素是我在别处定义的复杂类型。我更喜欢名称和元素的顺序不重要,这就是为什么我使用xs:all而不是xs:sequence。如果您使用xs:all->
Cos all limited,这就是错误。2:the{max Occurs}“所有”模型组中元素的值必须为0或1。元素“Element”的值“unbounded”无效。
如果我的答案对您有帮助,请关闭问题并单击以更正我的答案,谢谢阅读。很遗憾,这对我不起作用。我可能对嵌套类型有问题。为什么不向我们展示所有代码,以便我们可以看到所有问题?如果您有更多问题,请编辑您的问题,我将尝试帮助。
<?xml version="1.0"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

        <xs:element name="iterator" type="iter"/>
        <xs:complexType name="iter">
            <xs:sequence>
                <xs:element name="name" type="xs:string"/>
                <xs:element name="element" type="xs:string" maxOccurs="unbounded"/>
            </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required"/>
    </xs:complexType>
</xs:schema>