Αυτό το άρθρο εξηγεί πώς να γράψετε καλά σχηματισμένο XML δείχνοντας ένα παράδειγμα. Το ενημερωτικό δελτίο Web Writer γράφεται χρησιμοποιώντας μια μορφή XML. το ονομάζουμε AML ή About Markup Language. Ενώ αυτό είναι ένα έγγραφο εργασίας, δεν είναι ένα καλά διαμορφωμένο ή έγκυρο έγγραφο XML.
Καλά διαμορφωμένο
Υπάρχουν ορισμένοι συγκεκριμένοι κανόνες για τη δημιουργία ενός καλά σχηματισμένου εγγράφου XML:
- Η δήλωση XML πρέπει να είναι πρώτη σε κάθε έγγραφο.
- Τα σχόλια δεν είναι έγκυρα μέσα σε μια ετικέτα. Τα σχόλια ενδέχεται να μην περιέχουν δύο ενωτικά στη σειρά, εκτός από την αρχή και το τέλος του σχολίου.
- Για παράδειγμα, οι ετικέτες πρέπει να έχουν τελική ετικέτα ή να είναι κλειστές μέσα στην ίδια την ετικέτα.
- Όλα τα χαρακτηριστικά των ετικετών πρέπει να αναφέρονται, κατά προτίμηση διπλά εισαγωγικά, εκτός εάν το ίδιο το χαρακτηριστικό περιέχει διπλό εισαγωγικό.
- Κάθε έγγραφο XML πρέπει να περιέχει ένα στοιχείο που περιέχει εντελώς όλα τα άλλα στοιχεία.
Υπάρχουν μόνο δύο προβλήματα με το έγγραφο που το καθιστούν μη διαμορφωμένο:
- Το πρώτο πράγμα που χρειάζεται το έγγραφο AML είναι μια δήλωση δήλωσης XML.
- Το άλλο πρόβλημα είναι ότι κανένα στοιχείο δεν περικλείει πλήρως όλα τα άλλα στοιχεία. Για να το διορθώσουμε, θα προσθέσουμε ένα εξωτερικό στοιχείο κοντέινερ:
Κάνοντας αυτές τις δύο απλές αλλαγές (και διασφαλίζοντας ότι όλα τα στοιχεία περιέχουν μόνο CDATA) θα μετατραπεί το μη καλά σχηματισμένο έγγραφο σε ένα καλά σχηματισμένο έγγραφο. Ένα έγκυρο έγγραφο XML επικυρώνεται έναντι ορισμού τύπου εγγράφου (DTD) ή σχήματος XML. Πρόκειται για ένα σύνολο κανόνων που έχουν δημιουργηθεί από τον προγραμματιστή ή από έναν οργανισμό τυποποίησης που ορίζει τη σημασιολογία του εγγράφου XML. Αυτά λένε στον υπολογιστή τι να κάνει με τη σήμανση. Στην περίπτωση της γλώσσας About Markup, δεδομένου ότι δεν είναι μια τυπική γλώσσα XML, όπως το XHTML ή το SMIL, το DTD θα δημιουργηθεί από τον προγραμματιστή. Αυτό το DTD πιθανότατα να βρίσκεται στον ίδιο διακομιστή με το έγγραφο XML και να αναφέρεται στην κορυφή του εγγράφου. Πριν ξεκινήσετε να αναπτύσσετε ένα DTD ή σχήμα για τα έγγραφά σας, θα πρέπει να συνειδητοποιήσετε ότι απλά μέσω της σωστής διαμόρφωσης, ένα έγγραφο XML είναι αυτο-περιγραφόμενο και συνεπώς δεν χρειάζεται DTD. Για παράδειγμα, με το καλά διαμορφωμένο έγγραφο AML, υπάρχουν οι ακόλουθες ετικέτες:
Εάν είστε εξοικειωμένοι με το ενημερωτικό δελτίο του Web Writer, ενδέχεται να αναγνωρίσετε τις διάφορες ενότητες του ενημερωτικού δελτίου. Αυτό καθιστά πολύ εύκολο να δημιουργήσετε νέα έγγραφα XML χρησιμοποιώντας την ίδια τυπική μορφή. Θα τοποθετούσαμε πάντα τον τίτλο πλήρους μήκους στην ετικέτα και τη διεύθυνση URL της πρώτης ενότητας στην ετικέτα.
DTDs
Εάν απαιτείται να γράψετε ένα έγκυρο έγγραφο XML, είτε για να χρησιμοποιήσετε τα δεδομένα είτε για να το επεξεργαστείτε, θα το συμπεριλάβατε στο έγγραφό σας με την ετικέτα. Σε αυτήν την ετικέτα, ορίζετε τη βασική ετικέτα XML στο έγγραφο και τη θέση του DTD (συνήθως ένα URI Ιστού). Για παράδειγμα: Ένα ωραίο πράγμα για τις δηλώσεις DTD είναι ότι μπορείτε να δηλώσετε ότι ένα DTD είναι τοπικό στο σύστημα όπου το έγγραφο XML είναι με το «SYSTEM.» Μπορείτε επίσης να επισημάνετε ένα δημόσιο DTD, όπως με ένα έγγραφο HTML 4.0: Όταν χρησιμοποιείτε και τα δύο, λέτε στο έγγραφο να χρησιμοποιήσει ένα συγκεκριμένο DTD (το δημόσιο αναγνωριστικό) και πού να το βρει (το αναγνωριστικό συστήματος). Τέλος, μπορείτε να συμπεριλάβετε ένα εσωτερικό DTD απευθείας στο έγγραφο, μέσα στην ετικέτα DOCTYPE. Για παράδειγμα (αυτό δεν είναι πλήρες DTD για το έγγραφο AML):
Σχήμα XML
Για να δημιουργήσετε ένα έγκυρο έγγραφο XML, μπορείτε επίσης να χρησιμοποιήσετε ένα έγγραφο σχήματος XML για να ορίσετε το XML σας. Το σχήμα XML είναι ένα έγγραφο XML που περιγράφει έγγραφα XML. Μάθετε πώς να γράφετε ένα σχήμα.
Σημείωση
Δεν αρκεί απλώς η επισήμανση ενός σχήματος DTD ή XML. Το XML που υπάρχει στο έγγραφο πρέπει να ακολουθεί τους κανόνες του DTD ή του σχήματος. Η χρήση ενός προγράμματος ανάλυσης επικύρωσης είναι ένας απλός τρόπος για να ελέγξετε ότι η XML σας ακολουθεί τους κανόνες DTD. Μπορείτε να βρείτε πολλούς τέτοιους αναλυτές στο διαδίκτυο.