XML Σχέδιο στοιχείο στοιχείο
Ορισμός και χρήση
Το στοιχείο element ορίζει ένα στοιχείο.
Πληροφορίες στοιχείου
Συχνότητα εμφάνισης | Αριθμός των στοιχείων που ορίζονται στην αρχιτεκτονική. |
Γονικό στοιχείο | schema, choice, all, sequence |
Περιεχόμενο | simpleType, complexType, key, keyref, unique |
Γλωσσική δομή
<element id=ID name=NCName ref=QName type=QName substitutionGroup=QName default=string fixed=string form=qualified|unqualified maxOccurs=μηδέν ή θετικός ακέραιος|χωρισμός minOccurs=μηδέν ή θετικός ακέραιος nillable=true|false abstract=true|false block=(#all|λίστα από (extension|restriction)) final=(#all|λίστα από (extension|restriction)) Οποιαδήποτε ιδιότητες > annotation?,((simpleType|complexType)?,(unique|key|keyref)*)) </element>
(Ο σύμβολος ? δηλώνει στο στοιχείο element, το οποίο μπορεί να εμφανίζεται μηδέν ή μια φορά, ο σύμβολος * δηλώνει στοιχείο που μπορεί να εμφανίζεται μηδέν ή πολλές φορές).
Αντικείμενο
id
Επιλογή. Ορίζει το μοναδικό ID του στοιχείου.
name
Επιλογή. Ορίζει το όνομα του στοιχείου. Αν το γονικό στοιχείο είναι στοιχείο schema, αυτή η ιδιότητα είναι απαραίτητη.
ref
Επιλογή. Αναφορά σε άλλο στοιχείο. Η ιδιότητα ref μπορεί να περιέχει πρόθεμα ονόματος χώρου. Αν το γονικό στοιχείο είναι στοιχείο schema, δεν χρησιμοποιείται αυτή η ιδιότητα.
type
Επιλογή. Ορίζει το όνομα του ενσωματωμένου τύπου δεδομένων ή το όνομα του στοιχείου simpleType ή complexType.
substitutionGroup
Επιλογή. Ορίζει το όνομα του στοιχείου που μπορεί να αντικαταστήσει το στοιχείο. Το στοιχείο πρέπει να έχει τον ίδιο τύπο ή να προέρχεται από τον τύπο του στοιχείου που καθορίζεται.
Δεν επιτρέπεται η χρήση αυτής της ιδιότητας αν το γονικό στοιχείο δεν είναι στοιχείο schema.
default
Επιλογή. Ορίζει προεπιλεγμένη τιμή για το στοιχείο (χρησιμοποιείται μόνο όταν το περιεχόμενο του στοιχείου είναι απλό τύπο ή textOnly).
fixed
Επιλογή. Ορίζει σταθερή τιμή για το στοιχείο (χρησιμοποιείται μόνο όταν το περιεχόμενο του στοιχείου είναι απλό τύπο ή textOnly).
form
Οπциона. Η μορφή του στοιχείου. Η προεπιλεγμένη τιμή είναι η τιμή της ιδιότητας elementFormDefault του στοιχείου schema που περιέχει την ιδιότητα. Η τιμή πρέπει να είναι μια από τις εξής συμβολοσειρές: "qualified" ή "unqualified".
Αν το γονικό στοιχείο είναι το στοιχείο schema, δεν μπορεί να χρησιμοποιηθεί αυτή η ιδιότητα.
- Αν η τιμή είναι "unqualified", δεν χρειάζεται να限定 με πρόσθετο όνομα χώρου.
- Αν η τιμή είναι "qualified", το στοιχείο πρέπει να限定 με πρόσθετο όνομα χώρου.
maxOccurs
Οπциона. Προκαθορίζει τον μέγιστο αριθμό εμφανίσεων του στοιχείου στο γονικό στοιχείο. Η τιμή μπορεί να είναι ακέραιος μεγαλύτερος ή ίσος με το 0. Αν δεν θέλετε να ορίσετε περιορισμό για τον μέγιστο αριθμό εμφανίσεων, χρησιμοποιήστε τη συμβολοσειρά "unbounded". Η προεπιλεγμένη τιμή είναι 1.
Αν το γονικό στοιχείο είναι το στοιχείο schema, δεν μπορεί να χρησιμοποιηθεί αυτή η ιδιότητα.
minOccurs
Οπциона. Προκαθορίζει τον ελάχιστο αριθμό εμφανίσεων του στοιχείου στο γονικό στοιχείο. Η τιμή μπορεί να είναι ακέραιος μεγαλύτερος ή ίσος με το 0. Η προεπιλεγμένη τιμή είναι 1.
Αν το γονικό στοιχείο είναι το στοιχείο schema, δεν μπορεί να χρησιμοποιηθεί αυτή η ιδιότητα.
nillable
Οπциона. Ενδείκνυε αν μπορεί να οριστεί η οριστική μηδενική τιμή για το στοιχείο. Αυτό εφαρμόζεται στο περιεχόμενο του στοιχείου και δεν είναι ιδιότητα του στοιχείου. Η προεπιλεγμένη τιμή είναι false.
Αν η nillable είναι true, θα επιτρέπεται η ρύθμιση της τιμής nil ως true για την εμφάνιση της τυποποιημένης τιμής του στοιχείου. Η ιδιότητα nil ορίζεται ως μέρος του ονόματος του πλαισίου XML.
Παράδειγμα, το επόμενο στοιχείο ορίζει ένα στοιχείο και ορίζει την ιδιότητα nillable ως true.
<xs:element name="myDate" type="xs:date" nillable="true"/>
Το επόμενο στοιχείο χρησιμοποιεί το στοιχείο αυτό και έχει ορισμένη μηδενική τιμή (η ιδιότητα nil είναι ρυθμισμένη σε true).
<myDate xsi:nil="true"></myDate>
abstract
Οπциона. Ενδείκνυε αν το στοιχείο μπορεί να χρησιμοποιηθεί στη δομή του αρχείου εγγράφου. Αν η τιμή είναι true, το στοιχείο δεν μπορεί να εμφανιστεί στο αρχείο εγγράφου. Αντίθετα, τα στοιχεία που περιέχουν την περιορισμένη ονοματολογία (QName) του στοιχείου πρέπει να εμφανίζονται στη θέση του στοιχείου. Πολλά στοιχεία μπορούν να αναφέρονται στο στοιχείο μέσω της ιδιότητας substitutionGroup. Η προεπιλεγμένη τιμή είναι false.
block
Οπциона. Τύπος εξαίρεσης. Η ιδιότητα block αποτρέπει τη χρήση των στοιχείων με καθορισμένο τύπο εξαίρεσης για να αντικαταστήσουν το στοιχείο. Η τιμή μπορεί να περιέχει #all ή μια λίστα, η οποία είναι υποσύνολο των εξαιρέσεων extension, restriction ή substitution:
- extension - Να αποτρέπεται η χρήση των στοιχείων που προκύπτουν από την επέκταση για να αντικαταστήσουν το στοιχείο.
- restriction - Προστατεύει τον στοιχείο από την αντικατάσταση μέσω εξειδίκευσης.
- substitution - Προστατεύει τον στοιχείο από την αντικατάσταση μέσω αντικατάστασης.
- #all - Προστατεύει τον στοιχείο από την αντικατάσταση από οποιοδήποτε εξειδικευμένο στοιχείο.
final
Οπション. Ορίζει την προεπιλεγμένη τιμή της ιδιότητας final στο στοιχείο element. Αν το γονικό στοιχείο δεν είναι το στοιχείο schema, δεν μπορεί να χρησιμοποιηθεί αυτή η ιδιότητα. Η τιμή μπορεί να περιέχει #all ή μια λίστα που περιλαμβάνει υποκείμενα extension ή restriction:
- extension - Προστατεύει τον στοιχείο από την αντικατάσταση μέσω επέκτασης.
- restriction - Προστατεύει τον στοιχείο από την αντικατάσταση μέσω εξειδίκευσης.
- #all - Προστατεύει τον στοιχείο από την αντικατάσταση από οποιοδήποτε εξειδικευμένο στοιχείο.
Οποιαδήποτε ιδιότητες
Οプション. Ορίζει οποιεσδήποτε άλλες ιδιότητες με non-schema namespace.
Παράδειγμα
Παράδειγμα 1
Το παρακάτω παράδειγμα είναι ένα schema που περιέχει τέσσερα απλά στοιχεία: "fname", "lname", "age" και "dateborn", με τύπους string, nonNegativeInteger και date:
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="fname" type="xs:string"/> <xs:element name="lname" type="xs:string"/> <xs:element name="age" type="xs:nonNegativeInteger"/> <xs:element name="dateborn" type="xs:date"/> </xs:schema>
Παράδειγμα 2
Το παρακάτω παράδειγμα είναι ένα schema που περιέχει έναν στοιχείο τύπου "note" με τέσσερις απλά στοιχεία: "to", "from", "heading" και "body":
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="note"> <xs:complexType> <xs:sequence> <xs:element name="to" type="xs:string"/> <xs:element name="from" type="xs:string"/> <xs:element name="heading" type="xs:string"/> <xs:element name="body" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
Παράδειγμα 3
Ο παράδειγμα αυτό είναι το ίδιο με το παράδειγμα 2, αλλά σε αυτό το παράδειγμα επιλέγουμε να χρησιμοποιήσουμε την ιδιότητα ref για να αναφέρεται στο όνομα του στοιχείου:
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="note"> <xs:complexType> <xs:sequence> <xs:element ref="to"/> <xs:element ref="from"/> <xs:element ref="heading"/> <xs:element ref="body"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="to" type="xs:string"/> <xs:element name="from" type="xs:string"/> <xs:element name="heading" type="xs:string"/> <xs:element name="body" type="xs:string"/> </xs:schema>