Esquema XML: todos, sequência e grupos

Estou escrevendo um esquema XML pela primeira vez e encontrei algumas ferramentas úteis para me ajudar a escrevê-lo.

Agora estou em uma situação estranha. O esquema que escrevi é válido para algumas ferramentas e não para outras. Este esquema é uma mistura de "all", "sequence" e "group". Aqui está o meu 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>

Este esquema está correto? Isso vai bem comeste validador eesse também mas o plugin XML Tools para o Notepad ++ diz "Não foi possível analisar o arquivo de esquema".

P.S: Eu escrevi este esquema porque queria ter um elemento "e0" com isso a possibilidade de ter um mix de e1, e2, e3 e e4. e2, e3 e e4 devem aparecer 0 ou 1 vez e e1 pode ocorrer um tempo ilimitado. Por exemplo, esses arquivos XML devem passar:

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

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

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

Você conhece outra maneira de fazer isso?

obrigado

questionAnswers(1)

yourAnswerToTheQuestion