2017-07-25 29 views
0

我需要一个元素的xs:所有重复两次

<xs:complexType> 
     <xs:all> 
      <xs:element name="AN" minOccurs="0"/> 
      <xs:element name="ME" minOccurs="0"/> 
      <xs:element name="preview" minOccurs="0"/> 
      <xs:element name="NZ" minOccurs="0"/> 
      <xs:element name="RE" minOccurs="0"/> 
      <xs:element name="RU" minOccurs="0"/> 
      <xs:element name="AU" minOccurs="0"/> 
      <xs:element name="SE" minOccurs="0"/> 
      <xs:element name="CM" minOccurs="0"/> 
     </xs:all> 
    </xs:complexType> 
</xs:element> 

在上面的代码,我想“ME”在XML中使用两次,其他元素应该只有一次,但在anyorder使用的元素。

回答

1

你想要做的是以下几点。然而,虽然这在XSD 1.1下很好,但它不在XSD 1.0下。

<xs:element name="MyElm"> 
    <xs:complexType> 
     <xs:all> 
      <xs:element name="AN" /> 
      <xs:element name="ME" minOccurs="2" maxOccurs="2" /> 
      <xs:element name="preview" /> 
      <xs:element name="NZ" /> 
      <xs:element name="RE" /> 
      <xs:element name="RU" /> 
      <xs:element name="AU" /> 
      <xs:element name="SE" /> 
      <xs:element name="CM" /> 
     </xs:all> 
    </xs:complexType> 
</xs:element> 

在XSD 1.0中,我敢肯定这是不可能的。如果你可以在没有'任何顺序'的情况下生活,那么你可以使用xs:顺序,如果你可以忍受0-1和0-2项,那么你可以使用xs:choice。但是,尽可能地接近你。

相关问题