Στοιχείο 'any' του XML Schema

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

Το στοιχείο 'any' επιτρέπει την εμφάνιση οποιουδήποτε στοιχείου από τη καθορισμένη περιοχή ονομάτων μέσα σε στοιχεία 'sequence' ή 'choice'.

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

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

Ενότητα Περιγραφή
Φορές εμφάνισης Απεριόριστο
Γονικό στοιχείο choice, sequence
Περιεχόμενο annotation

Γλώσσα

<any
id=ID
maxOccurs=nonNegativeInteger|unbounded
minOccurs=nonNegativeInteger
namespace=namespace
processContents=lax|skip|strict
any attributes
>
(annotation?)
</any>

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

Αντικείμενο

id

Επιλογή. Καθορίζει το μοναδικό ID του στοιχείου.

maxOccurs

Επιλογή. Καθορίζει το μέγιστο αριθμό φορών που μπορεί να εμφανιστεί το στοιχείο 'any' μέσα στο γονικό στοιχείο. Ο αριθμός αυτός μπορεί να είναι ακέραιος μεγαλύτερος ή ίσος με το 0. Αν δεν θέλετε να θέσετε καμία περιοριστική τιμή για τον μέγιστο αριθμό φορών, χρησιμοποιήστε τη συμβολοσειρά "unbounded". Η προεπιλεγμένη τιμή είναι 1.

minOccurs

Οπциона. Ορίζει το ελάχιστο αριθμό φορών που μπορεί να εμφανιστεί το στοιχείο <any> στο γονικό στοιχείο. Η τιμή μπορεί να είναι ακέραιος μεγαλύτερος ή ίσος με το 0. Για να καθοριστεί ότι η ομάδα <any> είναι προαιρετική, ρυθμίστε αυτή την ιδιότητα σε 0. Η προεπιλεγμένη τιμή είναι 1.

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 δεν δοκιμάζει την επαλήθευση όλων των στοιχείων από τον καθορισμένο ονομαστικό χώρο.

any attributes

Οπциона. Ορίζει οποιαδήποτε άλλη ιδιότητα με non-schema ονομαστικό χώρο.

Παράδειγμα

Η παρακάτω παράδειγμα παρουσιάζει μια αναφορά του στοιχείου "person". Χρησιμοποιώντας το στοιχείο <any>, ο δημιουργός μπορεί να επεκτείνει το περιεχόμενο του "person" με οποιοδήποτε στοιχείο (μετά το <lastname>):

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