Στοιχείο <anyAttribute> XSD
- Προηγούμενη Σελίδα XSD <any>
- Επόμενη Σελίδα Αντικατάσταση στοιχείων XSD
Το στοιχείο <anyAttribute> μας δίνει τη δυνατότητα να επεκτείνουμε το XML έγγραφο με ιδιότητες που δεν καθορίζονται από το σχήμα!
Το στοιχείο <anyAttribute>
Το στοιχείο <anyAttribute> μας δίνει τη δυνατότητα να επεκτείνουμε το XML έγγραφο με ιδιότητες που δεν καθορίζονται από το σχήμα!
Η παρακάτω παράδειγμα είναι ένα κομμάτι από το XML σχήμα με το όνομα "family.xsd". Εμφανίζει μια δήλωση για το στοιχείο "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>
Τώρα, ελπίζουμε να επεκτείνουμε το στοιχείο "person" μέσω της ιδιότητας "gender". Σε αυτή την περίπτωση μπορούμε να το κάνουμε αυτό, ακόμα και αν ο δημιουργός του schema δεν έχει δηλώσει καμία ιδιότητα "gender".
Δείτε αυτό το αρχείο schema, ονομαζόμενο "attribute.xsd":
<?xml version="1.0" encoding="ISO-8859-1"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.codew3c.com" xmlns="http://www.codew3c.com" elementFormDefault="qualified"> <xs:attribute name="gender"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="male|female"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:schema>
Η παρακάτω αυτή η XML (ονομαζόμενη "Myfamily.xml"), χρησιμοποιεί στοιχεία από διαφορετικά schemas, "family.xsd" και "attribute.xsd":
<?xml version="1.0" encoding="ISO-8859-1"?> <persons xmlns="http://www.microsoft.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:SchemaLocation="http://www.microsoft.com family.xsd" http://www.codew3c.com attribute.xsd"> <person gender="female"> <firstname>Jane</firstname> <lastname>Smith</lastname> </person> <person gender="male"> <firstname>David</firstname> <lastname>Smith</lastname> </person> </persons>
Το παρακάτω αρχείο XML είναι έγκυρο επειδή το schema "family.xsd" επιτρέπει την προσθήκη περιattributes στο στοιχείο "person".
Τα στοιχεία <any> και <anyAttribute> μπορούν να χρησιμοποιηθούν για τη δημιουργία επεκτάσιμων εγγράφων! Είναι δυνατό να περιέχουν επιπλέον στοιχεία που δεν έχουν δηλωθεί στο κύριο XML schema.
- Προηγούμενη Σελίδα XSD <any>
- Επόμενη Σελίδα Αντικατάσταση στοιχείων XSD