Βίντεο: Πώς χρησιμοποιούμε WSDL και JSP για να δούμε τον καιρό; 2024
Ένα έγγραφο XML μπορεί να έχει DTD, που εξηγεί ακριβώς ποια στοιχεία μπορούν να εμφανιστούν ένα έγγραφο XML και με ποια σειρά μπορούν να εμφανιστούν τα στοιχεία. Το DTD σημαίνει Ορισμός Τύπου εγγράφου, αλλά αυτό δεν θα είναι στη δοκιμή.
Ένα DTD για ένα έγγραφο XML για ταινίες, για παράδειγμα, μπορεί να καθορίζει ότι κάθε στοιχείο
Ταινία
πρέπει να έχει υποστοιχεία
Τίτλος
και
Τιμή
έτος
. Μπορεί επίσης να καθορίσει ότι το στοιχείο ρίζας πρέπει να ονομάζεται
Ταινίες
και να αποτελείται από οποιοδήποτε αριθμό στοιχείων
Ταινία
.
Ταινίες
XML που περιέχει δύο τίτλους για μια ταινία, για παράδειγμα, μπορείτε να χρησιμοποιήσετε το DTD για να ανιχνεύσετε το σφάλμα.
Μπορείτε να αποθηκεύσετε το DTD για ένα έγγραφο XML στο ίδιο αρχείο με τα δεδομένα XML, αλλά πιο συχνά, αποθηκεύετε το DTD σε ένα ξεχωριστό αρχείο. Με αυτόν τον τρόπο, μπορείτε να χρησιμοποιήσετε ένα DTD για να καθορίσετε τη μορφή πολλών εγγράφων XML του ίδιου τύπου. Για να δηλώσετε το όνομα του αρχείου που περιέχει το DTD, προσθέτετε μια δήλωση
στο έγγραφο XML. Ακολουθεί ένα παράδειγμα:
Ταινίες
, του οποίου το DTD βρίσκεται στο αρχείο
. dtd
. Προσθέστε αυτήν την ετικέτα κοντά στην αρχή των ταινιών
. xml
, αμέσως μετά την ετικέτα
.
Αυτός ο κωδικός εμφανίζει ένα αρχείο DTD για τις ταινίες
. αρχείο xml
.
είναι η εξής:
στοιχείο
(περιεχόμενο)> Χρησιμοποιήστε τους κανόνες που αναφέρονται εδώ για να εκφράσετε το περιεχόμενο. Καθορισμός στοιχείου Περιεχόμενο
Περιεχόμενο
στοιχείο * | Το καθορισμένο στοιχείο μπορεί να εμφανιστεί 0 ή περισσότερες φορές. |
element +
|
Το καθορισμένο στοιχείο μπορεί να εμφανιστεί 1 ή περισσότερες φορές. |
στοιχείο;
|
Το καθορισμένο στοιχείο μπορεί να εμφανιστεί 0 ή 1 φορά. |
element1 | element2
|
Μπορεί να εμφανιστεί είτε στοιχείο |
element1
|
είτε
element2
.
στοιχείο1, στοιχείο2
στοιχείο1 |
, ακολουθούμενο από
|
στοιχείο2
.
#PCDATA
Τα δεδομένα κειμένου επιτρέπονται. |
ΟΠΟΙΟΔΗΠΟΤΕ
|
Επιτρέπονται όλα τα στοιχεία παιδιού. |
EMPTY
|
Δεν επιτρέπονται εξαρτήματα παιδιού οποιουδήποτε τύπου. |
Η πρώτη ετικέτα
|
ELEMENT |
στην παραπάνω DTD, για παράδειγμα, λέει ότι ένα στοιχείο
Ταινίες
αποτελείται από μηδέν ή περισσότερα στοιχεία
Ταινία
.Η δεύτερη ετικέτα
ELEMENT
λέει ότι ένα στοιχείο
Ταινία
αποτελείται από ένα στοιχείο
Τίτλος
ακολουθούμενο από ένα στοιχείο
Τιμή
. Η τρίτη και η τέταρτη ετικέτα
ELEMENT
αναφέρουν ότι τα στοιχεία
Τίτλος
και
Τιμή
αποτελούνται από δεδομένα κειμένου.
Αν αυτή η συμβολική εμφάνιση φαίνεται ασαφώς οικεία, αυτό συμβαίνει επειδή προέρχεται από κανονικές εκφράσεις.
Η ετικέτα
ATTLIST
παρέχει το όνομα κάθε χαρακτηριστικού. Η γενική του μορφή είναι αυτή:
στοιχείο
ορίζει το στοιχείο του οποίου η ετικέτα μπορεί να εμφανιστεί στο χαρακτηριστικό. χαρακτηριστικό παρέχει το όνομα του χαρακτηριστικού.
type
-
καθορίζει τι μπορεί να εμφανιστεί ως τιμή του χαρακτηριστικού. Ο τύπος
-
μπορεί να είναι οποιοδήποτε από τα στοιχεία που παρατίθενται σε αυτόν τον πίνακα.
προεπιλογή -
παρέχει μια προεπιλεγμένη τιμή και υποδεικνύει εάν το χαρακτηριστικό είναι υποχρεωτικό ή προαιρετικό.
μπορεί να είναι οποιοδήποτε από τα στοιχεία που παρατίθενται στον παρακάτω πίνακα.
Τύποι Χαρακτηριστικών -
Στοιχείο
Η τιμή του Χαρακτήρα …CDATA
Μπορεί να είναι οποιαδήποτε συμβολοσειρά χαρακτήρων.
Μπορεί να είναι μία από τις καταχωρημένες συμβολοσειρές. | NMTOKEN |
Πρέπει να είναι
|
token |
, που είναι μια συμβολοσειρά που αποτελείται από γράμματα και αριθμούς.
|
NMTOKENS |
Πρέπει να είναι ένα ή περισσότερα μάρκες ονομάτων που χωρίζονται από λευκό κενό.
|
ID Είναι ένα διακριτικό ονόματος που πρέπει να είναι μοναδικό. Με άλλα λόγια, κανένα άλλο στοιχείο του εγγράφου δεν μπορεί να έχει την ίδια τιμή για αυτό το χαρακτηριστικό. IDREF |
Πρέπει να είναι η ίδια με την τιμή
|
ID |
που χρησιμοποιείται αλλού στο έγγραφο.
|
IDREFS |
Είναι μια λίστα τιμών
|
IDREF
που διαχωρίζονται από λευκό κενό.
|
Ελέγξτε εδώ την προεπιλεγμένη ιδιότητα.
|
Προεπιλογές ιδιοτήτων
Προεπιλογή
Προαιρετικό ή Απαιτείται; |
Απαιτείται.
Προαιρετικό. | τιμή |
Προαιρετικό. Αυτή η τιμή χρησιμοποιείται εάν το χαρακτηριστικό παραλείπεται.
|
#FIXED τιμή |
Προαιρετικό. Εάν περιλαμβάνεται, ωστόσο, πρέπει να είναι αυτή η τιμή και αν παραλειφθεί, αυτή η τιμή χρησιμοποιείται από προεπιλογή.
|
|
Ακολουθεί η δήλωση ετικέτας
|
ATTLIST |
από ταινίες
|
. dtd |
Αυτή η δήλωση υποδεικνύει ότι το χαρακτηριστικό πηγαίνει με το στοιχείο
Ταινία
, ονομάζεται
έτος
, μπορεί να είναι οποιοδήποτε είδος δεδομένων και απαιτείται.
Εδώ υπάρχει μια ετικέτα
ATTLIST
που καθορίζει μια λίστα πιθανών τιμών μαζί με μια προεπιλογή:
Αυτή η φόρμα της ετικέτας
ATTLIST
σας επιτρέπει να δημιουργήσετε ένα χαρακτηριστικό παρόμοιο με μια απαρίθμηση, με κατάλογο αποδεκτών τιμών.