XML Schema 'anyAttribute' element

Definition and usage

The 'anyAttribute' element allows the creator to extend the XML document with attributes not specified by the schema.

element information

item description
occurrence unrestricted
parent element complexType, restriction (simpleContent), extension (simpleContent), restriction (complexContent), extension (complexContent), attributeGroup
Περιεχόμενο σημείωση

Γλώσσα

<anyAttribute
id=ID
namespace=namespace
processContents=lax|skip|strict
οποιαδήποτε ιδιότητες
>
(σημείωση?)
</anyAttribute>

(? ο σύμβολος δηλώνει ότι το στοιχείο μπορεί να εμφανιστεί μηδέν ή μία φορά μέσα στο στοιχείο anyAttribute.)

Ιδιότητες

id

Οπション. Καθορίζει το μοναδικό ID του στοιχείου.

namespace

Οπション. Καθορίζει τον ονομαστικό χώρο που περιέχει τα στοιχεία που μπορούν να χρησιμοποιηθούν. Αν δεν καθοριστεί ο ονομαστικός χώρος, η προεπιλεγμένη τιμή είναι ##any. Αν καθοριστεί ο ονομαστικός χώρος, πρέπει να είναι μία από τις παρακάτω τιμές.

  • ##any - Οποιοδήποτε στοιχείο από οποιονδήποτε ονομαστικό χώρο μπορεί να εμφανιστεί (προεπιλεγμένο).
  • ##other - Οποιαδήποτε άλλη ιδιότητα από τον ονομαστικό χώρο του γονικού στοιχείου μπορούν να εμφανιστούν.
  • ##local - Τα στοιχεία που δεν ορίζονται από ονομαστικό χώρο μπορούν να εμφανιστούν.
  • ##targetNamespace - Τα στοιχεία από τον ονομαστικό χώρο του γονικού στοιχείου που περιέχει το στοιχείο μπορούν να εμφανιστούν.
  • Λίστα αναφορών URI των ονομαστικών χώρων, ##targetNamespace, ##local - Τα στοιχεία από τη λίστα των ονομαστικών χώρων που διαχωρίζονται με κενά μπορούν να εμφανιστούν. Η λίστα μπορεί να περιέχει τα εξής: Οι αναφορές URI των ονομαστικών χώρων ##targetNamespace και ##local.

processContents

Οπション. Ένας δείκτης που δείχνει πώς η εφαρμογή ή ο επεξεργαστής XML πρέπει να επεξεργαστεί την επαλήθευση του XML έγγραφου με βάση το στοιχείο που καθορίζει το any. Αν δεν καθοριστεί η ιδιότητα processContents, η προεπιλεγμένη τιμή είναι strict. Αν καθοριστεί η processContents, πρέπει να είναι μία από τις παρακάτω τιμές.

  • strict - Ο επεξεργαστής XML πρέπει να αποκτήσει την απαιτούμενη αρχιτεκτονική του ονομαστικού χώρου και να επαληθεύσει όλα τα στοιχεία από αυτούς τους ονομαστικούς χώρους. (Προεπιλεγμένο)
  • lax - Αυτό είναι το ίδιο με το strict; αλλά, ακόμα και αν δεν μπορεί να αποκτηθεί η αρχιτεκτονική, δεν θα συμβεί κανένα σφάλμα.
  • skip - Ο επεξεργαστής XML δεν δοκιμάζει την επαλήθευση όλων των στοιχείων από τον καθορισμένο ονομαστικό χώρο.

οποιαδήποτε ιδιότητες

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

Παράδειγμα

Η παρακάτω παράδειγμα δείχνει μια δήλωση για το στοιχείο "person". Χρησιμοποιώντας το στοιχείο <anyAttribute>, ο δημιουργός μπορεί να προσθέσει οποιοδήποτε αριθμό ιδιοτήτων στο στοιχείο "person":

<xs:element name="person">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="firstname" type="xs:string"/>
      <xs:element name="lastname" type="xs:string"/>
    </xs:sequence>
    <xs:anyAttribute/>
  </xs:complexType>
</xs:element>