Validando XML con XSD ... pero aún permitiendo la extensibilidad

Tal vez soy yo, pero parece que si tienes un XSD

<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="User">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="GivenName" />
                <xs:element name="SurName" />
            </xs:sequence>
            <xs:attribute name="ID" type="xs:unsignedByte" use="required" />
        </xs:complexType>
    </xs:element>
</xs:schema>

que define el esquema para este documento

<?xml version="1.0" encoding="utf-8" ?>
<User ID="1">
    <GivenName></GivenName>
    <SurName></SurName>
</User>

No se podría validar si agrega otro elemento, diga EmailAddress y mezcle el pedido

<?xml version="1.0" encoding="utf-8" ?>
<User ID="1">
    <SurName></SurName>
    <EmailAddress></EmailAddress>
    <GivenName></GivenName>
</User>

No quiero agregar EmailAddress al documento y que se marque como opcional.

Solo quiero un XSD que valide los requisitos mínimos básicos que debe cumplir el documento.

¿Hay alguna forma de hacer esto?

EDITAR:

marc_s señaló a continuación que puede usarxs:any dentro dexs:sequence para permitir más elementos, desafortunadamente, debes mantener el orden de los elementos.

Alternativamente, puedo usarxs:all que no impone el orden de los elementos, pero, por desgracia, no me permite colocarxs:any dentro de ella.

Respuestas a la pregunta(5)

Su respuesta a la pregunta