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>