γλώσσα xml. Σύνταξη XML

ΗΛΕΚΤΡΟΝΙΚΑ ΕΙΔΗ 07.07.2019
ΗΛΕΚΤΡΟΝΙΚΑ ΕΙΔΗ

Όταν χρησιμοποιείτε HTML, τα δεδομένα που εμφανίζονται δεν σχετίζονται λογικά με τις ετικέτες που χρησιμοποιούνται για τη σήμανση, επομένως τα προγράμματα ανάλυσης δεν μπορούν να χρησιμοποιήσουν τις ετικέτες για να βρουν τα επιθυμητά τμήματα του εγγράφου. Επιπλέον, το περιορισμένο σύνολο ετικετών HTML καθιστά δύσκολη τη χρήση για την εμφάνιση εξειδικευμένων πληροφοριών (για παράδειγμα, μαθηματικούς τύπους).

Για την αντικατάσταση της HTML, προτάθηκε η γλώσσα σήμανσης υπερκειμένου XML (Extensible Markup Language). Αυτή η γλώσσα μπορεί να χρησιμοποιηθεί για την περιγραφή της γραμματικής άλλων γλωσσών και για τον έλεγχο της ορθότητας των εγγράφων. Η XML καθορίζει πώς δημιουργούνται οι ετικέτες σήμανσης και διευκολύνει την επέκτασή τους. Αυτό καθιστά δυνατό να ορίσετε τις δικές σας ετικέτες για την αναγνώριση των δεδομένων που περιέχονται στο έγγραφο. Κατά τη δημιουργία μιας δομής εγγράφου, δημιουργούνται συνδέσεις μεταξύ στοιχείων και η σήμανση που είναι απαραίτητη για την εκτέλεση των λειτουργιών προβολής, αναζήτησης και ανάλυσης ενός εγγράφου. Η XML μπορεί να χρησιμοποιηθεί ως γλώσσα ερωτημάτων γενικής χρήσης για χώρους αποθήκευσης πληροφοριών. Έτσι, τα έγγραφα XML μπορούν να λειτουργήσουν ως ένας μοναδικός τρόπος αποθήκευσης δεδομένων, συμπεριλαμβανομένων των μέσων για την ανάλυση πληροφοριών και την παρουσίασή τους.

Η γλώσσα XML έχει προσελκύσει μεγάλη προσοχή από προγραμματιστές και χρήστες του Διαδικτύου. Εμφανίζονται νέες γλώσσες που δημιουργήθηκαν με βάση την XML και εμφανίζονται διακομιστές Ιστού που χρησιμοποιούν αυτήν την τεχνολογία για να οργανώσουν τις πληροφορίες που είναι αποθηκευμένες σε αυτές. Οι πλήρεις προδιαγραφές της XML και των σχετικών γλωσσών είναι διαθέσιμες στην επίσημη σελίδα W3C - www.w3.org

Το έτος γέννησης της XML μπορεί να θεωρηθεί το 1998, όταν εγκρίθηκε η προδιαγραφή γλώσσας. Όλα ξεκίνησαν με την εμφάνιση της γλώσσας SGML το 1986. Παρόλο που η έννοια του υπερκειμένου εισήχθη από τον W. Bush το 1945 και, ξεκινώντας από τη δεκαετία του '60, άρχισαν να εμφανίζονται εφαρμογές που χρησιμοποιούν δεδομένα υπερκειμένου, μια έξαρση δραστηριότητας γύρω από αυτήν την τεχνολογία ξεκίνησε όταν υπήρχε πραγματική ανάγκη για έναν μηχανισμό για το συνδυασμό πολλαπλών πληροφοριών. πόρους, παρέχοντας τη δυνατότητα δημιουργίας, προβολής κειμένου. Χρησιμοποιώντας το SGML, μπορείτε να περιγράψετε δομημένα δεδομένα, να οργανώσετε πληροφορίες που περιέχονται σε έγγραφα και να παρουσιάσετε αυτές τις πληροφορίες σε κάποια τυποποιημένη μορφή. Η γλώσσα SGML προορίζεται για τη δημιουργία άλλων γλωσσών σήμανσης και ορίζει ένα έγκυρο σύνολο ετικετών, τα χαρακτηριστικά τους και την εσωτερική δομή του εγγράφου. Ο έλεγχος της σωστής χρήσης των περιγραφέων πραγματοποιείται χρησιμοποιώντας ένα ειδικό σύνολο κανόνων που ονομάζονται περιγραφές DTD, οι οποίες χρησιμοποιούνται από το πρόγραμμα-πελάτη κατά την ανάλυση του εγγράφου. Για κάθε κατηγορία εγγράφων, ορίζεται το δικό της σύνολο κανόνων που περιγράφουν τη γραμματική της αντίστοιχης γλώσσας σήμανσης. Λόγω όμως της πολυπλοκότητάς του, η SGML έχει χρησιμοποιηθεί κυρίως για την περιγραφή της σύνταξης άλλων γλωσσών, η πιο γνωστή από τις οποίες είναι η HTML.

Η HTML είναι μια απλοποιημένη έκδοση της γλώσσας σήμανσης SGML. Πολύ πιο απλή και πιο βολική από την SGML, η γλώσσα HTML σάς επιτρέπει να προσδιορίζετε τη σχεδίαση των στοιχείων του εγγράφου και έχει ένα συγκεκριμένο περιορισμένο σύνολο οδηγιών - ετικετών, με τη βοήθεια των οποίων πραγματοποιείται η διαδικασία σήμανσης. Οι οδηγίες HTML προορίζονται κυρίως για τον έλεγχο της διαδικασίας εμφάνισης των περιεχομένων ενός εγγράφου στην οθόνη ενός προγράμματος-πελάτη και, ως εκ τούτου, καθορίζουν τον τρόπο παρουσίασης του εγγράφου, αλλά όχι τη δομή του. Το στοιχείο μιας βάσης δεδομένων υπερκειμένου, που περιγράφεται από την HTML, είναι ένα αρχείο κειμένου που μπορεί εύκολα να μεταδοθεί μέσω του δικτύου χρησιμοποιώντας το πρωτόκολλο HTTP. Αυτή η δυνατότητα, καθώς και το γεγονός ότι η HTML είναι ένα ανοιχτό πρότυπο και ένας τεράστιος αριθμός χρηστών έχουν την ευκαιρία να χρησιμοποιήσουν τις δυνατότητες αυτής της γλώσσας για να σχεδιάσουν τα έγγραφά τους, σίγουρα επηρέασαν την αύξηση της δημοτικότητας της HTML και την έκαναν σήμερα την κύρια μηχανισμός για την παρουσίαση πληροφοριών στον Ιστό

Η χρήση της ανάλυσης υπερκειμένου ενός εγγράφου κειμένου στα σύγχρονα συστήματα πληροφοριών οφείλεται σε μεγάλο βαθμό στο γεγονός ότι το υπερκείμενο σας επιτρέπει να δημιουργήσετε έναν μηχανισμό για μη γραμμική προβολή πληροφοριών. Σε τέτοια συστήματα, τα δεδομένα δεν παρουσιάζονται ως μια συνεχής ροή κειμενικών πληροφοριών, αλλά ως ένα σύνολο διασυνδεδεμένων στοιχείων, τα οποία πλοηγούνται χρησιμοποιώντας υπερσυνδέσμους.

Η πιο δημοφιλής γλώσσα σήμανσης υπερκειμένου σήμερα, η HTML, δημιουργήθηκε ειδικά για την οργάνωση πληροφοριών που διανέμονται στο Διαδίκτυο και είναι ένα από τα βασικά στοιχεία της τεχνολογίας WWW. Με τη χρήση του μοντέλου εγγράφου υπερκειμένου, ο τρόπος παρουσίασης διαφόρων πόρων πληροφοριών στο δίκτυο έχει γίνει πιο τακτικός και οι χρήστες έχουν λάβει έναν βολικό μηχανισμό για την αναζήτηση και την προβολή των απαραίτητων πληροφοριών.

Ωστόσο, οι σύγχρονες εφαρμογές απαιτούν όχι μόνο μια γλώσσα για την παρουσίαση δεδομένων στην οθόνη πελάτη, αλλά και έναν μηχανισμό που σας επιτρέπει να προσδιορίσετε τη δομή του εγγράφου και να περιγράψετε τα στοιχεία που περιέχει. Η HTML έχει ένα απλό σύνολο εντολών και αντιμετωπίζει με επιτυχία το έργο της περιγραφής πληροφοριών υπερκειμένου που εμφανίζονται στην οθόνη από ένα πρόγραμμα περιήγησης. Ωστόσο, τα ίδια τα εμφανιζόμενα δεδομένα δεν συσχετίζονται με τις ετικέτες που χρησιμοποιούνται για τη μορφοποίηση, επομένως τα προγράμματα ανάλυσης δεν έχουν τη δυνατότητα να χρησιμοποιούν ετικέτες HTML για να βρουν τα θραύσματα εγγράφων που χρειαζόμαστε. Εκείνοι. έχοντας συναντήσει, για παράδειγμα, μια τέτοια περιγραφή

τριαντάφυλλο,

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

Ένα άλλο σημαντικό μειονέκτημα του HTML είναι το περιορισμένο σύνολο των ετικετών του. Οι κανόνες DTD για την HTML ορίζουν ένα σταθερό σύνολο περιγραφέων και επομένως ο προγραμματιστής δεν έχει την ευκαιρία να εισαγάγει τις δικές του, ειδικές ετικέτες.

Για να συνοψίσουμε όλα όσα έχουν ειπωθεί, μπορεί να υποστηριχθεί ότι η HTML δεν ικανοποιεί πλήρως τις απαιτήσεις που θέτουν οι προγραμματιστές σε γλώσσες αυτού του είδους. Η HTML συμπληρώνει τη γλώσσα σήμανσης υπερκειμένου XML, μια ισχυρή, ευέλικτη και φιλική προς το χρήστη γλώσσα. Ποια είναι τα πλεονεκτήματά του;

Τι είναι το XML;

Ο όρος XML αναφέρεται σε έναν ειδικό τύπο εγγράφου υπερκειμένου. Τι συμβαίνει με τα κανονικά έγγραφα κειμένου και τι το ιδιαίτερο έχουν τα έγγραφα XML;

Σε οποιοδήποτε έγγραφο κειμένου μπορείτε να γράψετε οτιδήποτε και με όποιον τρόπο θέλετε, για παράδειγμα, μπορείτε να βάλετε ένα διάστημα μεταξύ ορισμένων λέξεων και δύο κενά μεταξύ άλλων. Μπορείτε να επισημάνετε μια παράγραφο με μια κόκκινη γραμμή τριών διαστημάτων και μερικές φορές να αφήσετε μια κενή γραμμή μεταξύ παρακείμενων παραγράφων. Μπορείτε να γράψετε τον τίτλο του εγγράφου στην πρώτη γραμμή ή μπορείτε να ξεκινήσετε να γράφετε το έγγραφο με το επώνυμο του συγγραφέα. Αλλά εάν το έγγραφο πρέπει να δημοσιευτεί, τότε θα πρέπει να επαναληφθεί - οι παράγραφοι πρέπει να μορφοποιηθούν με ομοιόμορφο τρόπο, ο τίτλος θα πρέπει να επισημαίνεται από τη γενική αφήγηση ως κενή γραμμή, το επώνυμο του συγγραφέα και μια σύντομη περίληψη μεταξύ του τίτλου και της πρώτης παραγράφου κ.λπ. Με μια λέξη, θα χρειαστεί να προετοιμαστεί το έγγραφο με κάποιο τυπικό τρόπο για αυτή τη δημοσίευση. Και αν χρειαστεί να δημοσιεύσετε αυτό το έγγραφο σε άλλο μέρος, θα χρειαστεί να αλλάξετε και να επαναλάβετε κάτι. Αποδεικνύεται ότι υπάρχει διέξοδος - το XML θα έρθει στη διάσωση!

Στην πραγματικότητα, η XML είναι μια μέθοδος σήμανσης εγγράφων που έχει σχεδιαστεί για να σχηματίζει κάποιο είδος δομής σε έγγραφα και να ορίζει τις σχέσεις μεταξύ των διαφόρων στοιχείων αυτής της δομής. Για τη δημιουργία μιας τέτοιας σήμανσης, χρησιμοποιούνται ειδικές οδηγίες που ονομάζονται ετικέτες. Οι ετικέτες τοποθετούνται μεταξύ των χαρακτήρων< и >. Χάρη στην παρουσία ετικετών, καθίσταται δυνατή η ενοποιημένη αυτόματη επεξεργασία και μορφοποίηση εγγράφων XML. Χάρη στην XML, είναι επίσης δυνατός ο έλεγχος της ορθότητας των δεδομένων που αποθηκεύονται σε έγγραφα, καθώς και η δημιουργία ενός ενιαίου προτύπου για τη δομή των εγγράφων που ενδέχεται να περιέχουν αυθαίρετα δεδομένα. Η XML είναι απαραίτητη κατά την κατασκευή πολύπλοκων πληροφοριακών συστημάτων, στα οποία το ζήτημα της ανταλλαγής πληροφοριών μεταξύ διαφορετικών καταναλωτών είναι πολύ σημαντικό. Χάρη στην XML, μπορείτε να απαλλαγείτε από πολλά προβλήματα που σχετίζονται με ασυμβατότητα μεταξύ διαφορετικών στοιχείων.

Παράδειγμα τυπικού εγγράφου XML

PRIME-TASS

