Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.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
Java XML模式以无序模式显示元素_Java_C#_Xml_Xsd - Fatal编程技术网

Java XML模式以无序模式显示元素

Java XML模式以无序模式显示元素,java,c#,xml,xsd,Java,C#,Xml,Xsd,我有一个模式XSD文件,其中包含序列中列出的元素。问题在于,顺序强制XML文件按顺序列出元素。现在,我想使用选项标记。但是根据xml规范,choice只允许声明中包含的一个元素出现在包含元素中。另外,我不能使用All标记,因为我希望出现多次。但是,我想 在无序模式中显示所有A、B、C、D和E。有什么建议吗 Xml模式文件 XML文件(我希望这些元素按任意顺序排列) a B C D E 此XSD <xsd:schema xmlns:xsd="http://www.w3.org/2001/

我有一个模式XSD文件,其中包含序列中列出的元素。问题在于,顺序强制XML文件按顺序列出元素。现在,我想使用选项标记。但是根据xml规范,choice只允许声明中包含的一个元素出现在包含元素中。另外,我不能使用All标记,因为我希望出现多次。但是,我想 在无序模式中显示所有A、B、C、D和E。有什么建议吗

Xml模式文件

XML文件(我希望这些元素按任意顺序排列)
a
B
C
D
E
此XSD

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:element name="r">
    <xsd:complexType>
      <xsd:choice minOccurs="0" maxOccurs="unbounded">
        <xsd:element name="A" />
        <xsd:element name="B" />
        <xsd:element name="C" />
        <xsd:element name="D" />
        <xsd:element name="E" />
      </xsd:choice>
    </xsd:complexType>
  </xsd:element>
</xsd:schema>

将验证元素
A
E
作为
r
的子元素,以任意顺序和任意次数出现

解释
xsd:choice
元素上的出现约束允许选择本身重复指定的次数。因此,您可以在子元素之间选择零次,并获得
r
的空内容模型。有一次,你可以选择任何一个孩子。第二次,您可以选择与第一次相同的孩子,或任何其他孩子。正如您所看到的,这个连续的操作允许任意数量的子元素以任意顺序出现

例子 以下所有XML文档都对上述XSD有效:

    • 本XSD

      <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        <xsd:element name="r">
          <xsd:complexType>
            <xsd:choice minOccurs="0" maxOccurs="unbounded">
              <xsd:element name="A" />
              <xsd:element name="B" />
              <xsd:element name="C" />
              <xsd:element name="D" />
              <xsd:element name="E" />
            </xsd:choice>
          </xsd:complexType>
        </xsd:element>
      </xsd:schema>
      
      
      
      将验证元素
      A
      E
      作为
      r
      的子元素,以任意顺序和任意次数出现

      解释
      xsd:choice
      元素上的出现约束允许选择本身重复指定的次数。因此,您可以在子元素之间选择零次,并获得
      r
      的空内容模型。有一次,你可以选择任何一个孩子。第二次,您可以选择与第一次相同的孩子,或任何其他孩子。正如您所看到的,这个连续的操作允许任意数量的子元素以任意顺序出现

      例子 以下所有XML文档都对上述XSD有效:


      请回答您的问题,并添加应有效和不应有效的示例列表。谢谢。你的编辑只是重述了你的散文,仍然无法传达什么是不允许的。例如,你说ABCDE或EDCBA是有效的。好的ABC怎么样?(他们都必须在场吗?)?(邻接时可以重复一些吗?)?(它们可以在交错时重复吗?)(1)出现次数:0[零]或多次(2)邻接:是的,它可以像这个abcdeee和(3)交错时重复:是的,它可以是AEBECEDE。我唯一担心的是我不想强制元素按顺序排列,它们可能会出现多次。谢谢请回答您的问题,并添加应有效和不应有效的示例列表。谢谢。你的编辑只是重述了你的散文,仍然无法传达什么是不允许的。例如,你说ABCDE或EDCBA是有效的。好的ABC怎么样?(他们都必须在场吗?)?(邻接时可以重复一些吗?)?(它们可以在交错时重复吗?)(1)出现次数:0[零]或多次(2)邻接:是的,它可以像这个abcdeee和(3)交错时重复:是的,它可以是AEBECEDE。我唯一担心的是我不想强制元素按顺序排列,它们可能会出现多次。谢谢我对这一点有怀疑。选项只允许包含元素中存在一个元素。在这种情况下,父元素“r”只能有一个元素存在,不是吗?a或b或。。。。其他因素。如果我们将所有元素[a、b、c、d、e]放在父元素“r”中,我们就没有遵循XML模式规范。如果我错了,请纠正我。我确实对此有疑问。选项只允许包含元素中存在一个元素。在这种情况下,父元素“r”只能有一个元素存在,不是吗?a或b或。。。。其他因素。如果我们将所有元素[a、b、c、d、e]放在父元素“r”中,我们就没有遵循XML模式规范。如果我错了,请纠正我。
      <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        <xsd:element name="r">
          <xsd:complexType>
            <xsd:choice minOccurs="0" maxOccurs="unbounded">
              <xsd:element name="A" />
              <xsd:element name="B" />
              <xsd:element name="C" />
              <xsd:element name="D" />
              <xsd:element name="E" />
            </xsd:choice>
          </xsd:complexType>
        </xsd:element>
      </xsd:schema>