Στοιχείο '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>