</p><p>Το πρώτο αεροσκάφος παραγωγής «Tu-214» παραγωγής KAPO</p><p>έκανε την πρώτη δοκιμαστική πτήση</p><p>Αεροσκάφος Tu-214, που παράγεται σε σειριακή έκδοση</p><p>στην Ένωση Αεροπορικής Παραγωγής του Καζάν</p><p>/KAPO/, πραγματοποίησε την πρώτη δοκιμαστική πτήση. Σχετικά με</p><p>Αυτό ανέφερε στο PRIME-TASS η Εταιρεία Χρηματοδοτικής Μίσθωσης</p><p>εταιρεία /FLK/.</p><p>Το αεροπλάνο κατασκευάστηκε για την αεροπορική εταιρεία Khabarovsk</p><p>Dalavia βάσει συμφωνίας που συνήφθη το 2000</p><p>έτος μεταξύ Dalavia και FLC, προβλέποντας τη μεταφορά σε</p><p>μίσθωση δύο Tu-214 που παράγονται στην KAPO. Tu-214</p><p>σχεδιασμένο να μεταφέρει 164 επιβάτες σε απόσταση</p><p>7,2 χιλιάδες χιλιόμετρα στις διαδρομές Μόσχα-Χαμπαρόφσκ, καθώς και στην Κορέα</p><p>Το συνολικό κόστος για την προετοιμασία της παραγωγής του αεροσκάφους ανήλθε σε</p><p>1,2 δισεκατομμύρια RUB Ο προϋπολογισμός της χώρας που διατίθεται για αυτούς τους σκοπούς</p><p>μόνο 1,5 εκατομμύρια ρούβλια. Οι προετοιμασίες για την παραγωγή πραγματοποιήθηκαν με έξοδα</p><p>κεφάλαια από τον ΚΑΠΟ και τον προϋπολογισμό του Ταταρστάν, καθώς και το πλήρες</p><p>απαλλαγή της επιχείρησης από δημοκρατικές και τοπικές</p><p>φόρους. Από τον δημοκρατικό προϋπολογισμό για πιστοποίηση</p><p>Για το αεροσκάφος διατέθηκαν 97 εκατομμύρια ρούβλια, καθώς και 275 εκατομμύρια ρούβλια</p><p>για την έναρξη του μηχανισμού χρηματοδοτικής μίσθωσης.</p><p>Το προκαταρκτικό κόστος του Tu-214 είναι 22-25 εκατομμύρια δολάρια.</p><p></InfoItem></p><p></InfoPacket></p> </td> </tr></table><p>Οι δύο πρώτες γραμμές σε αυτό το παράδειγμα πρέπει να υπάρχουν. Η πρώτη γραμμή σημαίνει ότι αυτό το έγγραφο είναι ένα έγγραφο XML και η δεύτερη υποδεικνύει έναν ειδικό πόρο <u>http://xml.prime-tass.ru/dtd/UIF.dtd</u>, το οποίο περιέχει τους κανόνες για τη μορφοποίηση αυτού του εγγράφου XML). Περισσότερες λεπτομερείς πληροφορίες για αυτές τις «μαγικές λέξεις» και περισσότερες μπορείτε να βρείτε στον ιστότοπο <u>http://www.w3.org</u>.</p><p>Οι υπόλοιπες γραμμές έχουν μια σαφώς εκφρασμένη ιεραρχική δομή, στην οποία υπάρχει μία ετικέτα ρίζας <b><InfoPacket> </b>, και οι υπόλοιπες ετικέτες είναι ένθετες μέσα σε αυτό. Όλες αυτές οι ετικέτες έρχονται σε ζεύγη, για παράδειγμα, <b><InfoPacket> </b>Και <b></InfoPacket> </b>, ή <b><Text> </b>Και <b></Text> </b>. Οι πρώτες υποδεικνύουν μια ετικέτα ανοίγματος, οι δεύτερες υποδεικνύουν μια ζευγαρωμένη ετικέτα κλεισίματος. Σε ένα έγγραφο XML, κάθε ετικέτα ανοίγματος πρέπει να έχει μια αντίστοιχη ετικέτα κλεισίματος.</p><p>Ετικέτα <b><InfoPacket> </b>είναι η πιο σημαντική ετικέτα - η ρίζα της ιεραρχικής δομής και προορίζεται για την αποθήκευση άλλων ετικετών που είναι ένθετες μέσα σε αυτήν. Έτσι, αντιπροσωπεύει ένα είδος "φάκελου" ή "περιτυλίγματος" - ένα πακέτο πληροφοριών. Περιέχει ετικέτες <b><Source> </b>, <b><Time> </b>Και <b><InfoItem> </b>. Ετικέτα <b><Source> </b>περιέχει πληροφορίες σχετικά με την πηγή πληροφοριών που περιέχονται σε αυτό το πακέτο πληροφοριών («διεύθυνση αποστολέα»). Στην ετικέτα <b><Time> </b>αναγράφεται ο χρόνος δημιουργίας του πακέτου πληροφοριών («ώρα σφράγισης του φακέλου»). Και τέλος στην ετικέτα <b><InfoItem> </b>υπάρχει το ίδιο το «γράμμα» - το πραγματικό σημασιολογικό περιεχόμενο του πακέτου πληροφοριών. Τι περιέχει αυτό το «γράμμα»; Περιέχει ετικέτες <b><Time> </b>, <b><Title> </b>Και <b><Text> </b>. Στην ετικέτα <b><Time> </b>, φωλιασμένο σε μια ετικέτα <b><InfoItem> </b>υποδεικνύεται όταν γράφτηκε το «γράμμα» μας, δηλ. χρόνος συγγραφής περιεχομένου <b><InfoItem> </b>. Αυτή η ώρα δεν πρέπει να συγχέεται με τη στιγμή της «σφράγισης του φακέλου» (δημιουργία πακέτου πληροφοριών <b><InfoPacket> </b>). Συνήθως γράφουν πρώτα ένα «γράμμα» και μετά «σφραγίζουν τον φάκελο» με αυτό. Παρεμπιπτόντως, εάν υπάρχουν πολλοί παραλήπτες, τότε θα πρέπει να "σφραγίσετε" αρκετούς "φάκελους" με πανομοιότυπα αντίγραφα της "επιστολής". Ή μπορεί να υπάρχει μια κατάσταση όταν πρέπει να βάλετε πολλά "γράμματα" σε έναν φάκελο για έναν παραλήπτη. Σε αυτήν την περίπτωση, θα πρέπει να το τοποθετήσετε μέσα στην ετικέτα <b><InfoPacket> </b>αρκετές ετικέτες <b><InfoItem> </b>. Εκτός από την ετικέτα <b><Time> </b> V <b><InfoItem> </b>περιλαμβάνεται ετικέτα <b><Title> </b>, στο οποίο αναγράφεται ο τίτλος του εγγράφου ή «επιστολή», αν συνεχίσουμε την αναλογία μας. Και τέλος υπάρχει μια ετικέτα <b><Text> </b>, το οποίο εμφανίζεται πολλές φορές μέσα σε μια ετικέτα <b><InfoItem> </b>. Αυτή η ετικέτα <b><Text> </b>απλώς σημαίνει παραγράφους σε ένα έγγραφο.</p><p>Το μόνο που μένει είναι να πούμε τι σημαίνουν οι δίσκοι και σε τι χρειάζονται, όπως π.χ <b>πληκτρολογήστε "ημερομηνία ώρα"</b>ή <b>type="string"</b>εσωτερικά ονόματα ετικετών <b><Source> </b>, <b><Time> </b>Και <b><Title> </b>και γιατί δεν υπάρχουν στις ετικέτες; <b><Text> </b>. Αυτού του είδους οι καταχωρήσεις στην XML ονομάζονται χαρακτηριστικά ετικετών. Σε αυτή την περίπτωση έχουμε ένα χαρακτηριστικό <b>τύπος</b>, που παίρνει τις τιμές <b>"ημερομηνία ώρα"</b>Και <b>"σειρά"</b>. Οι τιμές των χαρακτηριστικών στο XML περικλείονται πάντα σε εισαγωγικά. Χαρακτηριστικό <b>τύπος</b>είναι απαραίτητο για να υποδείξετε ακριβώς πώς να ερμηνεύσετε την ακολουθία χαρακτήρων που περιέχεται σε μια ετικέτα με αυτό το χαρακτηριστικό. Εννοια <b>"ημερομηνία ώρα"</b>σημαίνει ότι η τιμή της ετικέτας πρέπει να ερμηνεύεται ως ημερομηνία και ώρα και η τιμή <b>"σειρά"</b>- σαν κανονική γραμμή. Στην ετικέτα <b><Text> </b>Χαρακτηριστικό <b>τύπος</b>λείπει, γιατί Από τη σημασία αυτής της ετικέτας είναι ήδη σαφές ότι αυτή η ετικέτα περιέχει μια συμβολοσειρά κειμένου.</p><p>Η XML είναι μια γλώσσα σήμανσης που περιγράφει μια ολόκληρη κατηγορία αντικειμένων δεδομένων που ονομάζονται έγγραφα XML. Αυτή η γλώσσα χρησιμοποιείται ως μέσο για την περιγραφή της γραμματικής άλλων γλωσσών και τον έλεγχο της ορθότητας των εγγράφων. Εκείνοι. Η ίδια η XML δεν περιέχει ετικέτες σήμανσης, απλώς ορίζει τη σειρά με την οποία δημιουργούνται. Έτσι, αν, για παράδειγμα, θεωρήσουμε ότι υποδηλώνει ένα στοιχείο <i>τριαντάφυλλο</i>το έγγραφο πρέπει να χρησιμοποιεί ετικέτα <i><flower> </i>;, τότε η XML μας επιτρέπει να χρησιμοποιούμε ελεύθερα την ετικέτα που ορίζουμε και μπορούμε να συμπεριλάβουμε τμήματα όπως τα παρακάτω στο έγγραφο:</p><p><flower>τριαντάφυλλο</flower></p><p>Το σύνολο των ετικετών μπορεί εύκολα να επεκταθεί. Εάν, ας υποθέσουμε, θέλουμε επίσης να υποδείξουμε ότι η περιγραφή του λουλουδιού πρέπει να μπαίνει ουσιαστικά στην περιγραφή του θερμοκηπίου στο οποίο ανθίζει, τότε απλώς ορίζουμε νέες ετικέτες και επιλέγουμε τη σειρά με την οποία εμφανίζονται:</p><p><conservatory></p><p><flower>τριαντάφυλλο</flower></p><p></conservatory></p><p>Αν θέλουμε να φυτέψουμε μερικά ακόμη λουλούδια εκεί, πρέπει να κάνουμε τις εξής αλλαγές:</p><p><conservatory></p><p><flower>τριαντάφυλλο</flower></p><p><flower>τουλίπα</flower></p><p><flower>κάκτος</flower></p><p></conservatory></p><p>Όπως μπορείτε να δείτε, η διαδικασία δημιουργίας ενός εγγράφου XML είναι πολύ απλή και απαιτεί μόνο βασικές γνώσεις HTML και κατανόηση των εργασιών που θέλουμε να εκτελέσουμε χρησιμοποιώντας την XML ως γλώσσα σήμανσης. Αυτό δίνει στους προγραμματιστές τη μοναδική δυνατότητα να ορίζουν προσαρμοσμένες εντολές που τους επιτρέπουν να ορίζουν αποτελεσματικότερα τα δεδομένα που περιέχονται σε ένα έγγραφο. Ο συγγραφέας του εγγράφου δημιουργεί τη δομή του, δημιουργεί τις απαραίτητες συνδέσεις μεταξύ των στοιχείων, χρησιμοποιώντας εκείνες τις εντολές που ικανοποιούν τις απαιτήσεις του και επιτυγχάνει τον τύπο σήμανσης που χρειάζεται για να εκτελέσει τις λειτουργίες προβολής, αναζήτησης και ανάλυσης του εγγράφου.</p><p>Ένα άλλο προφανές πλεονέκτημα της XML είναι η δυνατότητα χρήσης της ως καθολικής γλώσσας ερωτημάτων για αποθήκες πληροφοριών. Σήμερα, στα βάθη του W3C, εξετάζεται μια λειτουργική έκδοση του προτύπου XML-QL (ή XQL), που μπορεί στο μέλλον να γίνει σοβαρός ανταγωνιστής της SQL. Επιπλέον, τα έγγραφα XML μπορούν να λειτουργήσουν ως ένας μοναδικός τρόπος αποθήκευσης δεδομένων που περιλαμβάνει τόσο τα μέσα για την ανάλυση πληροφοριών όσο και την παρουσίασή τους στην πλευρά του πελάτη. Σε αυτόν τον τομέα, ένας από τους πολλά υποσχόμενους τομείς είναι η ενσωμάτωση των τεχνολογιών Java και XML, που καθιστά δυνατή τη χρήση της ισχύος και των δύο τεχνολογιών κατά την κατασκευή εφαρμογών ανεξάρτητων από μηχανή που χρησιμοποιούν επίσης μια καθολική μορφή δεδομένων για ανταλλαγή πληροφοριών.</p><p>Η XML σάς επιτρέπει επίσης να ελέγχετε την ορθότητα των δεδομένων που αποθηκεύονται σε έγγραφα, να ελέγχετε τις ιεραρχικές σχέσεις μέσα σε ένα έγγραφο και να δημιουργείτε ένα ενιαίο πρότυπο για τη δομή των εγγράφων, το περιεχόμενο του οποίου μπορεί να είναι μια ποικιλία δεδομένων. Αυτό σημαίνει ότι μπορεί να χρησιμοποιηθεί κατά την κατασκευή πολύπλοκων πληροφοριακών συστημάτων, στα οποία το ζήτημα της ανταλλαγής πληροφοριών μεταξύ διαφορετικών εφαρμογών που εκτελούνται στο ίδιο σύστημα είναι πολύ σημαντικό. Δημιουργώντας μια δομή για έναν μηχανισμό ανταλλαγής πληροφοριών στην αρχή της εργασίας σε ένα έργο, ένας διαχειριστής μπορεί να σώσει τον εαυτό του στο μέλλον από πολλά προβλήματα που σχετίζονται με την ασυμβατότητα των μορφών δεδομένων που χρησιμοποιούνται από διάφορα στοιχεία του συστήματος.</p><p>Επίσης, ένα από τα πλεονεκτήματα της XML είναι ότι τα προγράμματα επεξεργασίας εγγράφων XML δεν είναι περίπλοκα και ότι όλα τα είδη προϊόντων λογισμικού που έχουν σχεδιαστεί για να λειτουργούν με έγγραφα XML έχουν ήδη εμφανιστεί και διανέμονται ελεύθερα. Η XML υποστηρίζεται σήμερα στον Microsoft Internet Explorer 4/0 και σε εκδόσεις beta του IE5. Ανακοινώθηκε ότι θα υποστηρίζεται σε επόμενες εκδόσεις των εφαρμογών Netscape Communicator, Oracle DBMS, DB-2 και MS-Office. Όλα αυτά δίνουν λόγο να υποθέσουμε ότι, πιθανότατα, στο εγγύς μέλλον, η XML θα γίνει η κύρια γλώσσα ανταλλαγής πληροφοριών για συστήματα πληροφοριών, αντικαθιστώντας έτσι την HTML. Γνωστές εξειδικευμένες γλώσσες σήμανσης όπως SMIL, CDF, MathML, XSL έχουν ήδη δημιουργηθεί με βάση την XML, και η λίστα με τα λειτουργικά προσχέδια νέων γλωσσών που εξετάζονται από το W3C αυξάνεται συνεχώς.</p> <p><i>Η XML (Extensible Markup Language) είναι μια νέα γλώσσα σήμανσης εγγράφων που προέρχεται από SGML που σας επιτρέπει να δομείτε διαφορετικούς τύπους πληροφοριών χρησιμοποιώντας ένα αυθαίρετο σύνολο οδηγιών. Οι προγραμματιστές εφαρμογών Διαδικτύου που προσπαθούν να χρησιμοποιήσουν τη νέα τεχνολογία στην πράξη μπορεί να ενδιαφέρονται για συγκεκριμένες ερωτήσεις που σχετίζονται με τα προβλήματα δημιουργίας, επεξεργασίας εγγράφων XML και εμφάνισής τους στην πλευρά του πελάτη. Αυτό το άρθρο δίνει μια σύντομη ιδέα για το τι είναι ένα έγγραφο XML και γιατί είναι απαραίτητο, και απεικονίζει με πρακτικά παραδείγματα μερικούς απλούς, αλλά μέχρι στιγμής, δυστυχώς, κακώς περιγραφόμενους μηχανισμούς για την επεξεργασία του.</i></p> <p><b>Τι είναι το XML</b></p> <p>Σήμερα, η XML μπορεί να χρησιμοποιηθεί σε οποιεσδήποτε εφαρμογές χρειάζονται δομημένες πληροφορίες - από πολύπλοκα συστήματα γεωγραφικών πληροφοριών με τεράστιους όγκους μεταδιδόμενων πληροφοριών έως συνηθισμένα προγράμματα «ενός υπολογιστή» που χρησιμοποιούν αυτή τη γλώσσα για να περιγράψουν πληροφορίες υπηρεσίας. Ρίχνοντας μια πιο προσεκτική ματιά στον κόσμο των πληροφοριών γύρω μας, μπορούμε να εντοπίσουμε πολλές εργασίες που σχετίζονται με τη δημιουργία και την επεξεργασία δομημένων πληροφοριών, για τις οποίες μπορεί να χρησιμοποιηθεί η XML:</p> <ul><li>Πρώτα απ 'όλα, αυτή η τεχνολογία μπορεί να είναι χρήσιμη για προγραμματιστές σύνθετων πληροφοριακών συστημάτων, με μεγάλο αριθμό εφαρμογών που συνδέονται με ροές πληροφοριών πολύ διαφορετικής δομής. Σε αυτήν την περίπτωση, τα έγγραφα XML χρησιμεύουν ως μια καθολική μορφή για την ανταλλαγή πληροφοριών μεταξύ μεμονωμένων στοιχείων ενός μεγάλου προγράμματος.</li> <li>Η XML είναι το βασικό πρότυπο για μια νέα γλώσσα περιγραφής πόρων, την RDF, η οποία απλοποιεί πολλά από τα προβλήματα στον Ιστό που σχετίζονται με την εύρεση των σωστών πληροφοριών, την παροχή ελέγχου στο περιεχόμενο των πόρων του δικτύου, τη δημιουργία ψηφιακών βιβλιοθηκών κ.λπ.</li> <li>Η γλώσσα XML σάς επιτρέπει να περιγράφετε δεδομένα οποιουδήποτε τύπου και χρησιμοποιείται για την αναπαράσταση εξειδικευμένων πληροφοριών, όπως χημικούς, μαθηματικούς, φυσικούς τύπους, ιατρικές συνταγές, μουσικές σημειώσεις κ.λπ. Αυτό σημαίνει ότι η XML μπορεί να χρησιμεύσει ως ένα ισχυρό συμπλήρωμα της HTML για τη διανομή «μη τυπικών» πληροφοριών στον Ιστό. Ίσως στο πολύ κοντινό μέλλον, η XML να αντικαταστήσει πλήρως την HTML, τουλάχιστον οι πρώτες προσπάθειες ενσωμάτωσης αυτών των δύο γλωσσών γίνονται ήδη (προδιαγραφή).</li> <li>Τα έγγραφα XML μπορούν να χρησιμοποιηθούν ως ενδιάμεση μορφή δεδομένων σε συστήματα τριών επιπέδων. Συνήθως, το μοτίβο αλληλεπίδρασης μεταξύ εφαρμογών και διακομιστών βάσης δεδομένων εξαρτάται από το συγκεκριμένο DBMS και τη διάλεκτο SQL που χρησιμοποιείται για την πρόσβαση στα δεδομένα. Εάν τα αποτελέσματα του ερωτήματος παρουσιάζονται σε κάποια καθολική μορφή κειμένου, τότε ο σύνδεσμος DBMS, ως τέτοιος, θα γίνει "διαφανής" στην εφαρμογή. Επιπλέον, σήμερα το W3C έχει προτείνει μια προδιαγραφή για μια νέα γλώσσα ερωτημάτων βάσης δεδομένων, την XQL, η οποία στο μέλλον μπορεί να γίνει εναλλακτική της SQL.</li> <li>Οι πληροφορίες που περιέχονται στα έγγραφα XML μπορούν να τροποποιηθούν, να μεταδοθούν στον υπολογιστή-πελάτη και να ενημερωθούν αποσπασματικά. Οι προδιαγραφές XLink και Xpointer που αναπτύσσονται θα καταστήσουν δυνατή την αναφορά σε μεμονωμένα στοιχεία ενός εγγράφου, λαμβάνοντας υπόψη τις τιμές ένθεσης και χαρακτηριστικών τους.</li> <li>Η χρήση φύλλων στυλ (XSL) σάς επιτρέπει να παρέχετε προβολή εγγράφων XML ανεξάρτητα από τη συσκευή εξόδου.</li> <li>Η XML μπορεί να χρησιμοποιηθεί σε κοινές εφαρμογές για την αποθήκευση και επεξεργασία δομημένων δεδομένων σε μια ενιαία μορφή.</li> </ul><p>Ένα έγγραφο XML είναι ένα κανονικό αρχείο κειμένου στο οποίο, χρησιμοποιώντας ειδικούς δείκτες, δημιουργούνται στοιχεία δεδομένων, η αλληλουχία και η ένθεση των οποίων καθορίζει τη δομή του εγγράφου και το περιεχόμενό του. Το κύριο πλεονέκτημα των εγγράφων XML είναι ότι με μια σχετικά απλή μέθοδο δημιουργίας και επεξεργασίας (το απλό κείμενο μπορεί να επεξεργαστεί από οποιονδήποτε δοκιμαστικό επεξεργαστή και να υποβληθεί σε επεξεργασία από τυπικούς αναλυτές XML), σας επιτρέπουν να δημιουργήσετε δομημένες πληροφορίες που είναι καλά «κατανοητές» από τους υπολογιστές. .</p> <p><b>Πώς να δημιουργήσετε ένα έγγραφο XML;</b></p> <p>Για να δημιουργήσετε ένα έγγραφο XML στην πιο απλή περίπτωση, δεν θα χρειαστείτε τίποτα άλλο εκτός από έναν κανονικό επεξεργαστή κειμένου (σύμφωνα με πολλούς σχεδιαστές Ιστού, το καλύτερο εργαλείο για τη δημιουργία ιστοσελίδων). Ακολουθεί ένα παράδειγμα ενός μικρού εγγράφου XML που χρησιμοποιείται στη θέση ενός κανονικού σημειωματάριου:</p><p> <?xml version="1.0" encoding="koi-8"?> <notepad> <note id="1" date="12/04/99" time="13:40"> <subject>Σημαντική επαγγελματική συνάντηση</subject> <importance/> <text>Πρέπει να συναντηθούμε <person id="1625">Ιβάν Ιβάνοβιτς</person>αφού τον κάλεσε στο τηλέφωνο <tel>123-12-12</tel> </text> </note> ... <note id="2" date="12/04/99" time="13:58"> <subject>Κάλεσε σπίτι</subject> <text> <tel>124-13-13</tel> </text> </note> </notepad> </p><p>Όταν δημιουργείτε τη δική σας γλώσσα σήμανσης, μπορείτε να βρείτε οποιαδήποτε ονόματα για στοιχεία (σχεδόν οποιαδήποτε, καθώς η λίστα των έγκυρων χαρακτήρων είναι περιορισμένη και δίνεται σε ), ανάλογα με το πλαίσιο χρήσης τους. Το παράδειγμά μας δείχνει μόνο έναν από τους πολλούς τρόπους δημιουργίας μιας δομής ημερολογίου. Αυτή είναι η ευελιξία και η επεκτασιμότητα των γλωσσών που προέρχονται από XML - δημιουργούνται από τον προγραμματιστή "on the fly", σύμφωνα με τις ιδέες του σχετικά με τη δομή του εγγράφου και μπορούν στη συνέχεια να χρησιμοποιηθούν από καθολικούς θεατές μαζί με οποιαδήποτε άλλη XML -παράγωγες γλώσσες, γιατί όλες οι απαραίτητες πληροφορίες για την ανάλυση περιέχονται στο έγγραφο.</p> <p>Κατά τη δημιουργία μιας νέας μορφής, είναι απαραίτητο να ληφθεί υπόψη το γεγονός ότι δεν μπορούν να υπάρχουν έγγραφα "γραμμένα σε XML" καταρχήν - σε κάθε περίπτωση, οι συντάκτες του εγγράφου για τη σήμανση χρησιμοποιούν μια γλώσσα που βασίζεται στο πρότυπο XML (το λεγόμενη γλώσσα προερχόμενη από XML), αλλά όχι η ίδια η XML. Επομένως, κατά την αποθήκευση του δημιουργημένου αρχείου, μπορείτε να επιλέξετε για αυτό κάποια επέκταση κατάλληλη για το όνομα (για παράδειγμα, noteML).</p> <p>Η XML μπορεί να χρησιμοποιηθεί από εσάς για τη δημιουργία εγγράφων συγκεκριμένου τύπου και δομής που απαιτούνται για μια συγκεκριμένη εφαρμογή. Ωστόσο, εάν το εύρος της γλώσσας αποδειχθεί αρκετά ευρύ και αρχίσει να ενδιαφέρει μεγάλο αριθμό προγραμματιστών, τότε η προδιαγραφή της μπορεί κάλλιστα να υποβληθεί προς εξέταση στο W3C και, μετά από συμφωνία όλων των ενδιαφερομένων, να εγκριθεί από την κοινοπραξία ως επίσημη σύσταση.</p> <p>Πρέπει να σημειωθεί ότι η διαδικασία δημιουργίας μιας νέας προδιαγραφής είναι πολύ μεγάλη και πολύπλοκη. Οποιοδήποτε έγγραφο προτείνεται από το W3C περνά από διάφορα στάδια πριν γίνει πρότυπο. Πρώτον, οι επιθυμίες και οι συστάσεις που προέρχονται από διάφορες εταιρείες που συμμετέχουν στην ανάπτυξή του επισημοποιούνται με τη μορφή ενός σημειώματος που λαμβάνεται υπόψη, ένα είδος πρωτοκόλλου προθέσεων. Οι πληροφορίες που περιέχονται σε τέτοια έγγραφα προορίζονται για συζήτηση μόνο από τα μέλη της κοινοπραξίας και δεν παρέχεται καμία εγγύηση ότι αυτά τα σχόλια θα γίνουν στη συνέχεια συστάσεις.</p> <p>Το επόμενο στάδιο της προώθησης εγγράφων είναι μια έκδοση εργασίας της προδιαγραφής, η οποία συντάσσεται και στη συνέχεια τροποποιείται από μια ειδικά δημιουργημένη ομάδα εργασίας (Working Group), η οποία περιλαμβάνει εκπροσώπους εταιρειών που ενδιαφέρονται για την ιδέα. Όλες οι αλλαγές που γίνονται σε αυτό το έγγραφο δημοσιεύονται απαραιτήτως στον διακομιστή της κοινοπραξίας www.w3.org και έως ότου η έκδοση εργασίας γίνει σύσταση, μπορεί να χρησιμεύσει μόνο ως «καθοδηγητής» για προγραμματιστές, με τον οποίο η εταιρεία μπορεί να ελέγξει τα σχέδιά της, αλλά δεν πρέπει να χρησιμοποιείται στην ανάπτυξη λογισμικού.</p> <p>Εάν τα μέρη συμφωνήσουν σε όλα τα βασικά ζητήματα και γίνουν πιο σημαντικές αλλαγές στο έγγραφο, η έκδοση εργασίας γίνεται Προτεινόμενη Σύσταση και, μετά από ψηφοφορία από τα μέλη της ομάδας εργασίας, μπορεί να γίνει Επίσημη Σύσταση του W3C, η οποία αντιστοιχεί σε καθεστώς στάνταρ στο WWW.</p> <p><b>Γεννήτριες XML</b></p> <p>Τα έγγραφα XML μπορούν να χρησιμεύσουν ως ενδιάμεση μορφή για τη μεταφορά πληροφοριών από τη μια εφαρμογή στην άλλη (για παράδειγμα, ως αποτέλεσμα ενός ερωτήματος βάσης δεδομένων), επομένως το περιεχόμενό τους μερικές φορές δημιουργείται και επεξεργάζεται αυτόματα από τα προγράμματα. Δεν είναι πάντα απαραίτητο να δημιουργήσετε ένα έγγραφο XML με μη αυτόματο τρόπο.</p> <p>Ας, για παράδειγμα, το καθήκον μας είναι να δημιουργήσουμε μια μορφή για την αποθήκευση δεδομένων εγγραφής ορισμένων γεγονότων που συμβαίνουν στο σύστημα (αρχείο καταγραφής). Στην απλούστερη περίπτωση, μπορούμε να περιοριστούμε στην καταγραφή επιτυχημένων και αποτυχημένων αιτημάτων στους πόρους μας - ένα τέτοιο έγγραφο πρέπει να περιέχει πληροφορίες σχετικά με την ώρα του συμβάντος, το αποτέλεσμά του (επιτυχία/σφάλμα), τη διεύθυνση IP της πηγής αιτήματος, το URI πόρων και κωδικός αποτελέσματος.</p> <p>Το έγγραφό μας XML μπορεί να μοιάζει με αυτό:</p><p> <?xml version="1.0" encoding="koi-8"?> <log> <event date=" 27/May/1999:02:32:46 " result="success"> <ip-from> 195.151.62.18 </ip-from> <method>ΠΑΙΡΝΩ</method> <url-to>/misc/</url-to> <response>200</response> </event> <event date=" 27/May/1999:02:41:47 " result="success"> <ip-from> 195.209.248.12 </ip-from> <method>ΠΑΙΡΝΩ</method> <url-to>/soft.htm</url-to> <response>200</response> </event> </log> </p><p>Η δομή του εγγράφου είναι αρκετά απλή - το ριζικό στοιχείο σε αυτήν την περίπτωση είναι το στοιχείο καταγραφής, κάθε συμβάν που συμβαίνει καταγράφεται στο στοιχείο συμβάντος και περιγράφεται χρησιμοποιώντας τα χαρακτηριστικά του (ημερομηνία - ώρα και αποτέλεσμα - τύπος συμβάντος) και εσωτερικά στοιχεία ( μέθοδος - μέθοδος πρόσβασης, ip-από - πηγή διεύθυνσης, url-to - ζητούμενος πόρος, απόκριση - κωδικός απόκρισης). Αυτό το έγγραφο μπορεί να δημιουργηθεί, για παράδειγμα, από μια μονάδα ελέγχου ταυτότητας αιτήματος συστήματος και να χρησιμοποιηθεί από ένα πρόγραμμα επεξεργασίας δεδομένων εγγραφής (προβολή καταγραφής).</p> <p><b>Τι είναι το DTD;</b></p> <p>Έτσι, δημιουργήσαμε ένα έγγραφο XML και βεβαιωθήκαμε ότι το σύνολο των ετικετών που χρησιμοποιήθηκαν μας επιτρέπει να πραγματοποιήσουμε οποιονδήποτε χειρισμό με τις πληροφορίες μας. Εν προκειμένω, για να καθιερωθούν οι κανόνες της νέας μας γλώσσας, δηλ. μια λίστα έγκυρων στοιχείων, τα πιθανά περιεχόμενα και τα χαρακτηριστικά τους, πρέπει να δημιουργήσουμε ορισμούς DTD (κατά τη στιγμή της σύνταξης, οι προδιαγραφές για έγγραφα XML δεν έχουν ακόμη εγκριθεί και μέχρι στιγμής τα DTD είναι ο μόνος τυπικός τρόπος περιγραφής της γραμματικής).</p> <p>Ένα μικρό παράδειγμα για το έγγραφό μας XML:</p><p> <?xml encoding="koi8-r"?> <!ELEMENT log (event)+> <!ELEMENT event (ip-from,method,uri-to,result)> <!ELEMENT method (#PCDATA)> <!ELEMENT ip-from (#PCDATA)> <!ELEMENT url-to (#PCDATA)> <!ELEMENT response (#PCDATA)> <!ATTLIST event result CDATA #IMPLIED date CDATA #IMPLIED> </p><p>Αποθηκεύστε αυτό το αρχείο ως log.dtd και συμπεριλάβετε μια νέα γραμμή στο έγγραφο XML:</p> <p><i><!--DOCTYPE log SYSTEM "log.dtd"--> </i></p> <p>Τώρα, κατά την επεξεργασία ενός εγγράφου, ο αναλυτής επαλήθευσης XML θα ελέγχει τη σειρά καθορισμού των στοιχείων και των χαρακτηριστικών τους με τον τρόπο που καθορίζεται στις σημειώσεις μας DTD και, σε περίπτωση παραβίασης της εσωτερικής δομής (η οποία καθορίζει τη «σημασιολογία» του έγγραφο), εκδώστε ένα μήνυμα σφάλματος.</p> <p><b>Τι είναι οι χώροι ονομάτων;</b></p> <p>Όπως αναφέρθηκε προηγουμένως, η ομορφιά της χρήσης XML έγκειται στη δυνατότητα να βρείτε τις δικές σας ετικέτες, τα ονόματα των οποίων θα αντιστοιχούσαν πλήρως στον σκοπό τους. Αλλά η φαντασία και το λεξιλόγιο των ανθρώπων δεν είναι απεριόριστα, επομένως δεν υπάρχει καμία απολύτως εγγύηση ότι τα ονόματα στοιχείων που δίνετε δεν θα χρησιμοποιηθούν από κάποιον άλλο. Εφόσον η εφαρμογή σας επεξεργάζεται μόνο εγγενή έγγραφα XML, δεν θα υπάρχουν προβλήματα. Αλλά είναι πολύ πιθανό το ίδιο έγγραφο να περιέχει πληροφορίες για πολλούς επεξεργαστές ταυτόχρονα. Σε αυτήν την περίπτωση, τα ονόματα ορισμένων στοιχείων ή τα χαρακτηριστικά τους μπορεί να είναι τα ίδια, προκαλώντας είτε σφάλμα στον αναλυτή XML είτε εσφαλμένη παρουσίαση του εγγράφου. Για παράδειγμα, στην περίπτωσή μας, το στοιχείο συμβάντος θα μπορούσε εύκολα να χρησιμοποιηθεί για την εγγραφή άλλων συμβάντων και να υποβληθεί σε επεξεργασία από άλλη εφαρμογή.</p> <p>Για να διορθώσουμε αυτήν την κατάσταση, πρέπει να ορίσουμε μοναδικά ονόματα για στοιχεία και τα χαρακτηριστικά τους «προσθέτοντας» κάποιο καθολικό, μη επαναλαμβανόμενο πρόθεμα στα κανονικά τους ονόματα. Για αυτό χρησιμοποιείται ο μηχανισμός Namespaces (Οι Χώροι ονομάτων εγκρίθηκαν επίσημα από το W3C τον Ιανουάριο του 1999 και αποτελούν πλέον μέρος του προτύπου XML). Σύμφωνα με αυτή την προδιαγραφή, για να οριστεί το "εύρος" μιας ετικέτας (στην πραγματικότητα, αυτός ο όρος, που χρησιμοποιείται ευρέως σε συμβατικές γλώσσες προγραμματισμού, δεν ισχύει στην XML, επειδή δεν υπάρχει σύνολο πάνω στο οποίο θα μπορούσε να κατασκευαστεί το "πεδίο" μέσα στο δομημένο έγγραφο XML ) είναι απαραίτητο να οριστεί ένα μοναδικό χαρακτηριστικό που περιγράφει το όνομα του στοιχείου, με το οποίο ο αναλυτής εγγράφων μπορεί να καθορίσει σε ποια ομάδα ονομάτων ανήκει (τα αναγνωριστικά χώρου ονομάτων μπορούν να χρησιμοποιηθούν για να περιγράψουν τα μοναδικά ονόματα και των δύο στοιχείων και τα χαρακτηριστικά τους). Στο τελευταίο μας παράδειγμα θα μπορούσε να γίνει ως εξής:</p> <p><?xml version="1.0" encoding="koi8-r"?></p> <p><!--DOCTYPE log SYSTEM "log.dtd"--></p> <p><log xmlns:xlg="www.mrcpk.nstu.ru/xml/ar/4/"></p> <p><ip-from> 195.151.62.18 </ip-from></p> <p><method>ΠΑΙΡΝΩ</method></p> <p><url-to>/misc/</url-to></p> <p><response>200</response></p> <p><ip-from> 195.209.248.12 </ip-from></p> <p><method>ΠΑΙΡΝΩ</method></p> <p><url-to>/soft.htm</url-to></p> <p><response>200</response></p> <p>Η μοναδικότητα του χαρακτηριστικού name εξασφαλίζεται με τη χρήση ορισμένων καθολικών αναγνωριστικών πόρων (για παράδειγμα, URI ή ISBN) ως τιμή του.</p> <p>Πλήρεις πληροφορίες σχετικά με τη χρήση του χώρου ονομάτων μπορείτε να βρείτε σε αυτό το πρότυπο. Στο μέλλον, για να απλοποιήσουμε τα παραδείγματα, θα παραλείψουμε το Χώρο ονομάτων - περιγραφές.</p> <p><b>Εργαλεία</b></p> <p><b>Επεξεργασία εγγράφων XML</b></p> <p>Ο κύριος περιοριστικός παράγοντας για την προώθηση της τεχνολογίας XML στον Ιστό σήμερα είναι η έλλειψη πλήρους υποστήριξης αυτής της μορφής από όλους τους κατασκευαστές προγραμμάτων περιήγησης - προγράμματα που χρησιμοποιούνται συχνότερα από την πλευρά του πελάτη. Μια διέξοδος από αυτήν την κατάσταση μπορεί να είναι μια επιλογή στην οποία η πλευρά του διακομιστή χειρίζεται την επεξεργασία εγγράφων XML Χρησιμοποιώντας οποιονδήποτε υπάρχοντα αναλυτή XML, μπορείτε να δημιουργήσετε τις απαραίτητες πληροφορίες στον διακομιστή και να στείλετε ένα κανονικό έγγραφο HTML στον πελάτη. Ωστόσο, αυτή η μέθοδος είναι, φυσικά, λιγότερο ευέλικτη και σας επιτρέπει να χρησιμοποιείτε την τεχνολογία XML μόνο για την αποθήκευση δομημένων πληροφοριών, αλλά όχι για δυναμική αλλαγή στην πλευρά του πελάτη.</p> <p>Τον Αύγουστο του 1997, το RFC 2376 ενέκρινε τους τύπους MIME για πόρους XML: text/xml και application/xml. Επομένως, τα έγγραφα XML μπορούν να μεταδοθούν μέσω HTTP και να προβληθούν από τον θεατή με τον ίδιο τρόπο όπως οι κανονικές σελίδες HTML. Για να το κάνετε αυτό, πρέπει να αλλάξετε ελαφρώς τη διαμόρφωση του διακομιστή Web (στο Apache - προσθέστε τη γραμμή "text/xml xml ddt" στο αρχείο mime.types) και στην πλευρά του πελάτη να έχετε ένα πρόγραμμα περιήγησης που υποστηρίζει φύλλα στυλ ή JavaScript. Σήμερα, αυτά τα προγράμματα περιήγησης περιλαμβάνουν τον Microsoft Internet Explorer 5, το πρώτο πρόγραμμα περιήγησης που υποστηρίζει τις προδιαγραφές XML 1.0 και τα φύλλα στυλ XSL. Το πρόγραμμα περιήγησης Amaya, που προσφέρεται από την κοινοπραξία ειδικά για δοκιμαστικούς σκοπούς () και υποστηρίζει σχεδόν όλα τα ανεπτυγμένα πρότυπα W3C. Η υποστήριξη XML σχεδιάζεται επίσης για μελλοντικές εκδόσεις του Netscape Navigator.</p> <p><b>Μοντέλο αντικειμένου εγγράφου DOM</b></p> <p>Μία από τις πιο ισχυρές διεπαφές για πρόσβαση στο περιεχόμενο εγγράφων XML είναι το DOM.</p> <p>Το μοντέλο αντικειμένων των εγγράφων XML είναι μια αναπαράσταση της εσωτερικής δομής του με τη μορφή μιας συλλογής καθορισμένων αντικειμένων. Για ευκολία, αυτά τα αντικείμενα οργανώνονται σε κάποιο είδος δομής δεδομένων που μοιάζει με δέντρο - κάθε στοιχείο του εγγράφου μπορεί να αντιστοιχιστεί σε ξεχωριστό κλάδο και όλα τα περιεχόμενά του, με τη μορφή ενός συνόλου ένθετων στοιχείων, σχολίων, ενοτήτων CDATA, και τα λοιπά. αντιπροσωπεύεται σε αυτή τη δομή με υποδέντρα. Επειδή Δεδομένου ότι κάθε καλά διαμορφωμένο έγγραφο XML πρέπει να έχει καθορισμένο ένα κύριο στοιχείο, όλο το περιεχόμενο μπορεί να θεωρηθεί ως υποδέντρα αυτού του κύριου στοιχείου, που στη συνέχεια ονομάζεται ρίζα του δέντρου εγγράφου. Για το ακόλουθο τμήμα εγγράφου XML:</p><p> <tree-node> <node-level1> <node-level2/> <node-level2>κείμενο</node-level2> <node-level2/> </node-level1> <node-level1> <node-level2>κείμενο</node-level2> <node-level1> <node-level2/> <node-level2><node-level3/></node-level2> </node-level1> </tree-node> </p><p>Η αναπαράσταση αντικειμένων της δομής του εγγράφου δεν είναι κάτι νέο για τους προγραμματιστές. Η δέσμη ενεργειών χρησιμοποιεί εδώ και πολύ καιρό μια αντικειμενοστραφή προσέγγιση για την πρόσβαση στο περιεχόμενο μιας σελίδας HTML, τα στοιχεία ενός εγγράφου HTML που είναι προσβάσιμα σε Java Script ή VBScript μπορούν να δημιουργηθούν, να τροποποιηθούν και να προβληθούν χρησιμοποιώντας κατάλληλα αντικείμενα. Αλλά η λίστα και το σύνολο των μεθόδων τους αλλάζει συνεχώς και εξαρτάται από τον τύπο του προγράμματος περιήγησης και την έκδοση γλώσσας. Προκειμένου να παρέχεται μια διεπαφή για πρόσβαση στα περιεχόμενα ενός δομημένου εγγράφου, ανεξάρτητα από μια συγκεκριμένη γλώσσα προγραμματισμού και τύπο εγγράφου, η προδιαγραφή του μοντέλου αντικειμένου επιπέδου 1 DOM αναπτύχθηκε και εγκρίθηκε επίσημα στο πλαίσιο της κοινοπραξίας W3.</p> <p>Το DOM είναι μια προδιαγραφή για καθολική πρόσβαση ανεξάρτητη από πλατφόρμα και λογισμικό στα περιεχόμενα των εγγράφων και είναι απλώς ένα είδος API για τους χειριστές τους. Το DOM είναι ένας τυπικός τρόπος κατασκευής ενός μοντέλου αντικειμένου οποιουδήποτε εγγράφου HTML ή XML, με τη βοήθεια του οποίου μπορείτε να αναζητήσετε τα απαραίτητα τμήματα, να δημιουργήσετε, να διαγράψετε και να τροποποιήσετε τα στοιχεία του.</p> <p>Για την περιγραφή διεπαφών για την πρόσβαση στο περιεχόμενο εγγράφων XML, η προδιαγραφή DOM χρησιμοποιεί την ανεξάρτητη από πλατφόρμα γλώσσα IDL και για να τις χρησιμοποιήσει πρέπει να «μεταφραστούν» σε μια συγκεκριμένη γλώσσα προγραμματισμού. Ωστόσο, αυτό γίνεται από τους ίδιους τους δημιουργούς των αναλυτών, μπορεί να μην γνωρίζουμε τίποτα για τον τρόπο με τον οποίο υλοποιούνται οι διεπαφές - από τη σκοπιά των προγραμματιστών εφαρμογών, το DOM μοιάζει με ένα σύνολο αντικειμένων με ορισμένες μεθόδους και ιδιότητες. Στην επόμενη ενότητα, θα ρίξουμε μια γρήγορη ματιά στο μοντέλο αντικειμένου Microsoft Internet Explorer 5, προσβάσιμο από σενάρια Java Script και VBScript.</p> <p>Σε αυτό το άρθρο θα αγγίξουμε το θέμα <b>Δομές εγγράφων XML</b>. Εσείς και εγώ έχουμε ήδη μιλήσει για αυτό, και σήμερα θα γράψουμε το πρώτο μας <b>Έγγραφο XML</b>, και θα εξηγήσω επίσης τη δομή του λεπτομερώς.</p> <p>Επιτρέψτε μου να σας δώσω ένα απλό αμέσως <b>παράδειγμα εγγράφου XML</b>:</p><p> <?xml version="1.0" encoding="UTF-8"?><br> <!DOCTYPE shop [<br> <!ENTITY n "Ноутбук"><br> <!ENTITY g "Игра"><br> ]><br> <shop id="1"><br> <notebooks><br> <prod>IBM Lenovo V570</prod><br> <prod>DELL Inspiron N5010</prod><br> </notebooks><br> <games><br> <prod>Γοτθικό 2</prod><br> <prod>Might & Magic 6</prod><br> </games><br> </shop> </p><p>Ο τίτλος έρχεται στην αρχή <b>Έγγραφο XML</b>. Η κεφαλίδα στο παράδειγμα είναι καθολική, το μόνο πράγμα είναι ότι η κωδικοποίηση είναι μερικές φορές διαφορετική. Βάζω το πιο συνηθισμένο - <b>UTF-8</b>.</p> <p>Ακολουθεί η ενότητα <b>DOCTYPE</b>, το οποίο περιγράφει διάφορες οντότητες. Περιγράψαμε δύο: " <b>n</b>"με νόημα" <b>ΦΟΡΗΤΟΣ ΥΠΟΛΟΓΙΣΤΗΣ</b>" Και " <b>σολ</b>"με νόημα" <b>Ενα παιχνίδι</b>Μια ουσία είναι, κατά μία έννοια, μια σταθερά που μπορούμε να χρησιμοποιήσουμε σε ένα σώμα <b>Έγγραφο XML</b>για να συντομεύσετε την εγγραφή και να διευκολύνετε τη συντήρησή της στο μέλλον.</p> <p>Μετά την ενότητα <b>DOCTYPE</b>ερχομός <b>Σώμα εγγράφου XML</b>. Όλα εδώ είναι παρόμοια με τη σύνταξη της γλώσσας <b>HTML</b>, δηλαδή υπάρχουν ετικέτες (είναι και στοιχεία), έχουν ιδιότητες, καθώς και εσωτερικές ετικέτες. Αλλά σε αντίθεση με <b>HTML</b>, εδώ βρίσκετε μόνοι σας τα ονόματα των στοιχείων, επίσης στο <b>XML</b>πολύ αυστηρή σύνταξη, δηλαδή, δεν πρέπει να υπάρχουν ετικέτες που δεν κλείνουν ή να λείπουν εισαγωγικά στις τιμές των χαρακτηριστικών ετικετών.</p> <p>Δώστε προσοχή στο πώς χρησιμοποιούνται αυτά που περιγράψαμε στην ενότητα <b>CDATA</b>ουσία. Εάν χρειάζεται να εμφανίσετε κάποιον ειδικό χαρακτήρα, για παράδειγμα, <b>& </b>ή <b>< </b>, τότε πρέπει να χρησιμοποιήσετε τις κατάλληλες δεσμευμένες οντότητες.</p> <p>Σχετικά με τη σχέση μεταξύ διαφόρων στοιχείων. Τρώω <b>5 </b>τύποι συνδέσεων:</p> <ul><li><b>Μητρική εταιρεία</b>. Ο γονέας για ένα δεδομένο είναι το στοιχείο που βρίσκεται ακριβώς επάνω <b>1 </b> <b>τετράδια</b>"γονέας είναι" <b>κατάστημα</b>".</li> <li><b>Παιδικό στοιχείο</b>. Το αντίθετο του γονιού. Ένα παιδί είναι ένα στοιχείο που είναι ακριβώς ενεργοποιημένο <b>1 </b>επίπεδο κάτω και βρίσκεται μέσα στο δεδομένο στοιχείο. Για παράδειγμα, παιδικά στοιχεία " <b>κατάστημα</b>"είναι" <b>τετράδια</b>" Και " <b>Παιχνίδια</b>Σημειώστε ότι υπάρχει πάντα ένας γονέας, ενώ μπορεί να υπάρχουν πολλά θυγατρικά στοιχεία.</li> <li><b>Πρόγονος</b>. Πρόγονος είναι εκείνο το στοιχείο για ένα δεδομένο που είναι περισσότερο από <b>1 </b>υψηλότερο επίπεδο. Για παράδειγμα, για το στοιχείο " <b>κέντρο</b>"πρόγονος είναι" <b>κατάστημα</b>".</li> <li><b>Απόγονος</b>. Παρόμοιο με ένα θυγατρικό στοιχείο, αλλά μόνο τα στοιχεία πρέπει να βρίσκονται παρακάτω <b>1ος</b>επίπεδο ένθεσης σε ένα δεδομένο στοιχείο. Για παράδειγμα, για " <b>κατάστημα</b>"απόγονος είναι" <b>κέντρο</b>".</li> <li><b>Αδελφός</b>. Ένα στοιχείο λέγεται ότι είναι αδελφό ενός άλλου στοιχείου εάν βρίσκεται στο ίδιο επίπεδο με το άλλο. Φυσικά εκτός από ένα επίπεδο απαιτείται και η παρουσία κοινού γονέα. Για παράδειγμα, τα στοιχεία " <b>τετράδια</b>" Και " <b>Παιχνίδια</b>«είναι αδέρφια.</li> </ul><p>Αυτό είναι το μόνο που θα ήθελα να σας πω <b>Δομή εγγράφου XML</b>. Και για να το ενισχύσετε αυτό, σας συνιστώ να κάνετε μια απλή εργασία: να το κάνετε μέσα στο στοιχείο <b>κέντρο</b>δύο ακόμη στοιχεία, ένα από τα οποία θα περιέχει το όνομα του προϊόντος και το άλλο - την τιμή του. Για να ελέγξετε την ορθότητα <b>Έγγραφο XML</b>, ανοίξτε το στο πρόγραμμα περιήγησής σας. Εάν δεν προκύψουν σφάλματα, σημαίνει ότι όλα είναι γραμμένα σωστά συντακτικά.</p> <p>Εισαγωγή στη σωστή σήμανση</p> <p><i>XML</i>που σημαίνει <i>Επεκτάσιμη γλώσσα σήμανσης</i>με έμφαση στο <i>σήμανση</i>(βαθμολόγηση). Μπορείτε να δημιουργήσετε κείμενο και να το επισημάνετε με ετικέτες πλαισίωσης, μετατρέποντας κάθε λέξη, πρόταση ή κομμάτι σε αναγνωρίσιμες, ταξινομήσιμες πληροφορίες. Αρχεία που δημιουργείτε ή <i>αντίγραφα του εγγράφου</i>, αποτελούνται από στοιχεία (ετικέτες) και κείμενο και τα στοιχεία βοηθούν στη σωστή κατανόηση του εγγράφου κατά την ανάγνωση σε χαρτί ή ακόμη και την ηλεκτρονική επεξεργασία του. Όσο περισσότερα περιγραφικά στοιχεία, τόσο περισσότερα μέρη του εγγράφου μπορούν να αναγνωριστούν. Από τις πρώτες μέρες της σήμανσης, ένα από τα πλεονεκτήματά του είναι ότι εάν χαθεί το σύστημα του υπολογιστή, το τυπωμένο <i>δεδομένα</i>εξακολουθούν να παραμένουν ευανάγνωστα χάρη στις ετικέτες.</p><p>Οι γλώσσες σήμανσης έχουν εξελιχθεί από τις πρώτες μορφές που δημιουργήθηκαν από εταιρείες και κρατικούς φορείς, σε Standard Generalized Markup Language (SGML), Hypertext Markup Language (HTML) και τελικά σε XML. Το SGML μπορεί να φαίνεται περίπλοκο και η HTML (η οποία ήταν ουσιαστικά απλώς μια συλλογή στοιχείων στην αρχή) έχει αποδειχθεί ότι δεν είναι αρκετά ισχυρή για να αναγνωρίσει πληροφορίες. Η XML σχεδιάστηκε για να είναι μια εύχρηστη και εύκολη στην επέκταση γλώσσα σήμανσης.</p><p>Στην XML, μπορείτε να δημιουργήσετε τα δικά σας στοιχεία, επιτρέποντάς σας να αναπαραστήσετε με ακρίβεια κομμάτια δεδομένων. Τα έγγραφα δεν μπορούν μόνο να χωριστούν σε παραγράφους και επικεφαλίδες, αλλά μπορούν επίσης να επισημανθούν τυχόν τμήματα του εγγράφου. Για να είναι αποτελεσματικό αυτό, πρέπει να ορίσετε μια τελική λίστα με τα στοιχεία σας και να την τηρήσετε. Τα στοιχεία μπορούν να οριστούν σε έναν ορισμό τύπου εγγράφου (DTD) ή σε ένα σχήμα, όπως συζητείται εν συντομία παρακάτω. Αφού κατακτήσετε και αρχίσετε να χρησιμοποιείτε την XML, μην φοβάστε να πειραματιστείτε με ονόματα στοιχείων καθώς δημιουργείτε πραγματικά αρχεία.</p><h2>Δημιουργία εγγράφου XML</h2><p>Όπως αναφέρθηκε, τα αρχεία XML αποτελούνται από κείμενο και σήμανση. Το μεγαλύτερο μέρος του κειμένου τοποθετείται σε στοιχεία όπου το κείμενο περιβάλλεται από ετικέτες. Για παράδειγμα, ας υποθέσουμε ότι θέλετε να δημιουργήσετε ένα βιβλίο μαγειρικής σε μορφή XML. Έχουμε μια συνταγή που ονομάζεται <i>Ice Cream Sundae</i>, το οποίο πρέπει να μετατραπεί σε XML. Για να επισημάνουμε το όνομα της συνταγής, εσωκλείουμε το κείμενό της σε ένα στοιχείο που αρχίζει και τελειώνει με ετικέτες. Αυτό το στοιχείο μπορεί να ονομαστεί όνομα συνταγής. Για να επισημάνετε την ετικέτα έναρξης ενός στοιχείου, τοποθετήστε το όνομά του σε γωνιακές αγκύλες<>), σαν αυτό: <recipename>. Στη συνέχεια, πληκτρολογήστε το κείμενο Ice Cream Sundae. Μετά το κείμενο βάζουμε μια ετικέτα τέλους, που είναι το όνομα του στοιχείου σε αγκύλες, συν μια τελική κάθετο στοιχείου (/) πριν από το όνομα του στοιχείου, ως εξής:</recipename>. Αυτές οι ετικέτες σχηματίζονται <i>στοιχείο</i>, στο οποίο μπορείτε να εισάγετε κείμενο και ακόμη και άλλα στοιχεία.</p><p>Τα ονόματα στοιχείων μπορούν να δημιουργηθούν για μεμονωμένα έγγραφα ή για ομάδες εγγράφων. Σύμφωνα με τις απαιτήσεις σας, μπορείτε να καθορίσετε τους κανόνες που πρέπει να τηρούνται για τα στοιχεία. Τα στοιχεία μπορεί να είναι αυστηρά συγκεκριμένα ή αρκετά γενικά. Οι κανόνες πρέπει επίσης να ορίζουν τι είναι αποδεκτό να συμπεριληφθεί σε κάθε στοιχείο. Μπορούν να είναι αυστηρά, χαλαρά ή ενδιάμεσα. Απλώς δημιουργήστε στοιχεία που καθορίζουν τα μέρη του εγγράφου σας που πιστεύετε ότι είναι σημαντικά.</p><h3>Ξεκινήστε τη δημιουργία του αρχείου XML</h3><p>Η πρώτη γραμμή ενός εγγράφου XML μπορεί να είναι μια δήλωση XML. Αυτό το προαιρετικό μέρος του αρχείου το προσδιορίζει ως αρχείο XML, το οποίο μπορεί να βοηθήσει τα αυτοματοποιημένα εργαλεία και τους ανθρώπους να αναγνωρίσουν το αρχείο ως XML και όχι ως SGML ή άλλη σήμανση.</p><p>Η δήλωση μπορεί να μοιάζει απλά <XML>ή συμπεριλάβετε την έκδοση XML ( <XMLversion="1.0">) και ακόμη και την κωδικοποίηση χαρακτήρων, για παράδειγμα,<?xml version="1.0" encoding="utf-8"?>για Unicode. Επειδή αυτή η δήλωση πρέπει να βρίσκεται στην αρχή του αρχείου, εάν σκοπεύετε να συνδυάσετε μικρά αρχεία XML σε ένα μεγαλύτερο αρχείο, είναι καλύτερο να παραλείψετε αυτό το προαιρετικό στοιχείο.</p><h3>Δημιουργία ριζικού στοιχείου</h3><p>Οι ετικέτες έναρξης και λήξης του ριζικού στοιχείου περιβάλλουν ολόκληρο το κείμενο του εγγράφου XML. Θα πρέπει να υπάρχει μόνο ένα ριζικό στοιχείο στο αρχείο και αυτό είναι το απαιτούμενο "κάλυμμα" για αυτό. δείχνει ένα απόσπασμα του παραδείγματος που χρησιμοποιώ εδώ, με ένα στοιχείο ρίζας <recipe>(συνταγή). (Το πλήρες αρχείο XML παρέχεται στο .)</p><h5>Λίστα 1. Στοιχείο ρίζας</h5><span> <?xml version="1.0" encoding="UTF-8"?> <recipe> </recipe> </span><p>Καθώς δημιουργείτε το έγγραφό σας, θα τοποθετείτε κείμενο και πρόσθετες ετικέτες μεταξύ τους <recipe>Και</recipe> .</p><h3>Ονόματα στοιχείων</h3><h5>Υπόθεση σεβασμού σε ετικέτες</h5><p>Κατά τη δημιουργία XML, η περίπτωση των ετικετών έναρξης και λήξης πρέπει να ταιριάζει. Διαφορετικά, ενδέχεται να λάβετε ένα μήνυμα σφάλματος κατά τη χρήση ή την προβολή του XML. Για παράδειγμα, ο Internet Explorer δεν εμφανίζει κείμενο εάν υπάρχει αναντιστοιχία πεζών-κεφαλαίων. Αντίθετα, εμφανίζει μηνύματα σχετικά με μια αναντιστοιχία μεταξύ των ετικετών έναρξης και λήξης.</p><p>Άρα έχουμε ένα ριζικό στοιχείο <recipe>. Στην XML, επιλέγονται πρώτα ονόματα στοιχείων και, στη συνέχεια, προσδιορίζεται η αντίστοιχη περιγραφή ή σχήμα DTD με βάση αυτά τα ονόματα. Τα ονόματα μπορεί να περιέχουν γράμματα, αριθμούς και ειδικούς χαρακτήρες όπως η κάτω παύλα (_). Ακολουθούν μερικοί κανόνες σχετικά με τα ονόματα που πρέπει να θυμάστε:</p><ul><li>Δεν επιτρέπονται κενά στα ονόματα στοιχείων.</li><li>Τα ονόματα πρέπει να ξεκινούν με γράμμα, όχι με αριθμό ή σημάδι. (Μετά από αυτό το πρώτο γράμμα, μπορείτε να χρησιμοποιήσετε οποιονδήποτε συνδυασμό γραμμάτων, αριθμών και έγκυρων συμβόλων.)</li><li>Η υπόθεση δεν έχει σημασία, αλλά φροντίστε να την ακολουθήσετε για να αποφύγετε τη σύγχυση.</li> </ul><h5>Λίστα 2. Άλλα στοιχεία</h5><span> <?xml version="1.0" encoding="UTF-8"?> <recipe> <recipename>Ice Cream Sundae</recipename> <preptime>5 λεπτά</preptime> </recipe> </span><p>Ένα έγγραφο XML μπορεί να περιέχει κενές ετικέτες, οι οποίες δεν έχουν τίποτα μέσα τους και μπορούν να εκφραστούν ως μία μόνο ετικέτα παρά ως ένα ζεύγος ετικετών έναρξης και λήξης. Για παράδειγμα, αυτό θα μπορούσε να είναι μια αυτόνομη ετικέτα στυλ HTML <img src='https://i0.wp.com/mylogo.gif' loading=lazy loading=lazy>. Δεν περιέχει θυγατρικά στοιχεία ή κείμενο, επομένως είναι κενό στοιχείο και μπορεί να γραφτεί ως <img src='https://i0.wp.com/mylogo.gif' loading=lazy loading=lazy>(με κενό και τη γνωστή τελική κάθετο στο τέλος).</p><h3>Στοιχεία ένθεσης</h3><p><i>Το συνημμένο</i>είναι η τοποθέτηση στοιχείων μέσα σε άλλα στοιχεία. Αυτά τα νέα στοιχεία ονομάζονται <i>θυγατρικές</i>στοιχεία, και τα στοιχεία που τα περιβάλλουν είναι δικά τους <i>γονείς</i>στοιχεία. Στο ριζικό στοιχείο <recipe>πολλά στοιχεία είναι ένθετα. Αυτά είναι φωλιασμένα παιδιά <recipename> , <ingredlist>Και <preptime>Μέσα σε ένα στοιχείο <ingredlist>υπάρχουν πολλά πανομοιότυπα θυγατρικά στοιχεία <listitem>. Το Nesting μπορεί να κάνει ένα έγγραφο XML πολυεπίπεδο.</p><p>Ένα συνηθισμένο συντακτικό σφάλμα περιλαμβάνει την ένθεση γονικών και θυγατρικών στοιχείων. Κάθε θυγατρικό στοιχείο πρέπει να τοποθετείται εξ ολοκλήρου μεταξύ των ετικετών ανοίγματος και κλεισίματος του γονικού στοιχείου του. Τα θυγατρικά στοιχεία πρέπει να τελειώνουν πριν ξεκινήσει το επόμενο παιδί.</p><p>Ένα παράδειγμα σωστής επισύναψης δίνεται στο. Οι ετικέτες ξεκινούν και τελειώνουν χωρίς <i>ύφανση</i>με άλλες ετικέτες.</p><h5>Λίστα 3. Σωστή ένθεση στοιχείων XML.</h5><span> <?xml version="1.0" encoding="UTF-8"?> <recipe> <recipename>Ice Cream Sundae</recipename> <ingredlist> <listitem> <quantity>3</quantity> <itemdescription>σιρόπι σοκολάτας ή φοντάν σοκολάτας</itemdescription> </listitem> <listitem> <quantity>1</quantity> <itemdescription>ΞΗΡΟΙ ΚΑΡΠΟΙ</itemdescription> </listitem> <listitem> <quantity>1</quantity> <itemdescription>κεράσι</itemdescription> </listitem> </ingredlist> <preptime>5 λεπτά</preptime> </recipe> </span><h3>Προσθήκη χαρακτηριστικών</h3><p>Μερικές φορές προστίθενται στοιχεία <i>Γνωρίσματα</i>. Τα χαρακτηριστικά αποτελούνται από ένα ζεύγος ονόματος-τιμής, όπου η τιμή περικλείεται σε διπλά εισαγωγικά ("), όπως αυτό: type="ssert". Τα χαρακτηριστικά σάς επιτρέπουν να αποθηκεύετε πρόσθετες παραμέτρους με ένα στοιχείο, αλλάζοντας τις τιμές παραμέτρους από στοιχείο σε στοιχείο στο ίδιο έγγραφο.</p><p>Ένα χαρακτηριστικό —ή ακόμα και πολλά χαρακτηριστικά— καθορίζεται στην ετικέτα έναρξης του στοιχείου: <recipe type="dessert">. Κατά την προσθήκη πολλών χαρακτηριστικών, χωρίζονται με κενά: <recipename cuisine="american" servings="1">. δείχνει το αρχείο XML όπως φαίνεται τώρα.</p><h5>Λίστα 4. Το αρχείο μας XML με στοιχεία και χαρακτηριστικά</h5><span> <?xml version="1.0" encoding="UTF-8"?> <recipe type="dessert"> <recipename cuisine="american" servings="1">Ice Cream Sundae</recipename> <preptime>5 λεπτά</preptime> </recipe> </span><p>Μπορεί να χρησιμοποιηθεί οποιοσδήποτε αριθμός χαρακτηριστικών. Σκεφτείτε ποιες λεπτομέρειες μπορείτε να προσθέσετε στο έγγραφό σας. Τα χαρακτηριστικά είναι ιδιαίτερα χρήσιμα εάν θα αποθηκευτούν έγγραφα - για παράδειγμα, ανά τύπο συνταγών. Τα ονόματα χαρακτηριστικών μπορούν να περιέχουν τους ίδιους χαρακτήρες με τα ονόματα των στοιχείων, με τους ίδιους κανόνες για την εξαίρεση των κενών και την έναρξη του ονόματος με ένα γράμμα.</p><h2>Σωστά και λανθασμένα κατασκευασμένα XML</h2><p>Εάν ακολουθείτε τους κανόνες που ορίζονται στο πλαίσιο σας, μπορείτε εύκολα να δημιουργήσετε καλά διαμορφωμένο κώδικα XML. <i>Σωστό XML</i>είναι κώδικας XML που έχει μεταγλωττιστεί σύμφωνα με όλους τους κανόνες XML: σωστή ονομασία στοιχείων, επισύναψη, ονομασία χαρακτηριστικών κ.λπ.</p><p>Ανάλογα με το τι ακριβώς κάνετε με την XML, ίσως χρειαστεί να εργαστείτε με καλά διαμορφωμένη XML. Εξετάστε το παραπάνω παράδειγμα ταξινόμησης κατά τύπο συνταγής. Είναι απαραίτητο τα στοιχεία <recipe>περιείχε το χαρακτηριστικό type. Είναι πολύ σημαντικό να μπορείτε να δοκιμάσετε με επιτυχία τον κώδικα και να διασφαλίσετε ότι η τιμή αυτού του χαρακτηριστικού είναι πάντα παρούσα.</p><p><i>Υπό επαλήθευση (επικύρωση)</i>αναφέρεται στον έλεγχο της δομής του εγγράφου ως προς τη συμμόρφωση με τους κανόνες που έχουν θεσπιστεί για αυτό και τον ορισμό των θυγατρικών στοιχείων για κάθε μητρικό στοιχείο. Αυτοί οι κανόνες ορίζονται στο <i>Περιγραφή του τύπου εγγράφου</i>(DTD) ή στο διάγραμμα. Αυτός ο τύπος επικύρωσης απαιτεί να δημιουργήσετε ένα DTD ή σχήμα και, στη συνέχεια, να αναφέρετε το αρχείο DTD ή σχήματος στα αρχεία XML σας.</p><p>Για να ενεργοποιήσετε την επικύρωση, πρέπει να τοποθετήσετε μια δήλωση τύπου εγγράφου (DOCTYPE) κοντά στην αρχή των εγγράφων XML. Αυτή η γραμμή περιέχει έναν σύνδεσμο προς το DTD ή το σχήμα (λίστα στοιχείων και κανόνων) που θα χρησιμοποιηθεί για την επικύρωση αυτού του εγγράφου. Η συμβολοσειρά DOCTYPE θα μπορούσε να είναι κάτι σαν αυτό στο .</p><h5>Καταχώριση 5. DOCTYPE</h5><span> <!DOCTYPE MyDocs SYSTEM "filename.dtd"> </span><p>Αυτό το παράδειγμα σημαίνει ότι το όνομα του αρχείου λίστας στοιχείων σας <i>όνομα αρχείου.dtd</i>βρίσκεται στον υπολογιστή σας (δηλαδή στον κατάλογο SYSTEM, όχι στον δημόσιο κατάλογο PUBLIC).</p><h2>Χρήση οντοτήτων</h2><p><i>οντότητες</i>μπορεί να είναι κομμάτια κειμένου ή ειδικοί χαρακτήρες. Μπορούν να καθοριστούν μέσα στο έγγραφο ή έξω από αυτό. Για την αποφυγή σφαλμάτων και τη σωστή εμφάνιση, οι οντότητες πρέπει να δηλώνονται και να εκφράζονται σωστά.</p><p>Δεν μπορείτε να εισάγετε ειδικούς χαρακτήρες απευθείας στο κείμενο. Για να χρησιμοποιήσετε ειδικούς χαρακτήρες στο κείμενο, πρέπει να τους κάνετε οντότητες και να χρησιμοποιήσετε τους κωδικούς αυτών των χαρακτήρων. Μπορείτε να ορίσετε φράσεις, όπως ένα όνομα εταιρείας, ως οντότητες και στη συνέχεια να τις χρησιμοποιήσετε σε όλο το κείμενό σας. Για να δημιουργήσετε μια οντότητα, δώστε της ένα όνομα και εισαγάγετε αυτό το όνομα και εισαγάγετε αυτό το όνομα στο κείμενο μετά το συμπλεκτικό σύμβολο (&) και τελειώνει με ένα ερωτηματικό — για παράδειγμα, (ή άλλο όνομα). Στη συνέχεια, βάλτε αυτόν τον κώδικα στη γραμμή DOCTYPE μέσα σε αγκύλες(), όπως στο . Αυτός ο κωδικός καθορίζει το κείμενο που αντικαθιστά την οντότητα.</p><h5>Καταχώριση 6. Οντότητα</h5><span> <!DOCTYPE MyDocs SYSTEM "filename.dtd" [ <!ENTITY coname "Rabid Turtle Industries" ]> </span><p>Η χρήση οντοτήτων βοηθά στην αποφυγή επανάληψης της ίδιας φράσης ή πληροφοριών ξανά και ξανά. Μπορεί επίσης να διευκολύνει την επεξεργασία κειμένου (για παράδειγμα, εάν μια εταιρεία αλλάξει το όνομά της) σε πολλά σημεία ταυτόχρονα, δημιουργώντας απλώς μια συμβολοσειρά ορισμού οντότητας.</p><h2>Πώς να αποφύγετε τα λάθη</h2><p>Καθώς μαθαίνετε να δημιουργείτε αρχεία XML, ανοίξτε τα σε ένα πρόγραμμα επεξεργασίας XML για να βεβαιωθείτε ότι είναι τυπικά σωστά και να βεβαιωθείτε ότι τηρούνται οι κανόνες XML. Για παράδειγμα, εάν έχετε Windows® Internet Explorer®, μπορείτε απλώς να ανοίξετε το αρχείο XML στο πρόγραμμα περιήγησης. Εάν εμφανίζονται τα στοιχεία, τα χαρακτηριστικά και το κείμενό σας, τότε το αρχείο XML έχει συντεθεί σωστά. Εάν υπάρχουν σφάλματα, πιθανότατα έχετε μπερδέψει κάτι στη σύνταξη και πρέπει να ελέγξετε προσεκτικά το έγγραφό σας για τυπογραφικά λάθη ή λείπουν ετικέτες και σημεία στίξης.</p><p><img src='https://i2.wp.com/ibm.com/developerworks/ru/library/x-newxml/ie_example.jpg' height="512" width="500" loading=lazy loading=lazy></p><h2>συμπέρασμα</h2><p>Έχοντας υπόψη μερικούς απλούς κανόνες, μπορείτε να σχεδιάσετε τα δικά σας στοιχεία XML και τα χαρακτηριστικά τους με ευέλικτο τρόπο. Οι κανόνες XML δεν είναι περίπλοκοι. Η πληκτρολόγηση ενός εγγράφου XML είναι επίσης εύκολη. Το κλειδί είναι να κατανοήσετε τι θέλετε από τα έγγραφά σας όσον αφορά τις δυνατότητες ταξινόμησης και αναζήτησης και, στη συνέχεια, να σχεδιάσετε στοιχεία και χαρακτηριστικά για να ικανοποιήσετε αυτές τις απαιτήσεις.</p><p>Όταν κατανοήσετε καλά τον σκοπό σας και ξέρετε πώς να επισημάνετε το κείμενό σας, μπορείτε να δημιουργήσετε αποτελεσματικά στοιχεία και χαρακτηριστικά. Από αυτή την άποψη, η προσεκτική σήμανση είναι το μόνο που χρειάζεται για τη δημιουργία ενός καλά διαμορφωμένου και χρησιμοποιήσιμου εγγράφου XML.</p> <p><b>XML</b>σημαίνει Extensible Markup Language, με έμφαση στη σήμανση. Μπορείτε να δημιουργήσετε κείμενο και να το επισημάνετε με ετικέτες πλαισίωσης, μετατρέποντας κάθε λέξη, πρόταση ή κομμάτι σε αναγνωρίσιμες, ταξινομήσιμες πληροφορίες. Τα αρχεία ή οι παρουσίες εγγράφων που δημιουργείτε αποτελούνται από στοιχεία (ετικέτες) και κείμενο και τα στοιχεία σάς βοηθούν να κατανοήσετε σωστά το έγγραφο όταν το διαβάζετε σε χαρτί ή ακόμα και όταν το επεξεργάζεστε ηλεκτρονικά. Όσο περισσότερα περιγραφικά στοιχεία, τόσο περισσότερα μέρη του εγγράφου μπορούν να αναγνωριστούν. Από τις πρώτες μέρες της σήμανσης, ένα από τα πλεονεκτήματά του είναι ότι εάν χαθεί το σύστημα του υπολογιστή, τα εκτυπωμένα δεδομένα θα εξακολουθούν να είναι αναγνώσιμα χάρη στις ετικέτες.</p> <p>Οι γλώσσες σήμανσης έχουν εξελιχθεί από τις πρώτες μορφές που δημιουργήθηκαν από εταιρείες και κρατικούς φορείς, σε Standard Generalized Markup Language (SGML), Hypertext Markup Language (HTML) και τελικά σε XML. Το SGML μπορεί να φαίνεται περίπλοκο και η HTML (η οποία ήταν ουσιαστικά απλώς μια συλλογή στοιχείων στην αρχή) έχει αποδειχθεί ότι δεν είναι αρκετά ισχυρή για να αναγνωρίσει πληροφορίες. Η XML σχεδιάστηκε για να είναι μια εύχρηστη και εύκολη στην επέκταση γλώσσα σήμανσης.</p> <p>Στην XML, μπορείτε να δημιουργήσετε τα δικά σας στοιχεία, επιτρέποντάς σας να αναπαραστήσετε με ακρίβεια κομμάτια δεδομένων. Τα έγγραφα δεν μπορούν μόνο να χωριστούν σε παραγράφους και επικεφαλίδες, αλλά μπορούν επίσης να επισημανθούν τυχόν τμήματα του εγγράφου. Για να είναι αποτελεσματικό αυτό, πρέπει να ορίσετε μια τελική λίστα με τα στοιχεία σας και να την τηρήσετε. Τα στοιχεία μπορούν να οριστούν σε έναν ορισμό τύπου εγγράφου (DTD) ή σε ένα σχήμα, όπως συζητείται εν συντομία παρακάτω. Αφού κατακτήσετε και αρχίσετε να χρησιμοποιείτε την XML, μην φοβάστε να πειραματιστείτε με ονόματα στοιχείων καθώς δημιουργείτε πραγματικά αρχεία.</p> <h2>Δημιουργία εγγράφου XML</h2> <p>Όπως αναφέρθηκε, τα αρχεία XML αποτελούνται από <i>κείμενο και σήμανση</i>. Το μεγαλύτερο μέρος του κειμένου τοποθετείται σε στοιχεία όπου το κείμενο περιβάλλεται από ετικέτες. Για παράδειγμα, ας υποθέσουμε ότι θέλετε να δημιουργήσετε ένα βιβλίο μαγειρικής σε μορφή XML. Έχουμε μια συνταγή που ονομάζεται Ice Cream Sundae που πρέπει να μετατραπεί σε XML. Για να επισημάνουμε το όνομα της συνταγής, εσωκλείουμε το κείμενό της σε ένα στοιχείο που αρχίζει και τελειώνει με ετικέτες. Αυτό το στοιχείο μπορεί να ονομαστεί όνομα συνταγής. Για να επισημάνετε την ετικέτα έναρξης ενός στοιχείου, τοποθετήστε το όνομά του σε γωνιακές αγκύλες<>), σαν αυτό: <recipename>. Στη συνέχεια, πληκτρολογήστε το κείμενο Ice Cream Sundae. Μετά το κείμενο βάζουμε μια ετικέτα τέλους, που είναι το όνομα του στοιχείου σε αγκύλες, συν μια τελική κάθετο στοιχείου (/) πριν από το όνομα του στοιχείου, ως εξής:</recipename>. Αυτές οι ετικέτες αποτελούν ένα στοιχείο στο οποίο μπορείτε να εισαγάγετε κείμενο και ακόμη και άλλα στοιχεία.</p> <p>Τα ονόματα στοιχείων μπορούν να δημιουργηθούν για μεμονωμένα έγγραφα ή για ομάδες εγγράφων. Σύμφωνα με τις απαιτήσεις σας, μπορείτε να καθορίσετε τους κανόνες που πρέπει να τηρούνται για τα στοιχεία. Τα στοιχεία μπορεί να είναι αυστηρά συγκεκριμένα ή αρκετά γενικά. Οι κανόνες πρέπει επίσης να ορίζουν τι είναι αποδεκτό να συμπεριληφθεί σε κάθε στοιχείο. Μπορούν να είναι αυστηρά, χαλαρά ή ενδιάμεσα. Απλώς δημιουργήστε στοιχεία που καθορίζουν τα μέρη του εγγράφου σας που πιστεύετε ότι είναι σημαντικά.</p> <h3>Ξεκινήστε τη δημιουργία του αρχείου XML</h3> <p>Η πρώτη γραμμή ενός εγγράφου XML θα μπορούσε να είναι <b>Δήλωση XML</b>. Αυτό το προαιρετικό μέρος του αρχείου το προσδιορίζει ως αρχείο XML, το οποίο μπορεί να βοηθήσει τα αυτοματοποιημένα εργαλεία και τους ανθρώπους να αναγνωρίσουν το αρχείο ως XML και όχι ως SGML ή άλλη σήμανση.</p> <p>Η δήλωση μπορεί να μοιάζει απλά<?xml ?>ή συμπεριλάβετε την έκδοση XML και ακόμη και την κωδικοποίηση χαρακτήρων, π.χ.<?xml version="1.0" encoding="utf-8" ?>για Unicode. Επειδή αυτή η δήλωση πρέπει να βρίσκεται στην αρχή του αρχείου, εάν σκοπεύετε να συνδυάσετε μικρά αρχεία XML σε ένα μεγαλύτερο αρχείο, είναι καλύτερο να παραλείψετε αυτό το προαιρετικό στοιχείο.</p> <h3>Δημιουργία ριζικού στοιχείου</h3> <p>Οι ετικέτες έναρξης και λήξης του ριζικού στοιχείου περιβάλλουν ολόκληρο το κείμενο του εγγράφου XML. Θα πρέπει να υπάρχει μόνο ένα ριζικό στοιχείο στο αρχείο και αυτό είναι το απαιτούμενο "κάλυμμα" για αυτό. Η καταχώριση 1 δείχνει ένα απόσπασμα του παραδείγματος που χρησιμοποιώ εδώ, με ένα στοιχείο ρίζας <recipe>(συνταγή).</p> <p>Λίστα 1. Στοιχείο ρίζας</p><p> <?xml version="1.0" encoding="UTF-8"?> <recipe> </recipe> </p><p>Καθώς δημιουργείτε το έγγραφό σας, θα τοποθετείτε κείμενο και πρόσθετες ετικέτες μεταξύ τους <recipe>Και</recipe> .</p> <h3>Υπόθεση σεβασμού σε ετικέτες</h3> <p>Κατά τη δημιουργία XML, η περίπτωση των ετικετών έναρξης και λήξης πρέπει να ταιριάζει. Διαφορετικά, ενδέχεται να λάβετε ένα μήνυμα σφάλματος κατά τη χρήση ή την προβολή του XML. Για παράδειγμα, ο Internet Explorer δεν εμφανίζει κείμενο εάν υπάρχει αναντιστοιχία πεζών-κεφαλαίων. Αντίθετα, εμφανίζει μηνύματα σχετικά με μια αναντιστοιχία μεταξύ των ετικετών έναρξης και λήξης.</p> <h3>Ονόματα στοιχείων</h3> <p>Άρα έχουμε ένα ριζικό στοιχείο <recipe>. Στην XML, επιλέγονται πρώτα ονόματα στοιχείων και, στη συνέχεια, προσδιορίζεται η αντίστοιχη περιγραφή ή σχήμα DTD με βάση αυτά τα ονόματα. Τα ονόματα μπορεί να περιέχουν γράμματα, αριθμούς και ειδικούς χαρακτήρες όπως η κάτω παύλα (_). Ακολουθούν μερικοί κανόνες σχετικά με τα ονόματα που πρέπει να θυμάστε:</p> <ul><li>Δεν επιτρέπονται κενά στα ονόματα στοιχείων.</li> <li>Τα ονόματα πρέπει να ξεκινούν με γράμμα, όχι με αριθμό ή σημάδι. Μετά από αυτό το πρώτο γράμμα, μπορείτε να χρησιμοποιήσετε οποιονδήποτε συνδυασμό γραμμάτων, αριθμών και έγκυρων συμβόλων.</li> <li>Η υπόθεση δεν έχει σημασία, αλλά φροντίστε να την ακολουθήσετε για να αποφύγετε τη σύγχυση.</li> </ul> <p>Λίστα 2. Άλλα στοιχεία</p><p> <?xml version="1.0" encoding="UTF-8"?> <recipe> <recipename>Ice Cream Sundae</recipename> <preptime>5 λεπτά</preptime> </recipe> </p><p>Ένα έγγραφο XML μπορεί να περιέχει κενές ετικέτες, οι οποίες δεν έχουν τίποτα μέσα τους και μπορούν να εκφραστούν ως μία μόνο ετικέτα παρά ως ένα ζεύγος ετικετών έναρξης και λήξης. Για παράδειγμα, αυτό θα μπορούσε να είναι μια αυτόνομη ετικέτα στυλ HTML <img src='https://i0.wp.com/mylogo.gif' loading=lazy loading=lazy>. Δεν περιέχει θυγατρικά στοιχεία ή κείμενο, επομένως είναι κενό στοιχείο και μπορεί να γραφτεί ως <img src='https://i0.wp.com/mylogo.gif' loading=lazy loading=lazy>(με κενό και τη γνωστή τελική κάθετο στο τέλος).</p> <h3>Στοιχεία ένθεσης</h3> <p>Ένθεση είναι η τοποθέτηση στοιχείων μέσα σε άλλα στοιχεία. Αυτά τα νέα στοιχεία ονομάζονται θυγατρικά στοιχεία και τα στοιχεία που τα περιβάλλουν ονομάζονται μητρικά στοιχεία. Στη λίστα 3 στο ριζικό στοιχείο <recipe>πολλά στοιχεία είναι ένθετα. Αυτά είναι φωλιασμένα παιδιά <recipename> , <ingredlist>Και <preptime>Μέσα σε ένα στοιχείο <ingredlist>υπάρχουν πολλά πανομοιότυπα θυγατρικά στοιχεία <listitem>. Το Nesting μπορεί να κάνει ένα έγγραφο XML πολυεπίπεδο.</p> <p>Ένα συνηθισμένο συντακτικό σφάλμα περιλαμβάνει την ένθεση γονικών και θυγατρικών στοιχείων. Κάθε θυγατρικό στοιχείο πρέπει να τοποθετείται εξ ολοκλήρου μεταξύ των ετικετών ανοίγματος και κλεισίματος του γονικού στοιχείου του. Τα θυγατρικά στοιχεία πρέπει να τελειώνουν πριν ξεκινήσει το επόμενο παιδί.</p> <p>Ένα παράδειγμα σωστής ένθεσης παρουσιάζεται στην Λίστα 3. Οι ετικέτες ξεκινούν και τελειώνουν χωρίς να συμπλέκονται με άλλες ετικέτες.</p> <p>Λίστα 3. Σωστή ένθεση στοιχείων XML.</p><p> <?xml version="1.0" encoding="UTF-8"?> <recipe> <recipename>Ice Cream Sundae</recipename> <ingredlist> <listitem> <quantity>3</quantity> <itemdescription></itemdescription> </listitem> <listitem> <quantity>1</quantity> <itemdescription>ΞΗΡΟΙ ΚΑΡΠΟΙ</itemdescription> </listitem> <listitem> <quantity>1</quantity> <itemdescription>κεράσι</itemdescription> </listitem> </ingredlist> <preptime>5 λεπτά</preptime> </recipe> </p><h3>Προσθήκη χαρακτηριστικών</h3> <p>Μερικές φορές προστίθενται χαρακτηριστικά σε στοιχεία. Τα χαρακτηριστικά αποτελούνται από ένα ζεύγος ονόματος-τιμής, όπου η τιμή περικλείεται σε διπλά εισαγωγικά ("), όπως αυτό: type="ssert". Τα χαρακτηριστικά σάς επιτρέπουν να αποθηκεύετε πρόσθετες παραμέτρους με ένα στοιχείο, αλλάζοντας τις τιμές παραμέτρους από στοιχείο σε στοιχείο στο ίδιο έγγραφο.</p> <p>Ένα χαρακτηριστικό - ή ακόμα και πολλά χαρακτηριστικά - καθορίζεται μέσα στην ετικέτα έναρξης του στοιχείου: <recipe type="dessert">. Κατά την προσθήκη πολλών χαρακτηριστικών, χωρίζονται με κενά: <recipename cuisine="american" servings="1">. Η λίστα 4 δείχνει το αρχείο XML όπως φαίνεται τώρα.</p> <p>Λίστα 4. Το αρχείο μας XML με στοιχεία και χαρακτηριστικά</p><p> <?xml version="1.0" encoding="UTF-8"?> <recipe type="dessert"> <recipename cuisine="american" servings="1">Ice Cream Sundae</recipename> <preptime>5 λεπτά</preptime> </recipe> </p><p>Μπορεί να χρησιμοποιηθεί οποιοσδήποτε αριθμός χαρακτηριστικών. Σκεφτείτε ποιες λεπτομέρειες μπορείτε να προσθέσετε στο έγγραφό σας. Τα χαρακτηριστικά είναι ιδιαίτερα χρήσιμα εάν θα αποθηκευτούν έγγραφα - για παράδειγμα, ανά τύπο συνταγών. Τα ονόματα χαρακτηριστικών μπορούν να περιέχουν τους ίδιους χαρακτήρες με τα ονόματα των στοιχείων, με τους ίδιους κανόνες για την εξαίρεση των κενών και την έναρξη του ονόματος με ένα γράμμα.</p> <h2>Σωστά και λανθασμένα κατασκευασμένα XML</h2> <p>Εάν ακολουθείτε τους κανόνες που ορίζονται στο πλαίσιο σας, μπορείτε εύκολα να δημιουργήσετε καλά διαμορφωμένο κώδικα XML. Το έγκυρο XML είναι κώδικας XML που ακολουθεί όλους τους κανόνες XML: σωστή ονομασία στοιχείων, ένθεση, ονομασία χαρακτηριστικών κ.λπ.</p> <p>Ανάλογα με το τι ακριβώς κάνετε με την XML, ίσως χρειαστεί να εργαστείτε με καλά διαμορφωμένη XML. Εξετάστε το παραπάνω παράδειγμα ταξινόμησης κατά τύπο συνταγής. Είναι απαραίτητο τα στοιχεία <recipe>περιείχε το χαρακτηριστικό type. Είναι πολύ σημαντικό να μπορείτε να δοκιμάσετε με επιτυχία τον κώδικα και να διασφαλίσετε ότι η τιμή αυτού του χαρακτηριστικού είναι πάντα παρούσα.</p> <p>Επικύρωση σημαίνει έλεγχος της δομής του εγγράφου για συμμόρφωση με τους κανόνες που έχουν θεσπιστεί για αυτό και τον ορισμό των θυγατρικών στοιχείων για κάθε μητρικό στοιχείο. Αυτοί οι κανόνες ορίζονται στο Document Type Description (DTD) ή στο σχήμα. Αυτός ο τύπος επικύρωσης απαιτεί να δημιουργήσετε ένα DTD ή σχήμα και, στη συνέχεια, να αναφέρετε το αρχείο DTD ή σχήματος στα αρχεία XML σας.</p> <p>Για να ενεργοποιήσετε την επικύρωση, πρέπει να τοποθετήσετε μια δήλωση τύπου εγγράφου (DOCTYPE) κοντά στην αρχή των εγγράφων XML. Αυτή η γραμμή περιέχει έναν σύνδεσμο προς το DTD ή το σχήμα (λίστα στοιχείων και κανόνων) που θα χρησιμοποιηθεί για την επικύρωση αυτού του εγγράφου. Η γραμμή DOCTYPE μπορεί να μοιάζει με αυτήν της Λίστας 5.</p> <p> <!DOCTYPE MyDocs SYSTEM "filename.dtd"> </p><p>Αυτό το παράδειγμα σημαίνει ότι το αρχείο λίστας στοιχείων με το όνομα filename.dtd βρίσκεται στον υπολογιστή σας.</p> <h2>Χρήση οντοτήτων</h2> <p> (<i>οντότητα</i>) μπορεί να είναι κομμάτια κειμένου ή ειδικοί χαρακτήρες. Μπορούν να καθοριστούν μέσα στο έγγραφο ή έξω από αυτό. Για την αποφυγή σφαλμάτων και τη σωστή εμφάνιση, οι οντότητες πρέπει να δηλώνονται και να εκφράζονται σωστά.</p> <p>Δεν μπορείτε να εισάγετε ειδικούς χαρακτήρες απευθείας στο κείμενο. Για να χρησιμοποιήσετε ειδικούς χαρακτήρες στο κείμενο, πρέπει να τους κάνετε οντότητες και να χρησιμοποιήσετε τους κωδικούς αυτών των χαρακτήρων. Μπορείτε να ορίσετε φράσεις, όπως ένα όνομα εταιρείας, ως οντότητες και στη συνέχεια να τις χρησιμοποιήσετε σε όλο το κείμενό σας. Για να δημιουργήσετε μια οντότητα, δώστε της ένα όνομα και εισαγάγετε αυτό το όνομα και εισαγάγετε αυτό το όνομα στο κείμενο μετά το συμπλεκτικό σύμβολο (&) και τελειώνει με ένα ερωτηματικό - για παράδειγμα, (ή άλλο όνομα). Στη συνέχεια, καθορίστε αυτόν τον κωδικό στη γραμμή DOCTYPE μέσα σε αγκύλες(), όπως στην Λίστα 6. Αυτός ο κωδικός καθορίζει το κείμενο που αντικαθιστά την οντότητα.</p> <p>Καταχώριση 6. Οντότητα</p><p> <!DOCTYPE MyDocs SYSTEM "filename.dtd" [ <!ENTITY coname "Rabid Turtle Industries" ]> </p><p>Η χρήση οντοτήτων βοηθά στην αποφυγή επανάληψης της ίδιας φράσης ή πληροφοριών ξανά και ξανά. Μπορεί επίσης να διευκολύνει την επεξεργασία κειμένου (για παράδειγμα, εάν μια εταιρεία αλλάξει το όνομά της) σε πολλά σημεία ταυτόχρονα, δημιουργώντας απλώς μια συμβολοσειρά ορισμού οντότητας.</p> <h2>Πώς να αποφύγετε τα λάθη</h2> <p>Καθώς μαθαίνετε να δημιουργείτε αρχεία XML, ανοίξτε τα σε ένα πρόγραμμα επεξεργασίας XML για να βεβαιωθείτε ότι είναι τυπικά σωστά και να βεβαιωθείτε ότι τηρούνται οι κανόνες XML. Για παράδειγμα, εάν έχετε Windows® Internet Explorer®, μπορείτε απλώς να ανοίξετε το αρχείο XML στο πρόγραμμα περιήγησης. Εάν εμφανίζονται τα στοιχεία, τα χαρακτηριστικά και το κείμενό σας, τότε το αρχείο XML έχει συντεθεί σωστά. Εάν υπάρχουν σφάλματα, πιθανότατα έχετε μπερδέψει κάτι στη σύνταξη και πρέπει να ελέγξετε προσεκτικά το έγγραφό σας για τυπογραφικά λάθη ή λείπουν ετικέτες και σημεία στίξης.</p> <p>Όπως αναφέρθηκε στην ενότητα Ένθεση στοιχείων, ένα στοιχείο που περιέχει ένα άλλο στοιχείο ονομάζεται γονέας αυτού του ένθετου στοιχείου. Στο παρακάτω παράδειγμα <recipe>είναι το ριζικό στοιχείο και περιέχει όλο το κείμενο του αρχείου. Σε αυτό το γονικό στοιχείο <recipe>ένθετα παιδικά στοιχεία <recipename> , <ingredlist> , <directions>και άλλοι. Αυτή η δομή κάνει <recipename> , <ingredlist>Και <directions>παιδικά στοιχεία. Θυμηθείτε να τοποθετήσετε σωστά αυτά τα παιδικά στοιχεία. Η λίστα 7 είναι ένα παράδειγμα ενός καλά διαμορφωμένου εγγράφου XML με σωστή ένθεση στοιχείων.</p> <p>Λίστα 7. Καλά διαμορφωμένο έγγραφο XML</p><p> <?xml version="1.0" encoding="UTF-8"?> <recipe type="dessert"> <recipename cuisine="american" servings="1">Ice Cream Sundae</recipename> <ingredlist> <listitem> <quantity units="cups">0.5</quantity> <itemdescription>παγωτο ΒΑΝΙΛΙΑ</itemdescription> </listitem> <listitem> <quantity units="tablespoons">3</quantity> <itemdescription>σιρόπι σοκολάτας ή φοντάν σοκολάτας</itemdescription> </listitem> <listitem> <quantity units="tablespoons">1</quantity> <itemdescription>ΞΗΡΟΙ ΚΑΡΠΟΙ</itemdescription> </listitem> <listitem> <quantity units="each">1</quantity> <itemdescription>κεράσι</itemdescription> </listitem> </ingredlist> <utensils> <listitem> <quantity units="each">1</quantity> <utensilname>γαβάθα</utensilname> </listitem> <listitem> <quantity units="each">1</quantity> <utensilname>κουτάλια</utensilname> </listitem> <listitem> <quantity units="each">1</quantity> <utensilname>κουτάλα παγωτού</utensilname> </listitem> </utensils> <directions> <step>Χρησιμοποιώντας μια μεζούρα παγωτού, τοποθετήστε το παγωτό βανίλια σε ένα μπολ.</step> <step>Περιχύστε σιρόπι σοκολάτας ή φοντάν σοκολάτας πάνω από το παγωτό.</step> <step>Πασπαλίστε ξηρούς καρπούς πάνω από το ανάχωμα με τη σοκολάτα και το παγωτό.</step> <step>Τοποθετήστε το κεράσι στην κορυφή του ανάχωμα με το στέλεχος να δείχνει προς τα πάνω.</step> <step>Σερβίρισμα.</step> </directions> <variations> <option>Αντικαταστήστε τους ξηρούς καρπούς με σταφίδες.</option> <option>Χρησιμοποιήστε παγωτό σοκολάτα αντί για παγωτό βανίλια.</option> </variations> <preptime>5 λεπτά</preptime> </recipe> </p><p>Σημείωση: Οι αλλαγές γραμμής κάνουν τον κώδικα πιο ευανάγνωστο και δεν επηρεάζουν την ίδια την XML.</p> <p>Μπορείτε να πειραματιστείτε με τα αρχεία δοκιμής και να μετακινήσετε τις ετικέτες έναρξης και λήξης για να δείτε τα μηνύματα σφάλματος.</p> <h2>Επικύρωση XML</h2> <p>Το σχήμα 1 δείχνει ένα έγγραφο XML του οποίου τα στοιχεία αποδίδονται χωρίς σφάλματα στον Internet Explorer. Το κείμενο πλαισιώνεται από ετικέτες ανοίγματος και κλεισίματος. Δίπλα στα γονικά στοιχεία υπάρχουν εικονίδια συν (+) και μείον (-), τα οποία σας επιτρέπουν να αφαιρέσετε όλα τα ένθετα στοιχεία (τα παιδιά τους) μέσα στα στοιχεία.</p> <p>Εικόνα 1. Παράδειγμα αρχείου XML με συμπτυγμένα παιδιά</p> <h2>συμπέρασμα</h2> <p>Έχοντας υπόψη μερικούς απλούς κανόνες, μπορείτε να σχεδιάσετε τα δικά σας στοιχεία XML και τα χαρακτηριστικά τους με ευέλικτο τρόπο. Οι κανόνες XML δεν είναι περίπλοκοι. Η πληκτρολόγηση ενός εγγράφου XML είναι επίσης εύκολη. Το κλειδί είναι να κατανοήσετε τι θέλετε από τα έγγραφά σας όσον αφορά τις δυνατότητες ταξινόμησης και αναζήτησης και, στη συνέχεια, να σχεδιάσετε στοιχεία και χαρακτηριστικά για να ικανοποιήσετε αυτές τις απαιτήσεις.</p> <p>Όταν κατανοήσετε καλά τον σκοπό σας και ξέρετε πώς να επισημάνετε το κείμενό σας, μπορείτε να δημιουργήσετε αποτελεσματικά στοιχεία και χαρακτηριστικά. Από αυτή την άποψη, η προσεκτική σήμανση είναι το μόνο που χρειάζεται για τη δημιουργία ενός καλά διαμορφωμένου και χρησιμοποιήσιμου εγγράφου XML.</p> <br> <br> <script>document.write("<img style='display:none;' src='//counter.yadro.ru/hit;artfast_after?t44.1;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+";h"+escape(document.title.substring(0,150))+ ";"+Math.random()+ "border='0' width='1' height='1' loading=lazy loading=lazy>");</script> </div> </div> </div> </div> <div class="right -is-sticky"> <div class="articles-conseilles"> <div id="tamanu2" style="height:500px;width:266px;" align="center"></div> </div> </div> </div> <div class="a-decouvrir"> <h3>Συνιστούμε να διαβάσετε</h3> <div class="featured"> <div class="view view-articles view-id-articles view-display-id-block_4 view-dom-id-169dc93f512a102548b755435ccd1346"> <div class="view-content"> <div class="row"> <article class="preview-article"> <header class="preview-article__header"> <a href="https://qpprosto.ru/el/skachat-programmu-ekvalaizer-dlya-vindovs-7-ispolzovanie.html"> <figure class=""> <img src="https://i1.wp.com/chopen.net/wp-content/uploads/2015/02/equalizer_2.jpg" alt="Χρησιμοποιώντας το Windows Equalizer" loading=lazy loading=lazy> </figure> </a> </header> <div class="preview-article__content"> <div class="views-field views-field-title"> <span class="field-content"><a href="https://qpprosto.ru/el/skachat-programmu-ekvalaizer-dlya-vindovs-7-ispolzovanie.html">Χρησιμοποιώντας το Windows Equalizer</a></span> </div> <div class="views-field views-field-body"> <div class="field-content"> <p>Σήμερα θα δούμε: Οι αληθινοί γνώστες της μουσικής γνωρίζουν ότι για την ποιότητα...</p> </div> </div> <div class="views-field views-field-field-article-categorie"> <div class="field-content"> <span class="preview-article__category se-soigner"> </span> </div> </div> </div> </article> <article class="preview-article"> <header class="preview-article__header"> <a href="https://qpprosto.ru/el/programma-dlya-tablic-excel-skachat-primery-excel-s-formulami-i.html"> <figure class=""> <img src="https://i1.wp.com/atmosoft.ru/full/Excel%202016.png" alt="Κατεβάστε παραδείγματα Excel με τύπους και συναρτήσεις" loading=lazy loading=lazy> </figure> </a> </header> <div class="preview-article__content"> <div class="views-field views-field-title"> <span class="field-content"><a href="https://qpprosto.ru/el/programma-dlya-tablic-excel-skachat-primery-excel-s-formulami-i.html">Κατεβάστε παραδείγματα Excel με τύπους και συναρτήσεις</a></span> </div> <div class="views-field views-field-body"> <div class="field-content"> <p>Αρχεία *.xlsx με παραδείγματα υπολογισμών τύπων και συναρτήσεων. Και επίσης δωρεάν...</p> </div> </div> <div class="views-field views-field-field-article-categorie"> <div class="field-content"> <span class="preview-article__category se-soigner"> </span> </div> </div> </div> </article> <article class="preview-article"> <header class="preview-article__header"> <a href="https://qpprosto.ru/el/moshchnyi-ekvalaizer-dlya-windows-7-ispolzovanie-ekvalaizera.html"> <figure class=""> <img src="https://i0.wp.com/composs.ru/wp-content/uploads/2017/11/ekvalajzer_na_kompyuter2.jpg" alt="Χρησιμοποιώντας το Windows Equalizer" loading=lazy loading=lazy> </figure> </a> </header> <div class="preview-article__content"> <div class="views-field views-field-title"> <span class="field-content"><a href="https://qpprosto.ru/el/moshchnyi-ekvalaizer-dlya-windows-7-ispolzovanie-ekvalaizera.html">Χρησιμοποιώντας το Windows Equalizer</a></span> </div> <div class="views-field views-field-body"> <div class="field-content"> <p>Τα λειτουργικά συστήματα Windows που ξεκινούν με Vista χρησιμοποιούν ενσωματωμένο...</p> </div> </div> <div class="views-field views-field-field-article-categorie"> <div class="field-content"> <span class="preview-article__category se-soigner"> </span> </div> </div> </div> </article> </div> </div> </div> </div> </div> </div> <a href="#skip-link" class="visually-hidden visually-hidden--focusable" id="main-menu" tabindex="-1">Μπλουζα</a> </div> </section> <div class="region region-bottom"> <div class="block block-block first last odd" id="block-block-7"> <ul> <li><a href="https://qpprosto.ru/el/category/baby-products/">Παιδικά είδη</a></li> <li><a href="https://qpprosto.ru/el/category/auto/">Αυτο</a></li> <li><a href="https://qpprosto.ru/el/category/electronics/">ΗΛΕΚΤΡΟΝΙΚΑ ΕΙΔΗ</a></li> <li><a href="https://qpprosto.ru/el/category/tool/">Εργαλείο</a></li> <li><a href="https://qpprosto.ru/el/category/appliances/">Συσκευές</a></li> <li><a href="https://qpprosto.ru/el/category/baby-products/">Παιδικά είδη</a></li> </ul> <p><a href="https://qpprosto.ru/el/" id="choosit"><img alt="" height="13" src="/sites/all/themes/lanutrition/img/logo-choosit.svg" width="50" / loading=lazy loading=lazy></a></p> </div> </div> <div class="search-modal" id="search-modal"><button class="close-button" id="close-search" aria-label="Close reveal" type="button"><span aria-hidden="true">×</span></button> <div class="search-modal__content"> <div class="block block-search first odd" role="search" id="block-search-form"> <form class="search-form" role="search" action="/" method="get" id="search-block-form" accept-charset="UTF-8"> <div> <div class="container-inline"> <h2 class="element-invisible">Αναζήτηση ιστότοπου</h2> <div class="form-item form-type-textfield form-item-search-block-form"> <input title="" class="custom-search-box form-text" placeholder="εισάγετε μια λέξη" type="text" id="edit-search-block-form--2" name="s" value="" size="15" maxlength="128" /> </div> <div class="form-actions form-wrapper" id="edit-actions"><input type="submit" id="edit-submit" name="op" value="Rechercher" class="form-submit" /></div> </div> </div> </form> </div> </div> </div> <br> <br> </body> </html>