Schemat XML: wszystko, sekwencja i grupy

Piszę schemat XML po raz pierwszy i znalazłem przydatne narzędzia, które pomogą mi go napisać.

Teraz jestem w dziwnej sytuacji. Schemat, który napisałem, dotyczy niektórych narzędzi, a nie niektórych innych. Ten schemat jest mieszanką „wszystkich”, „sekwencji” i „grupy”. Oto mój schemat 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>

Czy ten schemat jest właściwy? To idzie dobrzeten walidator&nbsp;iTo też&nbsp;ale wtyczka XML Tools dla Notepad ++ mówi „Nie można przeanalizować pliku schematu”.

P.S: Napisałem ten schemat, ponieważ chciałem mieć element „e0” z tą możliwością, aby mieć mieszankę e1, e2, e3 i e4. e2, e3 i e4 powinny pojawić się 0 lub 1 raz, a e1 może wystąpić w iluminowanym czasie. Na przykład te pliki XML powinny przejść:

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

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

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

Czy znasz inny sposób, aby to zrobić?

Dzięki