< xsd:all
> określa, że elementy dziecko może pojawić się w dowolnej kolejności.
< xsd:sequence
> określa elementy podrzędne mogą pojawiać się tylko w podanej kolejności.
Przykład kolejności:
<xs:element name="compElement">
<xs:complexType>
<xs:sequence>
<xs:element name="ele1" type="xs:string"/>
<xs:element name="ele2" type="xs:string"/>
<xs:element name="ele3" type="xs:string"/>
<xs:element name="ele4" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
Jeśli utworzyć XML z tym XSD wtedy, to będzie coś takiego:
<compElement>
<ele1>First</ele1>
<ele2>Second</ele2>
<ele3>Third</ele3>
<ele4>Fourth</ele4>
</compElement>
Przykład dla wszystkich:
<xs:element name="compElement">
<xs:complexType>
<xs:all>
<xs:element name="ele1" type="xs:string"/>
<xs:element name="ele2" type="xs:string"/>
<xs:element name="ele3" type="xs:string"/>
<xs:element name="ele4" type="xs:string"/>
</xs:all>
</xs:complexType>
</xs:element>
Jeśli możesz utworzyć plik XML z tego xsd, to będzie coś takiego:
<compElement>
<ele2>Second</ele2>
<ele1>First</ele1>
<ele4>Fourth</ele4>
<ele3>Third</ele3>
</compElement>
More info na xsd: all More Info na xsd: sekwencja
nadzieję, że odpowiedział na to quetion.
Zasadniczo różnica między tymi dwoma jest już wskazana w pytaniu. Jednak ograniczenia związane z użyciem tych dwóch kompilatorów i implikacje tych w tworzeniu XSD zależą od specyfikacji, do której się odnosisz: XSD 1.0 lub XSD 1.1? –
Wygląda na to, że pytanie o to, dlaczego sekwencja i cały błąd zapisu w inny sposób, gdy znajdzie brakujący element. Myślę, że chodzi o logikę parsera. – Nasir
Czy istnieje już odpowiedź na to pytanie? Chciałbym również wiedzieć, czy zawsze muszę używać, aby uzyskać dokładnie pominięty obiekt. –
GertV