XML Schema attribute element

Definition and Usage

The attribute element defines an attribute.

Element Information

Occurrence Defined once in the schema element. Referenced multiple times in complex types or attribute groups.
Parent Element attributeGroup, schema, complexType, restriction (simpleContent), extension (simpleContent), restriction (complexContent), extension (complexContent)
Content annotation, simpleType

Syntax

<attribute
default=string
fixed=string
form=qualified|unqualified
id=ID
name=NCName
ref=QName
type=QName
use=optional|prohibited|required
καθεστώτη ιδιοτήτων
>
(annotation?,(simpleType?))
</attribute>

(The question mark symbol indicates that this element can appear zero or one time in the attribute element.)

Attribute

default

Optional. Specifies the default value of the attribute. The default and fixed attributes cannot appear at the same time.

fixed

Optional. Specifies the fixed value of the attribute. The default and fixed attributes cannot appear at the same time.

form

Optional. Specifies the format of the attribute. The default value is the value of the attributeFormDefault attribute of the schema element containing this attribute. It can be set to the following values:

  • “qualified” - Indicates that this attribute must be qualified through a namespace prefix and the non-colon name (NCName) of this attribute.
  • “unqualified” - Indicates that this attribute does not require a namespace prefix and does not need to match the non-colon name (NCName) of this attribute, that is, the local name.

id

Προαιρετικό. Καθορίστε το μοναδικό ID του στοιχείου.

όνομα

Προαιρετικό. Καθορίστε το όνομα της ιδιότητας. Οι ιδιότητες name και ref δεν μπορούν να εμφανίζονται ταυτόχρονα.

αναφορά

Προαιρετικό. Καθορίστε την αναφορά της καθορισμένης ιδιότητας. Οι ιδιότητες name και ref δεν μπορούν να εμφανίζονται ταυτόχρονα. Αν εμφανίζεται το ref, τα στοιχεία simpleType, form και type δεν μπορούν να εμφανιστούν.

τύπος

Προαιρετικό. Καθορίστε τα εσωτερικά δεδομένα ή το απλό τύπο. Η ιδιότητα type μπορεί να εμφανιστεί μόνο όταν το περιεχόμενο δεν περιέχει στοιχείο simpleType.

χρήση

Προαιρετικό. Καθορίστε πώς να χρησιμοποιηθεί η ιδιότητα. Μπορούν να οριστούν οι εξής τιμές:

  • Προαιρετικό - η ιδιότητα είναι προαιρετική και μπορεί να έχει οποιαδήποτε τιμή (προεπιλεγμένη).
  • Δεν επιτρέπεται - η ιδιότητα δεν μπορεί να χρησιμοποιηθεί.
  • Απαιτούμενο - η ιδιότητα είναι απαραίτητη.

καθεστώτη ιδιοτήτων

Προαιρετικό. Καθορίστε οποιεσδήποτε άλλες ιδιότητες με non-schema ονομαστικό χώρο.

Παράδειγμα

Παράδειγμα 1

<xs:attribute name="code">
<xs:simpleType>
  <xs:restriction base="xs:string">
    <xs:pattern value="[A-Z][A-Z]"/>
  </xs:restriction>
</xs:simpleType>
</xs:attribute>

Το παραπάνω παράδειγμα δείχνει ότι η ιδιότητα "code" έχει περιορισμό. Η μοναδτική αποδεκτή τιμή είναι τα δύο γράμματα του αλφαβήτου A-Z.

Παράδειγμα 2

Για να χρησιμοποιήσετε μια υπάρχουσα περιγραφή ιδιότητας σε ένα περίπλοκο τύπο, χρησιμοποιήστε την ιδιότητα ref:

<xs:attribute name="code">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="[A-Z][A-Z]"/>
    </xs:restriction>
  </xs:simpleType>
</xs:attribute>
<xs:complexType name="someComplexType">
  <xs:attribute ref="code"/>
</xs:complexType>

Παράδειγμα 3

Η ιδιότητα μπορεί να έχει προεπιλεγμένη τιμή ή καθορισμένη σταθερή τιμή. Όταν δεν καθορίζεται άλλη τιμή, ορίζεται αυτόματα μια προεπιλεγμένη τιμή για την ιδιότητα. Στο παρακάτω παράδειγμα, η προεπιλεγμένη τιμή είναι "EN":

<xs:attribute name="lang" type="xs:string" default="EN"/>

Όταν δεν καθορίζεται άλλη τιμή, ορίζεται αυτόματα μια σταθερή τιμή για την ιδιότητα. Ωστόσο, διαφορετικά από την προεπιλεγμένη τιμή, αν καθορίζετε μια τιμή εκτός από τη σταθερή τιμή για την ιδιότητα, το έγγραφο θα επικυρώσει ως μη έγκυρο. Στο παρακάτω παράδειγμα, η σταθερή τιμή είναι "EN":

<xs:attribute name="lang" type="xs:string" fixed="EN"/>

Παράδειγμα 4

所有属性默认都是可选的。如需明确地规定属性为可选,请使用 "use" 属性:

<xs:attribute name="lang" type="xs:string" use="optional"/>

使属性成为必需的属性:

<xs:attribute name="lang" type="xs:string" use="required"/>