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