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>