使用 XSD 验证一个元素或其他元素或两者

Using XSD to validate one element, or other element, or both

我正在使用 XSD 文件和 C# .NET 来验证 XML。我需要验证 <Message> 元素是否具有:

<Edit> OR <Delete> OR <Edit> <Delete> (IE both elements)

这可以在 XSD 完成吗?

是的,这个XSD,

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="Message">
    <xs:complexType>
      <xs:choice>
        <xs:sequence>
          <xs:element name="Edit"/>
          <xs:element name="Delete" minOccurs="0"/>
        </xs:sequence>
        <xs:element name="Delete"/>
      </xs:choice>
    </xs:complexType>
  </xs:element>
</xs:schema>

将根据要求允许 <Edit/><Delete/><Edit/><Delete/>