Un elemento è un elemento XML - un tag di apertura, alcuni contenuti, un tag di chiusura - sono gli elementi costitutivi del documento XML:
<test>someValue</test>
Qui "test" sarebbe un elemento.
attributi è un informazioni aggiuntive su un tag - è un o di un info "add-on" in più su un elemento, ma non potrà mai esistere da solo:
<test id="5">somevalue</test>
"id" è un attributo.
Non è possibile avere più attributi con lo stesso nome su un singolo tag -> minOccurs/maxOccurs non ha senso. È possibile definire obbligatorio (o meno) per un attributo - qualsiasi altra cosa non ha senso.
Gli elementi sono definiti dalla loro presenza all'interno di tipi complessi - ad es. se si dispone di un tipo complesso con un <xs:sequence>
all'interno - si definisce che tutti gli elementi devono essere presenti e devono i in questo particolare ordine:
<xs:complexType name="SomeType">
<xs:sequence>
<xs:element name="Element1" type="xs:string" />
<xs:element name="Element2" type="xs:string" />
</xs:sequence>
</xs:complexType>
All'interno di un elemento di questo tipo, i sottoelementi "Element1" e "Element2" sono obbligatori e devono apparire in questo ordine - non c'è bisogno di "richiesto" o meno (come con gli attributi). Se un elemento è richiesto o meno è definito dall'uso di minOccurs e maxOccurs; entrambi sono = 1 per impostazione predefinita, ad es. l'elemento deve verificarsi e può verificarsi solo una volta. Modificando queste impostazioni, puoi definire un elemento come facoltativo (minOccurs = 0) o permetterlo di apparire più volte (maxOccurs> 1).
Consiglio vivamente di dare un'occhiata allo W3Schools Tutorial on XML Schema e saperne di più sullo schema XML.
Marc
fonte
2009-11-13 06:26:41
Possibile duplicato di [attributo XML vs elemento XML] (http://stackoverflow.com/questions/33746/xml-attribute-vs-xml-element) – kjhughes