XML Schema στοιχείο anyAttribute

Ορισμός και χρήση

Το στοιχείο anyAttribute επιτρέπει στον δημιουργό να επεκτείνει το έγγραφο XML μέσω ιδιοτήτων που δεν καθορίζονται από το schema.

πληροφορίες στοιχείου

έργο επεξήγηση
έμφανιση χωρίς περιορισμούς
γενική στοιχεία complexType, restriction (simpleContent), extension (simpleContent), restriction (complexContent), extension (complexContent), attributeGroup
περιεχόμενο annotation

γλώσσα

<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>