Проверка XML на соответствие XSD и игнорирование порядка дочерних элементов

У меня есть метод в приложении C #, который проверяет XML-файл пользовательского ввода на соответствие встроенному XSD. Он отлично работает, но требует, чтобы все дочерние элементы находились в точном порядке, определенном в XSD. Однако для меня порядок не имеет значения, пока существуют элементы.

Например, если бы у меня был следующий XSD...

<xs:element maxOccurs="unbounded" name="ParentElement">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="FirstChildElement" type="xs:string" />
      <xs:element name="SecondChildElement" type="xs:string" />
      <xs:element name="ThirdChildElement" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
</xs:element>

И такой XML...

<ParentElement>
    <FirstChildElement>someValue</FirstChildElement>        
    <ThirdChildElement>someValue</ThirdChildElement>
    <SecondChildElement>someValue</SecondChildElement>
</ParentElement>

Если бы я проверил это, я бы получил ошибку, потому что дочерние элементы не в порядке.

Могу ли я внести некоторые изменения в XSD, чтобы проверка учитывала только то, существуют ли элементы и находятся ли они под правильным родителем, но не в каком порядке они находятся?

13
задан John Saunders 23 July 2012 в 21:58
поделиться