Esquema XML: todos, secuencia y grupos

Estoy escribiendo un esquema XML por primera vez y encontré algunas herramientas útiles para ayudarme a escribirlo.

Ahora estoy en una situación extraña. El esquema que escribí es válido para algunas herramientas y no para otras. Este esquema es una mezcla de "todos", "secuencia" y "grupo". Aquí está mi esquema XML:

<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
     <xsd:group name="test">

        <xsd:all>
                <xsd:element name="e2" minOccurs="0" maxOccurs="1"/>
                <xsd:element name="e3" minOccurs="0" maxOccurs="1"/>
                <xsd:element name="e4" minOccurs="0" maxOccurs="1"/>
        </xsd:all>
    </xsd:group>

    <xsd:element name="e0">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="e1" maxOccurs="unbounded"/>
                <xsd:group ref="test"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
</xsd:schema>

¿Es este esquema correcto? Va bien coneste validador yeste también pero el complemento de herramientas XML para Notepad ++ dice "No se puede analizar el archivo de esquema".

P.S: Escribí este esquema porque quería tener un elemento "e0" con la posibilidad de tener una mezcla de e1, e2, e3 y e4. e2, e3 y e4 deberían aparecer 0 o 1 vez y e1 podría ocurrir un tiempo ilimitado. Por ejemplo, estos archivos XML deberían pasar:

<e0>
   <e1/>
   <e1/>
   <e1/>
   <e1/>
   <e1/>
   <e2/>
</e0>

<e0>
   <e2/>
   <e3/>
   <e4/>
</e0>

<e0>
   <e1/>
   <e2/>
   <e3/>
   <e4/>
</e0>

¿Conoces alguna otra forma de hacer esto?

Gracias

Respuestas a la pregunta(1)

Su respuesta a la pregunta