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

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

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

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

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

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

Γλώσσα

<any
id=ID
maxOccurs=nonNegativeInteger|unbounded
minOccurs=nonNegativeInteger
namespace=namespace
processContents=lax|skip|strict
οποιαδήποτε ιδιότητες
>
(annotation?)
</any>

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

Συμβατικότητα

id

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

maxOccurs

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

minOccurs

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

namespace

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

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

processContents

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

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

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

προαιρετικό. Καθορίζει οποιαδήποτε άλλη ιδιότητα με μη σχήμα ονομαστικό χώρο.

παράδειγμα

Η παρακάτω παράδειγμα δείχνει μια δήλωση του στοιχείου "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>