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

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

Το στοιχείο schema ορίζει το ρίζα στοιχείο του schema.

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

Συνάρτηση εμφάνισης μια φορά
Γονικό στοιχείο (χωρίς γονικό στοιχείο)
Περιεχόμενο include, import, annotation, redefine, attribute, attributeGroup, element, group, notation, simpleType, complexType

γλώσσα

<schema
id=ID 
attributeFormDefault=qualified|unqualified
elementFormDefault=qualified|unqualified
blockDefault=(#all|list of (extension|restriction|substitution))
finalDefault=(#all|list of (extension|restriction|list|union))}}
targetNamespace=anyURI
version=token
xmlns=anyURI
any attributes
>
((include|import|redefine|annotation)*,(((simpleType|complexType|
(group|attributeGroup)|element|attribute|notation),annotation*)*)
</schema>

attributes

id

Προαιρετικό. Ορίζει το μοναδικό ID του στοιχείου.

attributeFormDefault

Προαιρετικό. Η μορφή των χαρακτηριστικών που δηλώνονται στον στόχο του ονόματος του χώρου του schema. Η τιμή πρέπει να είναι μια από τις εξής συμβολοσειρές: "qualified" ή "unqualified". Η προεπιλεγμένη τιμή είναι "unqualified".

  • "unqualified" δείχνει ότι τα χαρακτηριστικά του στόχου του ονόματος του χώρου δεν πρέπει να περιορίζονται από πρόθεμα του ονόματος του χώρου.
  • "qualified" δείχνει ότι τα χαρακτηριστικά του στόχου του ονόματος του χώρου πρέπει να περιορίζονται από προεπιλεγμένο πρόθεμα του ονόματος του χώρου.

elementFormDefault

Προαιρετικό. Η μορφή των στοιχείων που δηλώνονται στον στόχο του ονόματος του χώρου του schema. Η τιμή πρέπει να είναι μια από τις εξής συμβολοσειρές: "qualified" ή "unqualified". Η προεπιλεγμένη τιμή είναι "unqualified".

  • "unqualified" δείχνει ότι τα στοιχεία του στόχου του ονόματος του χώρου δεν πρέπει να περιορίζονται από πρόθεμα του ονόματος του χώρου.
  • "qualified" δείχνει ότι τα στοιχεία του στόχου του ονόματος του χώρου πρέπει να περιορίζονται από προεπιλεγμένο πρόθεμα του ονόματος του χώρου.

blockDefault

Προαιρετικό. Ορίζει την προεπιλεγμένη τιμή του attributes block για τα στοιχεία και τα complexType στο στόχο του ονόματος του χώρου. Το attributes block αποτρέπει την αντικατάσταση του τύπου που αποκτάται από εξαρτώμενους τύπους (ή στοιχεία). Η τιμή μπορεί να περιέχει #all ή μια λίστα που περιλαμβάνει extension, restriction ή substitution:

  • extension - Να αποφεύγεται η χρήση εξαρτώμενων τύπων που επεκτείνουν για την αντικατάσταση του τύπου.
  • restriction - Να αποφεύγεται η χρήση εξαρτώμενων τύπων που περιορίζονται για την αντικατάσταση του τύπου.
  • substitution - Να αποφεύγεται η αντικατάσταση των στοιχείων.
  • #all - Να αποφεύγεται η χρήση όλων των εξαρτώμενων τύπων για την αντικατάσταση του τύπου.

finalDefault

Οπション. Καθορίζει την προεπιλεγμένη τιμή της ιδιότητας final για τα στοιχεία element, simpleType και complexType στο στόχο του schema. Η ιδιότητα final αποτρέπει την προκύψεις των τύπων που καθορίζονται για τα στοιχεία element, simpleType ή complexType. Για τα στοιχεία element και complexType, η τιμή μπορεί να περιέχει #all ή μια λίστα που περιλαμβάνει υποσυνοχές extension ή restriction. Για τα στοιχεία simpleType, η τιμή μπορεί επίσης να περιέχει list και union:

  • extension - Στα προεπιλεγμένα, τα στοιχεία του schema δεν μπορούν να προκύψουν μέσω της επέκτασης. Απαιτείται μόνο για στοιχεία element και complexType.
  • restriction - Προστατεύει από την προκύψεις μέσω της περιορισμού.
  • list - Προστατεύει από την προκύψεις μέσω της λίστας. Απαιτείται μόνο για στοιχεία simpleType.
  • union - Προστατεύει από την προκύψεις μέσω της ένωσης. Απαιτείται μόνο για στοιχεία simpleType.
  • #all - Στα προεπιλεγμένα, τα στοιχεία του schema δεν μπορούν να προκύψουν με οποιονδήποτε τρόπο.

targetNamespace

Η αναφορά URI του χώρου ονομάτων του schema. Μπορεί επίσης να ανατεθεί πρόθεμα στο χώρο ονομάτων. Αν δεν ανατεθεί κανένα πρόθεμα, το στοιχείο schema του χώρου ονομάτων μπορεί να χρησιμοποιηθεί με ανεπιφύλακτες αναφορές.

version

Οπション. Καθορίζει την έκδοση του schema.

xmlns

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

any attributes

Οπション. Καθορίζει οποιεσδήποτε άλλες ιδιότητες με το non-schema χώρο ονομάτων.

Παράδειγμα

Παράδειγμα 1

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="values" type="xs:string">
</xs:schema>

Παράδειγμα 2

Σε αυτό το παράδειγμα, το στοιχείο schema στο χώρο ονομάτων http://www.w3.org/2001/XMLSchema δεν είναι περιορισμένο, ενώ το http://www.codew3c.com/codew3cschema (mystring) είναι περιορισμένο μέσω του πρόθεμα wsc:

<?xml version="1.0"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:wsc="http://www.codew3c.com/codew3cschema"
<element name="fname" type="wsc:mystring"/>
</schema>