无序必需和可选标记的XSD模式

无序必需和可选标记的XSD模式,xsd,Xsd,我想表达在XSD中重复出现的无序的强制和可选标记。 有谁能告诉我如何解决这个问题? 如果不可行,可以采取什么方法 更新 <xs:element name="Tag1" type="xs:string" /> <xs:element name="Tag2" type="xs:string" /> <xs:element name="Tag3" type="xs:string" maxoccurs="Unbounded"/> 所有这些标记都显示在compl

我想表达在XSD中重复出现的无序的强制和可选标记。 有谁能告诉我如何解决这个问题? 如果不可行,可以采取什么方法

更新

<xs:element name="Tag1" type="xs:string" />
<xs:element name="Tag2" type="xs:string" />
<xs:element name="Tag3" type="xs:string" maxoccurs="Unbounded"/> 

所有这些标记都显示在complext类型下,并且tag1和tag2是必需的。tag3是可选的,可以出现任意次数。tag1、tag2和tag3可以以任何顺序出现

您可以使用“全部”组选择器,并使用minOccurs来指示强制状态

<xs:schema xmlns="http://Message1" targetNamespace="http://Message1" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="Root">
    <xs:complexType>
      <xs:all>
        <xs:element name="TheValue" type="xs:string" />
        <xs:element name="TheValue2" type="xs:string" minOccurs="0" />
      </xs:all>
    </xs:complexType>
  </xs:element>
</xs:schema>

这是正确的:

<ns0:Root xmlns:ns0="http://BizTalk_Server_Project1.Message1">
  <TheValue2>somevalue</TheValue2>
  <TheValue>somevalue</TheValue>
</ns0:Root>

一些价值
一些价值
所以它是这样的:

<ns0:Root xmlns:ns0="http://BizTalk_Server_Project1.Message1">
  <!--<TheValue2>somevalue</TheValue2>-->
  <TheValue>somevalue</TheValue>
</ns0:Root>

一些价值
但不是这个:

<ns0:Root xmlns:ns0="http://BizTalk_Server_Project1.Message1">
  <!--<TheValue2>somevalue</TheValue2>-->
  <!--<TheValue>somevalue</TheValue>-->
</ns0:Root>

您可以使用“all”组选择器,并使用minOccurs来指示强制设置

<xs:schema xmlns="http://Message1" targetNamespace="http://Message1" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="Root">
    <xs:complexType>
      <xs:all>
        <xs:element name="TheValue" type="xs:string" />
        <xs:element name="TheValue2" type="xs:string" minOccurs="0" />
      </xs:all>
    </xs:complexType>
  </xs:element>
</xs:schema>

这是正确的:

<ns0:Root xmlns:ns0="http://BizTalk_Server_Project1.Message1">
  <TheValue2>somevalue</TheValue2>
  <TheValue>somevalue</TheValue>
</ns0:Root>

一些价值
一些价值
所以它是这样的:

<ns0:Root xmlns:ns0="http://BizTalk_Server_Project1.Message1">
  <!--<TheValue2>somevalue</TheValue2>-->
  <TheValue>somevalue</TheValue>
</ns0:Root>

一些价值
但不是这个:

<ns0:Root xmlns:ns0="http://BizTalk_Server_Project1.Message1">
  <!--<TheValue2>somevalue</TheValue2>-->
  <!--<TheValue>somevalue</TheValue>-->
</ns0:Root>


欢迎来到Stackoverflow。在这里提问时,通常会发布一些代码来演示您所面临的挑战。通常,通过编写代码来演示一个问题,最终解决了这个问题。欢迎使用Stackoverflow。在这里提问时,通常会发布一些代码来演示您所面临的挑战。通常,通过编写代码来演示问题,您最终解决了问题。强制标记和重复出现的可选标记都列在一个复杂类型标记下。您的解决方案不适合我的问题您的问题没有提供足够的详细信息。我的答案是:“无序的强制和可选标签”。如果您对答案不满意,请澄清您的问题,而不是给出的答案,否则您可能会显得忘恩负义。所有这些标记都显示在complext类型下,并且tag1和tag2是必需的。tag3是可选的,可以出现任意次数。tag1、tag2和tag3可以以任何顺序出现。我已将您的评论添加到原始问题的编辑中。然而,我还是不明白你在问什么。您是否提供问题的答案?强制标记和重复出现的可选标记都列在单个复杂类型标记下。您的解决方案不适合我的问题您的问题没有提供足够的详细信息。我的答案是:“无序的强制和可选标签”。如果您对答案不满意,请澄清您的问题,而不是给出的答案,否则您可能会显得忘恩负义。所有这些标记都显示在complext类型下,并且tag1和tag2是必需的。tag3是可选的,可以出现任意次数。tag1、tag2和tag3可以以任何顺序出现。我已将您的评论添加到原始问题的编辑中。然而,我还是不明白你在问什么。您是否提供了问题的答案?