XML Schema element element
Definition and usage
The element defines an element.
element information
occurrence | the number of elements defined in the schema. |
parent element | schema, choice, all, sequence |
content | simpleType, complexType, key, keyref, unique |
grammar
<element id=ID name=NCName ref=QName type=QName substitutionGroup=QName default=string fixed=string form=qualified|unqualified maxOccurs=nonNegativeInteger|unbounded minOccurs=nonNegativeInteger nillable=true|false abstract=true|false block=(#all|list of (extension|restriction)) final=(#all|list of (extension|restriction)) Οποιαδήποτε ιδιότητες > annotation?,((simpleType|complexType)?,(unique|key|keyref)*)) </element>
(? Σύμβολο declaration στο στοιχείο element, το στοιχείο αυτό μπορεί να εμφανιστεί μηδέν ή μια φορά, * Σύμβολο declaration στο στοιχείο μπορεί να εμφανιστεί μηδέν ή πολλές φορές.)
Attributes
id
Επιλογή. Καθορίζει το μοναδικό ID του στοιχείου.
name
Επιλογή. Καθορίζει το όνομα του στοιχείου. Αν το γονικό στοιχείο είναι το στοιχείο schema, αυτή η ιδιότητα είναι απαραίτητη.
ref
Επιλογή. Αναφορά σε ένα άλλο στοιχείο. Η ιδιότητα ref μπορεί να περιέχει πρόθεμα ονόματος χώρου. Αν το γονικό στοιχείο είναι το στοιχείο schema, δεν χρησιμοποιείται αυτή η ιδιότητα.
type
Επιλογή. Καθορίζει το όνομα του ενσωματωμένου τύπου δεδομένων ή το όνομα του στοιχείου simpleType ή complexType.
substitutionGroup
Επιλογή. Καθορίζει το όνομα του στοιχείου που μπορεί να αντικαταστήσει το στοιχείο αυτό. Το στοιχείο πρέπει να έχει τον ίδιο τύπο ή να προέρχεται από τον τύπο του στοιχείου που καθορίζεται.
Αν το γονικό στοιχείο δεν είναι το στοιχείο schema, δεν μπορεί να χρησιμοποιηθεί αυτή η ιδιότητα.
default
Επιλογή. Καθορίζει προεπιλεγμένη τιμή για το στοιχείο (χρησιμοποιείται μόνο όταν το περιεχόμενο του στοιχείου είναι απλό τύπο ή textOnly).
fixed
Επιλογή. Καθορίζει σταθερή τιμή για το στοιχείο (χρησιμοποιείται μόνο όταν το περιεχόμενο του στοιχείου είναι απλό τύπο ή textOnly).
form
Επιλογή. Η μορφή του στοιχείου. Η προεπιλεγμένη τιμή είναι η τιμή του attributes elementFormDefault του στοιχείου schema που περιέχει την ιδιότητα αυτή. Η τιμή πρέπει να είναι μια από τις παρακάτω συμβολοσειρές: "qualified" ή "unqualified".
如果父元素是 schema 元素,则不能使用该属性。
- Αν η τιμή είναι "unqualified", τότε δεν χρειάζεται να περιοριστεί το στοιχείο με πρόθεμα ονόματος χώρου.
- Αν η τιμή είναι "qualified", τότε πρέπει να περιοριστεί το στοιχείο με πρόθεμα ονόματος χώρου.
maxOccurs
Επιλογή. Καθορίζει το μέγιστο αριθμό εμφάνισης του στοιχείου element στο γονικό στοιχείο. Ο αριθμός αυτό μπορεί να είναι ακέραιος μεγαλύτερος ή ίσος με το μηδέν. Αν δεν θέλετε να θέσετε περιορισμό στον μέγιστο αριθμό, χρησιμοποιήστε τη συμβολοσειρά "unbounded". Η προεπιλεγμένη τιμή είναι 1.
如果父元素是 schema 元素,则不能使用该属性。
minOccurs
可选。规定 element 元素在父元素中可出现的最小次数。该值可以是大于或等于零的整数。默认值为 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,则元素不能出现在实例文档中。 相反,substitutionGroup 属性包含该元素的限定名 (QName) 的其他元素必须出现在该元素的位置。多个元素可以在其 substitutionGroup 属性中引用该元素。默认值是 false。
block
可选。派生的类型。 block 属性防止具有指定派生类型的元素被用于替代该元素。该值可以包含 #all 或者一个列表,该列表是 extension、restriction 或 substitution 的子集:
- extension - 防止通过扩展派生的元素被用来替代该元素。
- restriction - 防止通过限制派生的元素被用来替代该元素。
- substitution - 防止通过替换派生的元素被用来替代该元素。
- #all - 防止所有派生的元素被用来替代该元素。
final
可选。设置 element 元素上 final 属性的默认值。如果父元素不是 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>