Ein Element ist ein XML-Element - ein Starttag, einige Inhalte, ein End-Tag - sie sind die Bausteine Ihres XML-Dokuments sind:
<test>someValue</test>
Hier wäre "Test" ein Element.
Attribute ist eine zusätzliche Informationen zu einem Tag - es ist ein "Add-on" ist oder eine zusätzliche Informationen zu einem Element, kann aber nie allein existieren:
<test id="5">somevalue</test>
"id" ist ein Attribut.
Sie können nicht mehrere Attribute mit demselben Namen auf einem einzelnen Tag haben -> minOccurs/maxOccurs ergibt keinen Sinn. Sie können für ein Attribut erforderlich (oder nicht) definieren - alles andere macht keinen Sinn.
Die Elemente werden durch ihr Auftreten in komplexen Typen definiert - z. wenn Sie einen komplexen Typ mit einem <xs:sequence>
innen haben - Sie definieren, dass alle Elemente vorhanden sein müssen und müssen die in dieser bestimmten Reihenfolge:
<xs:complexType name="SomeType">
<xs:sequence>
<xs:element name="Element1" type="xs:string" />
<xs:element name="Element2" type="xs:string" />
</xs:sequence>
</xs:complexType>
Innerhalb eines Elements dieses Typs, die Unterelemente „Element1“ und "Element2" wird benötigt und muss in dieser Reihenfolge erscheinen - es besteht keine Notwendigkeit für "erforderlich" oder nicht (wie bei Attributen). Ob ein Element benötigt wird oder nicht, wird durch die Verwendung von minOccurs und maxOccurs definiert; beide sind standardmäßig = 1, z. Das Element muss auftreten und darf nur einmal vorkommen. Indem Sie diese Einstellungen optimieren, können Sie ein Element als optional definieren (minOccurs = 0) oder es mehrmals anzeigen lassen (maxOccurs> 1).
Ich würde Ihnen wärmstens empfehlen, die W3Schools Tutorial on XML Schema auschecken und erfahren Sie mehr über XML-Schema.
Marc
Mögliches Duplikat von [XML-Attribut vs. XML-Element] (http://stackoverflow.com/questions/33746/xml-attribute-vs-xml-element) – kjhughes