Μετατροπή ενός αρχείου XML σε καλά διαμορφωμένο

Μάθετε πώς να γράφετε καλά διαμορφωμένο και έγκυρο XML

Μερικές φορές είναι πιο εύκολο να καταλάβετε πώς να γράφετε καλά μορφοποιημένη XML βλέποντας ένα παράδειγμα. Το ενημερωτικό δελτίο του Web Writer γράφεται με τη μορφή XML - το ονομάζω AML ή Σχετικά με τη Γλώσσα Σήμανσης (βλ. Σχήμα!). Αν και αυτό είναι ένα έγγραφο εργασίας, δεν είναι στην πραγματικότητα ένα καλά διαμορφωμένο ή έγκυρο έγγραφο XML.

Καλά διαμορφωμένο

Υπάρχουν ορισμένοι ειδικοί κανόνες για τη δημιουργία ενός καλά μορφοποιημένου εγγράφου XML:

Υπάρχουν μόνο δύο προβλήματα με το έγγραφο που δεν το κάνουν καλά διαμορφωμένο:

Το πρώτο πράγμα που χρειάζεται το έγγραφο AML είναι μια δήλωση XML δήλωσης.

Το άλλο πρόβλημα είναι ότι δεν υπάρχει κανένα στοιχείο που να καλύπτει εντελώς όλα τα άλλα στοιχεία. Για να διορθώσω αυτό, θα προσθέσω ένα εξωτερικό στοιχείο κοντέινερ:

Κάνοντας αυτές τις δύο απλές αλλαγές (και διασφαλίζοντας ότι όλα τα στοιχεία περιέχουν μόνο CDATA) θα μετατρέψει το μη καλά διαμορφωμένο έγγραφο σε ένα καλά διαμορφωμένο έγγραφο.

Ένα έγκυρο έγγραφο XML επικυρώνεται σε σχέση με ένα ορισμό τύπου εγγράφου (DTD) ή ένα σχήμα XML. Αυτά είναι ένα σύνολο κανόνων που δημιουργούνται από τον προγραμματιστή ή από έναν οργανισμό τυποποίησης που ορίζει τη σημασιολογία του εγγράφου XML. Αυτά λένε στον υπολογιστή τι πρέπει να κάνει με τη σήμανση.

Στην περίπτωση της γλώσσας Σχετικά με τη σήμανση, επειδή δεν είναι μια τυπική γλώσσα XML, όπως η XHTML ή η SMIL, το DTD θα δημιουργηθεί από τον προγραμματιστή. Αυτό το DTD θα ήταν πιθανότατα στον ίδιο διακομιστή με το έγγραφο XML και αναφέρθηκε στην κορυφή του εγγράφου.

Πριν ξεκινήσετε την ανάπτυξη ενός DTD ή ενός Σχήματος για τα έγγραφά σας, θα πρέπει να συνειδητοποιήσετε ότι απλά επειδή είναι καλά διαμορφωμένο, ένα έγγραφο XML περιγράφει αυτόματα και επομένως δεν χρειάζεται DTD.

Για παράδειγμα, με το καλά διαμορφωμένο έγγραφο AML, υπάρχουν οι ακόλουθες ετικέτες:

  • <όνομα_αρχείου>

Εάν γνωρίζετε το ενημερωτικό δελτίο του Web Writer, μπορείτε να αναγνωρίσετε τα διάφορα τμήματα του ενημερωτικού δελτίου. Αυτό καθιστά πολύ εύκολη τη δημιουργία νέων εγγράφων XML χρησιμοποιώντας την ίδια τυποποιημένη μορφή. Ξέρω ότι θα έβαζα πάντα τον πλήρη τίτλο στην ετικέτα και την πρώτη διεύθυνση URL στην ετικέτα.

DTDs

Αν απαιτείται να γράψετε ένα έγκυρο έγγραφο XML, είτε για να χρησιμοποιήσετε τα δεδομένα είτε για να τα επεξεργαστείτε, θα το συμπεριλάβατε στο έγγραφο με την ετικέτα. Σε αυτήν την ετικέτα, ορίζετε την ετικέτα βάσης XML στο έγγραφο και τη θέση του DTD (συνήθως ένα URI Web). Για παράδειγμα:

Ένα καλό πράγμα για τις δηλώσεις DTD είναι ότι μπορείτε να δηλώσετε ότι ένα DTD είναι τοπικό στο σύστημα όπου το έγγραφο XML είναι με το "SYSTEM". Μπορείτε επίσης να δείξετε ένα δημόσιο DTD, όπως ένα έγγραφο HTML 4.0:

Όταν χρησιμοποιείτε και τα δύο, λέτε στο έγγραφο να χρησιμοποιεί ένα συγκεκριμένο DTD (το δημόσιο αναγνωριστικό) και πού θα το βρει (το αναγνωριστικό συστήματος).

Τέλος, μπορείτε να συμπεριλάβετε ένα εσωτερικό DTD απευθείας στο έγγραφο, μέσα στην ετικέτα DOCTYPE. Για παράδειγμα (αυτό δεν είναι πλήρες DTD για το έγγραφο AML):

! ENTITY meta_keywords (#PCDATA)> ]>

Σχήμα XML

Για να δημιουργήσετε ένα έγκυρο έγγραφο XML, μπορείτε επίσης να χρησιμοποιήσετε ένα έγγραφο XML Schema για να ορίσετε τη XML. Το XML Schema είναι ένα έγγραφο XML που περιγράφει έγγραφα XML. Μάθετε πώς να γράφετε ένα σχήμα.

Σημείωση

Απλά η επισήμανση ενός σχήματος DTD ή XML δεν αρκεί. Η XML που βρίσκεται στο έγγραφο πρέπει να ακολουθεί τους κανόνες του DTD ή του Schema. Η χρήση ενός παραμέτρου επικύρωσης είναι ένας απλός τρόπος για να ελέγξετε ότι η XML σας ακολουθεί τους κανόνες DTD. Μπορείτε να βρείτε πολλούς τέτοιους parsers online.