Ist die Tag-Reihenfolge für gültiges XML relevant?

8

mit anderen Worten:

%Vor%

ist dasselbe wie:

%Vor%

?

    
Segolas 05.11.2010, 11:45
quelle

5 Antworten

10

So detailliert wie sie gezeigt werden, sind Ihre beiden Beispiele semantisch gleich.

Es ist ein häufiges Missverständnis von XML, dass in einem wohlgeformten XML-Dokument die Reihenfolge der Geschwisterelemente signifikant ist. Die Spezifikation für XML 1.0 gibt an, dass Attribute ungeordnet sind, sagt jedoch nichts über Elemente aus. Daher kann ein XML-Prozessor Element-Geschwister in beliebiger Reihenfolge melden.

Das heißt, ich glaube nicht, dass häufig verwendete XML-Prozessoren Elemente in einer anderen Reihenfolge als in einem Dokument anzeigen.

Sie fragen nach einem "gültigen" Dokument - dies bedeutet, dass eine DTD oder ein Schema verwendet wird, und daher kann es (oder auch nicht) der Fall sein, dass die Bestellung relevant ist. Es gibt Mechanismen für eine DTD oder ein Schema, um anzugeben, dass die Reihenfolge der Elemente innerhalb eines Dokuments relevant ist. Ihre Beispiele zeigen jedoch nicht die Verwendung einer DTD oder eines Schemas.

    
philhobgen 05.11.2010, 12:29
quelle
4

Es ist nicht wichtig für XML selbst. Beide Dokumente sind natürlich wohlgeformte XML-Dokumente. Sie sind jedoch möglicherweise nicht gültig ; Bei der Validierung mit einem XML-Schema ist es möglich, eine Reihenfolge anzugeben. Wenn die Elemente nicht in dieser Reihenfolge bereitgestellt werden, wird das Dokument gemäß dem Schema ungültig. Dies kann mit dem xsd:sequence -Element wie hier hier

geschehen     
Jonas H 05.11.2010 11:54
quelle
1

Es hängt von der DTD (oder dem Schema) Ihrer Sprachdefinition ab.

    
Luixv 05.11.2010 11:49
quelle
1

Das hängt davon ab, was das XML verbraucht. Die Reihenfolge der Elemente mag nicht wichtig sein, wenn das XML-Dokument gut formatiert ist (abhängig von der XSD), aber bestimmte Programme / APIs erwarten, die XML in alphabetischer Reihenfolge zu lesen (z. B. der DataContractSerializer in .NET). p>

Auch die Reihenfolge kann semantisch wichtig sein (z. B. wenn das XML ein Dokument darstellt, ist die Reihenfolge sehr wichtig).

    
RQDQ 05.11.2010 11:50
quelle
0

XML verwaltet eine Reihenfolge von Dokumenten - das sind zwei verschiedene Dokumente.

Ihre Anwendung kann die Reihenfolge der Elemente als wichtig erachten oder nicht. Zum Beispiel ist die Reihenfolge der Elemente in XHTML wesentlich. Wenn Sie gegen ein Schema oder Ähnliches validieren, hängt es vom Schema ab, ob beide Dokumente gültig sind oder nicht.

Beachten Sie, dass die Reihenfolge der Attribute jedoch nicht wichtig ist (XML-Dokumente, die sich nur in der Reihenfolge der Attribute von Elementen unterscheiden, werden als identisch betrachtet).

    
Adrian Mouat 05.11.2010 11:52
quelle

Tags und Links