Βασικά στοιχεία XML. Βασικά στοιχεία XML - Σήμανση και δομή εγγράφων XML

Πρόγραμμα Kerish Doctor. 23.06.2019
Επισκόπηση προγράμματος Η έκδοση υπολογιστή του Microsoft Excel Viewer θα επιτρέψει...

Το βιβλίο περιέχει συμβουλές, αλγόριθμους και έτοιμα παραδείγματα προγραμμάτων από διάφορους τομείς: κρυπτογράφηση, λειτουργίες αρχείων και δικτύου, XML, ASP.NET, αλληλεπίδραση με MS Office και Internet Explorer κ.λπ. Η σύνταξη της γλώσσας C#, θέματα εντοπισμού σφαλμάτων και εφαρμογές δημιουργίας προφίλ, καθώς και προβλήματα που προκύπτουν κατά τη μετάβαση από άλλες γλώσσες προγραμματισμού σε C#. Συζητούνται παραδείγματα των πιο συχνά χρησιμοποιούμενων κανονικών εκφράσεων. Ένα ξεχωριστό κεφάλαιο είναι αφιερωμένο στην εργασία με εξοπλισμό.
Το αρχείο περιέχει το ίδιο το βιβλίο και ένα CD με τον πηγαίο κώδικα.

Το εγχειρίδιο προορίζεται για προγραμματιστές που αρχίζουν και συνεχίζουν να μελετούν Java SE, JEE και άλλες τεχνολογίες. Το πρώτο μέρος καλύπτει τα βασικά της γλώσσας Java και τις έννοιες του αντικειμενοστρεφούς προγραμματισμού. Το δεύτερο μέρος καλύπτει πτυχές της χρήσης βιβλιοθηκών κλάσης Java, συμπεριλαμβανομένων αρχείων, συλλογών, δικτύων και εφαρμογών πολλαπλών νημάτων και αλληλεπίδρασης με XML. Το τρίτο μέρος παρέχει τις βασικές αρχές του κατανεμημένου προγραμματισμού πληροφοριακά συστήματαχρησιμοποιώντας servlets, JSP και ετικέτες του προγραμματιστή. Το τέταρτο μέρος δίνει τα βασικά πρακτική εφαρμογήσχέδια σχεδίασης.
Στο τέλος κάθε κεφαλαίου, δίνονται ερωτήσεις τεστ σχετικά με την ύλη του κεφαλαίου και εργασίες που πρέπει να ολοκληρωθούν.
Τα παραρτήματα παρέχουν πρόσθετα υλικάσχετίζονται με τη χρήση των UML, SQL, Ant, XML, καθώς και μια σύντομη περιγραφή των δημοφιλών τεχνολογιών Log4J, JUnit, JPA και Hibernate.

Περιγραφή του βιβλίου Το ανοιχτό XML είναι σύντομο και προσβάσιμο:
Αυτό το βιβλίο περιέχει λεπτομερής ανασκόπησητρεις κύριες γλώσσες σήμανσης του προτύπου Open XML. Το βιβλίο προορίζεται για αναγνώστες που γνωρίζουν XML ή HTML. Οι αρχιτέκτονες και οι προγραμματιστές λογισμικού που δημιουργούν λύσεις με επίκεντρο τα έγγραφα θα μάθουν πώς να δημιουργούν αυτές τις λύσεις στην πλατφόρμα Open XML.

Αυτό το βιβλίο θα είναι χρήσιμο τόσο για όσους αρχίζουν να χρησιμοποιούν γλώσσες σήμανσης όσο και για ειδικούς στον τομέα που δεν είναι εξοικειωμένοι με το Open XML.

Περιγραφή του βιβλίου Προηγμένες εφαρμογές και δομές στην επεξεργασία Xml: Ροές ετικετών, χρήση σημασιολογίας και τεχνολογίες ερωτημάτων δεδομένων:
Εφαρμογές και Δομές στην Επεξεργασία XML: Οι ροές ετικετών, η χρήση σημασιολογίας και οι τεχνολογίες ερωτημάτων δεδομένων αντικατοπτρίζουν τα σημαντικά ερευνητικά αποτελέσματα και τα τελευταία ευρήματα μελετητών παγκοσμίως, που εργάζονται για την εξερεύνηση και την επέκταση του ρόλου της XML. Αυτή η συλλογή αντιπροσωπεύει την κατανόηση των τεχνολογιών επεξεργασίας XML σε σχέση τόσο με προηγμένες εφαρμογές όσο και με τις πιο πρόσφατες τεχνολογίες επεξεργασίας XML που είναι πρωταρχικής σημασίας. Παρέχει την ευκαιρία να κατανοήσετε λεπτομερώς τα θέματα και να ανακαλύψετε την έρευνα XML σε ολοκληρωμένο επίπεδο.

Περιγραφή του βιβλίου XML: Ανάπτυξη εφαρμογών Ιστού:
Το βιβλίο προσφέρει μια πλήρη περιγραφή της γλώσσας XML σε συνδυασμό με τις γλώσσες XSLT και XPath που παρουσιάζονται στο πρώτο μέρος. Το δεύτερο μέρος του βιβλίου περιέχει πρακτικός οδηγόςσχετικά με την εφαρμογή του υλικού που παρουσιάζεται στο πρώτο μέρος του βιβλίου. Εκτός από την XML, αντιμετωπίζονται ζητήματα που προκύπτουν κατά τη δημιουργία πραγματικών εφαρμογών Ιστού, δηλαδή η διαβίβαση παραμέτρων αιτήματος HTTP στον διακομιστή, ο σχεδιασμός φορμών, η παρουσίαση δεδομένων με χρήση επικαλυπτόμενων φύλλων στυλ και η επεξεργασία ενεργειών χρήστη χρησιμοποιώντας JavaScript.

Μέρος Ι. XML από το Α έως το Ω

  • Γλώσσα XML
  • Γλώσσα XSLT
  • Γλώσσα XPath
  • Σύνθετο παράδειγμα
  • Απαραίτητες προσθήκες

Μέρος II. Πρακτική ανάπτυξηδιαδικτυακές εφαρμογές

  • Εργαλεία για τη δημιουργία μιας εφαρμογής Web
  • Cascading Style Sheets
  • Μεθοδολογία επεξεργασίας δεδομένων
  • Παρουσίαση δεδομένων

Περιγραφή του βιβλίου Python & XML:
Εάν είστε προγραμματιστής Python που θέλει να ενσωματώσει XML στο σύνολο δεξιοτήτων σας, αυτό είναι το βιβλίο για εσάς. Η Python έχει προσελκύσει μια μεγάλη ποικιλία προγραμματιστών, οι οποίοι τη χρησιμοποιούν είτε ως κόλλα για τη σύνδεση κρίσιμων εργασιών προγραμματισμού μεταξύ τους είτε ως ολοκληρωμένη cross-platform ανάπτυξη εφαρμογώνγλώσσα. Ωστόσο, επειδή είναι αντικειμενοστραφή και έχει ισχυρές ικανότητες χειρισμού κειμένου, η Python είναι μια ιδανική γλώσσα για χειρισμό XML.

Η Python & XML σάς δίνουν μια σταθερή βάση για τη χρήση αυτών των δύο γλωσσών μαζί. Φορτωμένος με πρακτικά παραδείγματα, αυτός ο νέος τόμος υπογραμμίζει κοινές εργασίες εφαρμογής, ώστε να μπορείτε να μαθαίνετε κάνοντας. Το βιβλίο ξεκινά με τα βασικά και στη συνέχεια εξελίσσεται γρήγορα σε σύνθετα θέματα, όπως μετασχηματισμός XML με XSLT, αναζήτηση XML με XPath και εργασία με διαλέκτους XML και επικύρωση. Διερευνά επίσης τα πιο προηγμένα ζητήματα: χρήση Python με SOAP και κατανεμημένες υπηρεσίες Ιστού και χρήση Python για τη δημιουργία κλιμακούμενων ροών μεταξύ κατανεμημένων εφαρμογών (όπως βάσεις δεδομένων και διακομιστές Ιστού).

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

Είτε χρησιμοποιείτε την Python ως γλώσσα εφαρμογής, είτε ως γλώσσα διαχείρισης ή ενδιάμεσης δέσμης ενεργειών, είναι βέβαιο ότι θα επωφεληθείτε από αυτό το βιβλίο. Εάν θέλετε να χρησιμοποιήσετε την Python για να χειριστείτε την XML, αυτός είναι ο οδηγός σας.

Περιγραφή του βιβλίου Βίβλος XML:
Η εμφάνιση της XML έχει τεράστιο αντίκτυπο στην ανάπτυξη Ιστού και η κλιμάκωση της καμπύλης εκμάθησης αυτής της νέας τεχνολογίας αποτελεί προτεραιότητα για πολλούς προγραμματιστές. Η Βίβλος XML προσφέρει μια εξαιρετική εισαγωγή στο θέμα και τη βάση για την κατανόηση των μελλοντικών εξελίξεων της XML.

Ο συγγραφέας Elliotte Rusty Harold χρησιμοποιεί μια υπομονετική, βήμα-βήμα συζήτηση που επισημαίνει ξεκάθαρα τις δυνατότητες της XML χωρίς να βαράει το αναγνωστικό κοινό του με τόνους προδιαγραφών SGML. Ο Χάρολντ ανοίγει γρήγορα με ένα παράδειγμα "Hello World" για να κάνει τον αναγνώστη να κωδικοποιεί νωρίς και το ακολουθεί με ένα απλό αλλά ισχυρό παράδειγμα των πλεονεκτημάτων διαχείρισης δεδομένων της XML—παρουσιάζοντας στατιστικά στοιχεία του μπέιζμπολ. ​​Μόλις κωδικοποιήσετε τα πρώτα σας έγγραφα XML, εσείς" Θα κολλήσει στην τεχνολογία και θα παρακινηθεί να μάθει για τα πιο εξελιγμένα θέματα.

Οι γλώσσες των φύλλων στυλ καλύπτονται πλήρως για να απεικονιστούν οι δυνατότητες παρουσίασης και οι παγίδες. Μια ασυνήθιστα μεγάλη λίστα εφαρμογών XML πραγματικής ζωής δείχνει επίσης πώς χρησιμοποιείται ήδη η XML και υπάρχει σε βάθος κάλυψη του Πλαισίου περιγραφής πόρων, της μορφής ορισμού καναλιού και του διανύσματος Γλώσσα σήμανσης. Το βιβλίο ολοκληρώνεται με μια ενότητα που σας βοηθά να σχεδιάσετε τη δική σας εφαρμογή XML από την αρχή.

Περιγραφή του βιβλίου XSLT. Συλλογή συνταγών:
Η γλώσσα XSLT (Extensible Stylesheet Language Transformation) έχει γίνει το κύριο εργαλείο για την επεξεργασία εγγράφων XML, αλλά πολλοί προγραμματιστές ακόμα δεν την έχουν κατακτήσει πλήρως και επομένως πιστεύουν ότι είναι ευκολότερο να τροποποιήσετε τον υπάρχοντα κώδικα παρά να γράψετε νέο κώδικα από την αρχή. Στην έκδοση 2.0, πολλά προβλήματα έχουν επιλυθεί, αλλά έχουν εμφανιστεί μια σειρά από νέες δυνατότητες που πρέπει ακόμη να διερευνηθούν. Επιπλέον, δεν υποστηρίζεται ακόμη επαρκώς.

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

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

Περιγραφή του βιβλίου Εκμάθηση XML:
Αυτή η έκδοση εστιάζει στην επεκτάσιμη γλώσσα σήμανσης XML, ένα πολλά υποσχόμενο και ισχυρό εργαλείο που παρέχει έναν ευέλικτο τρόπο δημιουργίας εγγράφων αυτοτεκμηρίωσης και κοινής χρήσης μορφής και δεδομένων στο Διαδίκτυο. Ανασκόπηση της ιστορίας τρέχουσα κατάστασηκαι προκλήσεις XML, θεμελιώδη ζητήματα. Για αρχάριους προγραμματιστές, καλύπτονται τα βασικά στοιχεία των τεχνικών δημιουργίας εγγράφων XML και οι έννοιες των στοιχείων, των χαρακτηριστικών, των οντοτήτων και των χώρων ονομάτων XML. Πολύπλοκα ζητήματα απευθύνονται σε επαγγελματίες - μεταμορφώσεις, μοντελοποίηση εγγράφων, λεπτό συντονισμόπρότυπα, προγραμματισμός XML, χρησιμοποιώντας συνδέσμους και φύλλα στυλ.

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

Περιγραφή του βιβλίου XML. Τηλεφωνικός κατάλογος:
Η Αναφορά XML είναι μια πηγή πληροφοριών για προγραμματιστές στον ταχέως εξελισσόμενο κόσμο της XML. Μόλις οι αναγνώστες κατανοήσουν το βασικό πρότυπο XML, μπορούν γρήγορα να κατανοήσουν τις περιπλοκές των DTD, τους χώρους ονομάτων, την ορθότητα των εγγράφων XML και την υποστήριξη Unicode.

Μία από τις πιο απροσδόκητες κατευθύνσεις στην ανάπτυξη της XML ήταν η ενεργή υιοθέτησή της για εργασία με δομημένα έγγραφα: ηλεκτρονικά και μαθηματικούς πίνακες, στατιστικές και οικονομικές εκθέσεις και αρχεία λογισμικού.

Κριτική βασικές τεχνολογίες, που χρησιμοποιείται κυρίως για αφηγηματικά έγγραφα XML, όπως ιστοσελίδες, βιβλία και άρθρα, θα σας βοηθήσει να αποκτήσετε γνώσεις για τα XSLT, XPath, XLink, XPointer, CSS και XSL-FO. Σίγουρα πολλοί θα ενδιαφέρονται να χρησιμοποιούν XML για εντατική επεξεργασία δεδομένων.

Πολλά κεφάλαια καλύπτουν τα βοηθητικά προγράμματα και τα API που απαιτούνται για τη σύνταξη προγραμμάτων επεξεργασίας XML, όπως το SAX, το απλό API για XML και το DOM, το μοντέλο αντικειμένου εγγράφου W3C.

Το βιβλίο περιλαμβάνει επίσης υλικό που αποτελεί τη βάση οποιουδήποτε βιβλίου αναφοράς O"Reilly. Αυτά τα κεφάλαια παρέχουν λεπτομερείς κανόνες σύνταξης (συνοδευόμενοι από παραδείγματα) των κύριων τεχνολογιών XML, συμπεριλαμβανομένων των DTD, XPath, XSLT, SAX και DOM. Αυτή η αναφορά περιγράφει τους κανόνες ότι οι συντάκτες όλων των εγγράφων XML θα πρέπει να τηρούν αυτό, και οι δύο σχεδιαστές ιστού δημιουργούν κινούμενα σχέδια χρησιμοποιώντας προγραμματιστές SMIL και C++ χρησιμοποιώντας SOAP για σειριοποίηση αντικειμένων σε μια απομακρυσμένη βάση δεδομένων.

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

Θα ξεκινήσουμε, ως συνήθως, με τη θεωρία, ας δούμε τι είδους γλώσσα είναι, γιατί είναι καλή, πώς χρησιμοποιείται και πού χρησιμοποιείται.

Ορισμός γλώσσας XML

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

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

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

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

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

Επίσης, κάποτε έπρεπε να αποθηκεύσω xml δεδομένωνστη βάση δεδομένων MS SQL 2008, προκειμένου να αναπαραστήσουμε καλύτερα αυτά τα ίδια δεδομένα και να τα ανταλλάξουμε μεταξύ του διακομιστή και του τμήματος πελάτη της εφαρμογής, το συζητήσαμε στο άρθρο - Transact-sql - εργασία με xml.

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

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

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

ετικέτες XML

Η γλώσσα XML χρησιμοποιεί ετικέτες ( Οι ετικέτες κάνουν διάκριση πεζών-κεφαλαίων), αλλά όχι τις ίδιες ετικέτες όπως στο html, αλλά αυτές που έχετε δημιουργήσει μόνοι σας, αλλά το έγγραφο xml έχει επίσης μια σαφή δομή, π.χ. υπάρχει μια ετικέτα ανοίγματος και μια ετικέτα κλεισίματος, υπάρχουν ένθετες ετικέτες και, φυσικά, υπάρχουν τιμές που βρίσκονται σε αυτές τις ετικέτες. Με άλλα λόγια, το μόνο που χρειάζεστε για βασικές γνώσεις xml είναι απλώς να τηρείτε αυτούς τους κανόνες. Μαζί, η ετικέτα ανοίγματος, κλεισίματος και τιμή ονομάζονται στοιχείο και ολόκληρο το έγγραφο xml αποτελείται ακριβώς από στοιχεία που μαζί σχηματίζουν μια δομή δεδομένων. Ένα έγγραφο xml μπορεί να έχει μόνο ένα ριζικό στοιχείο, να το θυμάστε αυτό, γιατί αν γράψετε δύο ριζικά στοιχεία, θα είναι σφάλμα.

Και ήρθε η ώρα να δώσουμε ένα παράδειγμα σήμανσης xml και το πρώτο παράδειγμα προς το παρόν είναι για τη σύνταξη:

<Начало элемента> <Начало вложенного элемента>Ένθετη τιμή στοιχείου

Όπως μπορείτε να δείτε, όλα είναι αρκετά απλά και μπορεί να υπάρχουν πολλά τέτοια στοιχεία φωλιασμένα το ένα μέσα στο άλλο.

Τώρα ας δώσουμε ένα παράδειγμα ενός πραγματικού εγγράφου xml:

Όπως μπορείτε να δείτε, απλώς έδωσα ένα παράδειγμα ενός είδους καταλόγου βιβλίων εδώ, αλλά δεν δήλωσα αυτό το έγγραφο, δηλ. Δεν έγραψα μια δήλωση XML που λέει στην εφαρμογή που θα επεξεργαστεί αυτά τα δεδομένα ότι τα δεδομένα xml βρίσκονται εδώ και σε ποια κωδικοποίηση παρουσιάζονται. Μπορείτε επίσης να γράψετε σχόλια και χαρακτηριστικά, οπότε ας δώσουμε ένα παράδειγμα τέτοιου εγγράφου:

Βιβλίο 1 Ιβάν Απλώς το βιβλίο 1 Βιβλίο 2 Σεργκέι Απλά κάντε κράτηση 2 Βιβλίο 3 Μυθιστόρημα Απλά κάντε κράτηση 3

Όπου η πρώτη γραμμή είναι η δήλωση ότι πρόκειται για έγγραφο XML και πρέπει να διαβαστεί σε κωδικοποίηση UTF-8.

Αυτά τα δεδομένα χωρίς επεξεργασία θα φαίνονται, για παράδειγμα, σε ένα πρόγραμμα περιήγησης (Mozilla Firefox) ως εξής:

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

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


XML Language - A Practical Introduction. Μέρος 2

Αναλυτική περιγραφή της Databet88.

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

Τι είναι το XML

Σήμερα, η XML μπορεί να χρησιμοποιηθεί σε οποιεσδήποτε εφαρμογές χρειάζονται δομημένες πληροφορίες - από πολύπλοκα συστήματα γεωγραφικών πληροφοριών με τεράστιους όγκους μεταδιδόμενων πληροφοριών έως συνηθισμένα προγράμματα «ενός υπολογιστή» που χρησιμοποιούν αυτή τη γλώσσα για να περιγράψουν πληροφορίες υπηρεσίας. Ρίχνοντας μια πιο προσεκτική ματιά στον κόσμο των πληροφοριών γύρω μας, μπορούμε να εντοπίσουμε πολλές εργασίες που σχετίζονται με τη δημιουργία και την επεξεργασία δομημένων πληροφοριών, για τις οποίες μπορεί να χρησιμοποιηθεί η XML:

  • Πρώτα απ 'όλα, αυτή η τεχνολογία μπορεί να είναι χρήσιμη για τους προγραμματιστές σύνθετων πληροφοριακών συστημάτων, με μεγάλο αριθμό εφαρμογών που συνδέονται με ροές πληροφοριών διαφόρων δομών. Σε αυτήν την περίπτωση, τα έγγραφα XML χρησιμεύουν ως μια καθολική μορφή για την ανταλλαγή πληροφοριών μεταξύ μεμονωμένων στοιχείων ενός μεγάλου προγράμματος.
  • Η XML είναι το βασικό πρότυπο για μια νέα γλώσσα περιγραφής πόρων, την RDF, η οποία μπορεί να απλοποιήσει πολλά από τα προβλήματα στον Ιστό που σχετίζονται με την εύρεση των σωστών πληροφοριών και τη διατήρηση του ελέγχου του περιεχομένου. πόρους δικτύου, δημιουργία ηλεκτρονικές βιβλιοθήκεςκαι τα λοιπά.
  • Η γλώσσα XML σάς επιτρέπει να περιγράφετε δεδομένα οποιουδήποτε τύπου και χρησιμοποιείται για την αναπαράσταση εξειδικευμένων πληροφοριών, όπως χημικούς, μαθηματικούς, φυσικούς τύπους, ιατρικές συνταγές, μουσικές σημειώσεις κ.λπ. Αυτό σημαίνει ότι η XML μπορεί να χρησιμεύσει ως ένα ισχυρό συμπλήρωμα της HTML για τη διανομή «μη τυπικών» πληροφοριών στον Ιστό. Ίσως στο πολύ κοντινό μέλλον, η XML να αντικαταστήσει πλήρως την HTML, τουλάχιστον οι πρώτες προσπάθειες ενσωμάτωσης αυτών των δύο γλωσσών γίνονται ήδη (προδιαγραφή XHTML).
  • Τα έγγραφα XML μπορούν να χρησιμοποιηθούν ως ενδιάμεση μορφή δεδομένων σε συστήματα τριών επιπέδων. Συνήθως, το μοτίβο αλληλεπίδρασης μεταξύ εφαρμογών και διακομιστών βάσης δεδομένων εξαρτάται από το συγκεκριμένο DBMS και τη διάλεκτο SQL που χρησιμοποιείται για την πρόσβαση στα δεδομένα.
  • Εάν τα αποτελέσματα του ερωτήματος παρουσιάζονται σε κάποια καθολική μορφή κειμένου, τότε ο σύνδεσμος DBMS, ως τέτοιος, θα γίνει "διαφανής" στην εφαρμογή. Επιπλέον, σήμερα το W3C έχει προτείνει μια προδιαγραφή για μια νέα γλώσσα ερωτημάτων βάσης δεδομένων, την XQL, η οποία στο μέλλον μπορεί να γίνει εναλλακτική της SQL.
  • Οι πληροφορίες που περιέχονται στα έγγραφα XML μπορούν να τροποποιηθούν, να μεταδοθούν στον υπολογιστή-πελάτη και να ενημερωθούν αποσπασματικά. Οι προδιαγραφές XLink και Xpointer που αναπτύσσονται θα καταστήσουν δυνατή την αναφορά σε μεμονωμένα στοιχεία ενός εγγράφου, λαμβάνοντας υπόψη τις τιμές ένθεσης και χαρακτηριστικών τους.Η χρήση φύλλων στυλ (XSL) επιτρέπει την ανεξάρτητη
  • συγκεκριμένη συσκευή

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

Το κύριο πλεονέκτημα

Για να δημιουργήσετε ένα έγγραφο XML στην πιο απλή περίπτωση, δεν θα χρειαστείτε τίποτα άλλο εκτός από έναν κανονικό επεξεργαστή κειμένου (σύμφωνα με πολλούς σχεδιαστές Ιστού, το καλύτερο εργαλείο για τη δημιουργία ιστοσελίδων). Ακολουθεί ένα παράδειγμα ενός μικρού εγγράφου XML που χρησιμοποιείται αντί για ένα κανονικό σημειωματάριο:

Σημαντική επαγγελματική συνάντηση Πρέπει να συναντηθούμε Ιβάν Ιβάνοβιτςαφού τον κάλεσε στο τηλέφωνο 123-12-12 ... Κάλεσε σπίτι 124-13-13

Κατά τη δημιουργία της δικής σας γλώσσας σήμανσης, μπορείτε να βρείτε οποιοδήποτε όνομα στοιχείου (σχεδόν οποιοδήποτε, καθώς η λίστα των έγκυρων χαρακτήρων είναι περιορισμένη και δίνεται στην προδιαγραφή XML), ανάλογα με το πλαίσιο χρήσης τους. Το παράδειγμά μας δείχνει μόνο έναν από τους πολλούς τρόπους δημιουργίας μιας δομής ημερολογίου. Αυτή είναι η ευελιξία και η επεκτασιμότητα των γλωσσών που προέρχονται από XML - δημιουργούνται από τον προγραμματιστή "on the fly", σύμφωνα με τις ιδέες του σχετικά με τη δομή του εγγράφου και στη συνέχεια μπορούν να χρησιμοποιηθούν καθολικά προγράμματαπροβολή στο ίδιο επίπεδο με οποιεσδήποτε άλλες γλώσσες που προέρχονται από XML, επειδή όλα τα απαραίτητα για τεχνολογίαπληροφορίες περιέχονται στο έγγραφο.

Κατά τη δημιουργία μιας νέας μορφής, είναι απαραίτητο να ληφθεί υπόψη το γεγονός ότι δεν μπορούν να υπάρχουν έγγραφα "γραμμένα σε XML" καταρχήν - σε κάθε περίπτωση, οι συντάκτες του εγγράφου για τη σήμανση χρησιμοποιούν μια γλώσσα που βασίζεται στο πρότυπο XML (το η λεγόμενη γλώσσα προερχόμενη από XML), αλλά όχι η ίδια η XML. Επομένως, κατά την αποθήκευση του δημιουργημένου αρχείου, μπορείτε να επιλέξετε για αυτό κάποια επέκταση κατάλληλη για το όνομα (για παράδειγμα, noteML).

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

Πρέπει να σημειωθεί ότι η διαδικασία δημιουργίας μιας νέας προδιαγραφής είναι πολύ μεγάλη και πολύπλοκη. Οποιοδήποτε έγγραφο προτείνεται από το W3C περνά από διάφορα στάδια πριν γίνει πρότυπο. Πρώτον, οι επιθυμίες και οι συστάσεις που προέρχονται από διάφορες εταιρείες που συμμετέχουν στην ανάπτυξή του επισημοποιούνται με τη μορφή ενός σημειώματος που λαμβάνεται υπόψη, ένα είδος πρωτοκόλλου προθέσεων.

Το επόμενο στάδιο της προώθησης εγγράφων είναι μια έκδοση εργασίας της προδιαγραφής, η οποία συντάσσεται και στη συνέχεια τροποποιείται από μια ειδικά δημιουργημένη ομάδα εργασίας (Working Group), η οποία περιλαμβάνει εκπροσώπους εταιρειών που ενδιαφέρονται για την ιδέα. Όλες οι αλλαγές που γίνονται σε αυτό το έγγραφο δημοσιεύονται απαραιτήτως στον διακομιστή της κοινοπραξίας www.w3.org και έως ότου η έκδοση εργασίας γίνει σύσταση, μπορεί να χρησιμεύσει μόνο ως «καθοδηγητής» για προγραμματιστές, με τον οποίο η εταιρεία μπορεί να ελέγξει τα σχέδιά της, αλλά δεν πρέπει να χρησιμοποιείται στην ανάπτυξη λογισμικού.

Σε περίπτωση που τα μέρη έχουν συμφωνήσει για όλα τα κύρια ζητήματα και γίνουν πιο σημαντικές αλλαγές στο έγγραφο, η έκδοση εργασίας γίνεται Προτεινόμενη Σύσταση και, μετά από ψηφοφορία από τα μέλη της ομάδας εργασίας, μπορεί να γίνει Επίσημες συστάσεις W3C, το οποίο αντιστοιχεί σε κατάσταση με το πρότυπο WWW.

Γεννήτριες XML

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

Δεν είναι πάντα απαραίτητο να δημιουργήσετε ένα έγγραφο XML με μη αυτόματο τρόπο.

Ας, για παράδειγμα, το καθήκον μας είναι να δημιουργήσουμε μια μορφή για την αποθήκευση δεδομένων εγγραφής ορισμένων γεγονότων που συμβαίνουν στο σύστημα (αρχείο καταγραφής). Στην απλούστερη περίπτωση, μπορούμε να περιοριστούμε στην καταγραφή επιτυχημένων και αποτυχημένων αιτημάτων στους πόρους μας - ένα τέτοιο έγγραφο πρέπει να περιέχει πληροφορίες σχετικά με την ώρα του συμβάντος, το αποτέλεσμά του (επιτυχία/σφάλμα), τη διεύθυνση IP της πηγής αιτήματος, το URI πόρων και κωδικός αποτελέσματος.

195.151.62.18 Το έγγραφό μας XML μπορεί να μοιάζει με αυτό: ΠΑΙΡΝΩ 200 195.209.248.12 Το έγγραφό μας XML μπορεί να μοιάζει με αυτό: /misc/ 200

/soft.htm

Η δομή του εγγράφου είναι αρκετά απλή - το ριζικό στοιχείο σε αυτήν την περίπτωση είναι το στοιχείο καταγραφής, κάθε συμβάν που συμβαίνει καταγράφεται στο στοιχείο συμβάντος και περιγράφεται χρησιμοποιώντας τα χαρακτηριστικά του (ημερομηνία - ώρα και αποτέλεσμα - τύπος συμβάντος) και εσωτερικά στοιχεία ( μέθοδος - μέθοδος πρόσβασης, ip-από - πηγή διεύθυνσης, url-to - ζητούμενος πόρος, απόκριση - κωδικός απόκρισης). Αυτό το έγγραφο μπορεί να δημιουργηθεί, για παράδειγμα, από μια μονάδα ελέγχου ταυτότητας αιτήματος συστήματος και να χρησιμοποιηθεί από ένα πρόγραμμα επεξεργασίας δεδομένων εγγραφής (προβολή καταγραφής).

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

Αποθηκεύστε αυτό το αρχείο ως log.dtd και συμπεριλάβετε μια νέα γραμμή στο έγγραφο XML:

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

Τι είναι οι χώροι ονομάτων;

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

Για να διορθώσουμε αυτήν την κατάσταση, πρέπει να ορίσουμε μοναδικά ονόματα για στοιχεία και τα χαρακτηριστικά τους «προσθέτοντας» κάποιο καθολικό, μη επαναλαμβανόμενο πρόθεμα στα κανονικά τους ονόματα. Ο μηχανισμός Namespaces χρησιμοποιείται για αυτό (η προδιαγραφή Namespaces εγκρίθηκε επίσημα από το W3C τον Ιανουάριο του 1999 και αποτελεί πλέον μέρος του προτύπου XML). Σύμφωνα με αυτή την προδιαγραφή, για να οριστεί το "εύρος" μιας ετικέτας (στην πραγματικότητα, αυτός ο όρος, που χρησιμοποιείται ευρέως σε συμβατικές γλώσσες προγραμματισμού, δεν ισχύει στην XML, επειδή δεν υπάρχει σύνολο πάνω στο οποίο θα μπορούσε να κατασκευαστεί το "πεδίο" μέσα στο δομημένο έγγραφο XML ) είναι απαραίτητο να οριστεί ένα μοναδικό χαρακτηριστικό που περιγράφει το όνομα του στοιχείου, με το οποίο ο αναλυτής εγγράφων μπορεί να προσδιορίσει σε ποια ομάδα ονομάτων ανήκει (τα αναγνωριστικά χώρου ονομάτων μπορούν να χρησιμοποιηθούν για να περιγράψουν τα μοναδικά ονόματα και των δύο στοιχείων και τα χαρακτηριστικά τους). Στο δικό μας τελευταίο παράδειγμαμπορεί να γίνει ως εξής:

195.151.62.18

Το έγγραφό μας XML μπορεί να μοιάζει με αυτό:

ΠΑΙΡΝΩ

200

195.209.248.12

Το έγγραφό μας XML μπορεί να μοιάζει με αυτό:

/misc/

200

Η μοναδικότητα του χαρακτηριστικού ονόματος εξασφαλίζει τη χρήση ορισμένων καθολικά αναγνωριστικάπόρους (όπως URI ή ISBN).

Πλήρεις πληροφορίες σχετικά με τη χρήση του Namespace μπορείτε να βρείτε στις επίσημες προδιαγραφές αυτού του προτύπου. Στο μέλλον, για να απλοποιήσουμε τα παραδείγματα, θα παραλείψουμε το Χώρο ονομάτων - περιγραφές.

Εργαλεία

Επεξεργασία εγγράφων XML

Ο κύριος περιοριστικός παράγοντας για την προώθηση της τεχνολογίας XML στον Ιστό σήμερα είναι η έλλειψη πλήρους υποστήριξης αυτής της μορφής από όλους τους κατασκευαστές προγραμμάτων περιήγησης - προγράμματα που χρησιμοποιούνται συχνότερα από την πλευρά του πελάτη. Μια διέξοδος από αυτήν την κατάσταση μπορεί να είναι μια επιλογή στην οποία η πλευρά του διακομιστή επεξεργάζεται έγγραφα XML Χρησιμοποιώντας οποιονδήποτε υπάρχοντα αναλυτή XML, μπορείτε να δημιουργήσετε απαραίτητες πληροφορίεςήδη στον διακομιστή και στείλτε στον πελάτη ένα κανονικό έγγραφο HTML. Ωστόσο, αυτή η μέθοδος είναι, φυσικά, λιγότερο ευέλικτη και σας επιτρέπει να χρησιμοποιείτε την τεχνολογία XML μόνο για την αποθήκευση δομημένων πληροφοριών, αλλά όχι για δυναμική αλλαγή στην πλευρά του πελάτη.

Τον Αύγουστο του 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, που προσφέρεται από την κοινοπραξία ειδικά για δοκιμαστικούς σκοπούς (http://www.w3.org/Amaya/User/BinDist.html) και υποστηρίζει σχεδόν όλα τα ανεπτυγμένα πρότυπα του W3C. Η υποστήριξη XML σχεδιάζεται επίσης για μελλοντικές εκδόσεις του Netscape Navigator.

Μοντέλο αντικειμένου εγγράφου DOM

Μία από τις πιο ισχυρές διεπαφές για πρόσβαση στο περιεχόμενο εγγράφων XML είναι το Document Object Model - DOM.

Το μοντέλο αντικειμένου των εγγράφων XML είναι μια αναπαράσταση της εσωτερικής δομής του με τη μορφή μιας συλλογής συγκεκριμένων αντικειμένων. Για ευκολία, αυτά τα αντικείμενα οργανώνονται σε κάποιο είδος δομής δεδομένων που μοιάζει με δέντρο - κάθε στοιχείο του εγγράφου μπορεί να αντιστοιχιστεί σε ξεχωριστό κλάδο και όλα τα περιεχόμενά του, με τη μορφή ενός συνόλου ένθετων στοιχείων, σχολίων, ενοτήτων CDATA, και τα λοιπά. Το μοντέλο αντικειμένου των εγγράφων XML είναι μια αναπαράσταση της εσωτερικής δομής του με τη μορφή μιας συλλογής συγκεκριμένων αντικειμένων. Για ευκολία, αυτά τα αντικείμενα οργανώνονται σε κάποιο είδος δομής δεδομένων που μοιάζει με δέντρο - κάθε στοιχείο του εγγράφου μπορεί να αντιστοιχιστεί σε ξεχωριστό κλάδο και όλα τα περιεχόμενά του, με τη μορφή ενός συνόλου ένθετων στοιχείων, σχολίων, ενοτήτων CDATA, και τα λοιπά.

αντιπροσωπεύεται σε αυτή τη δομή με υποδέντρα. Επειδή Δεδομένου ότι κάθε καλά διαμορφωμένο έγγραφο XML πρέπει να έχει καθορισμένο ένα κύριο στοιχείο, όλο το περιεχόμενο μπορεί να θεωρηθεί ως υποδέντρα αυτού του κύριου στοιχείου, που στη συνέχεια ονομάζεται ρίζα του δέντρου εγγράφου. Για το ακόλουθο τμήμα εγγράφου XML:

κείμενοΤο δέντρο στοιχείων μοιάζει με αυτό:

Εικ.1Δέντρο των στοιχείων Αναπαράσταση αντικειμένουΗ δομή του εγγράφου δεν είναι κάτι νέο για τους προγραμματιστές. Τα σενάρια χρησιμοποιούν εδώ και καιρό μια αντικειμενοστραφή προσέγγιση για πρόσβαση στο περιεχόμενο σελίδων HTML - προσβάσιμα σε

Το DOM είναι μια προδιαγραφή για καθολική πρόσβαση ανεξάρτητη από πλατφόρμα και λογισμικό στα περιεχόμενα των εγγράφων και είναι απλώς ένα είδος API για τους χειριστές τους. Το DOM είναι ένας τυπικός τρόπος κατασκευής ενός μοντέλου αντικειμένου οποιουδήποτε εγγράφου HTML ή XML που μπορεί να χρησιμοποιηθεί για αναζήτησητα απαραίτητα θραύσματα

, δημιουργία, διαγραφή και τροποποίηση των στοιχείων του. Για να περιγράψει τις διεπαφές για την πρόσβαση στα περιεχόμενα των εγγράφων XML, η προδιαγραφή DOM χρησιμοποιεί την ανεξάρτητη από πλατφόρμα γλώσσα IDL και για να τις χρησιμοποιήσει πρέπει να «μεταφραστούν» σε ορισμένεςσυγκεκριμένη γλώσσα προγραμματισμός. Ωστόσο, αυτό γίνεται από τους ίδιους τους δημιουργούς των αναλυτών, μπορεί να μην γνωρίζουμε τίποτα για τον τρόπο με τον οποίο υλοποιούνται οι διεπαφές - από την πλευρά των προγραμματιστώνπρογράμματα εφαρμογής Το DOM μοιάζει με μια συλλογή αντικειμένων με συγκεκριμένες μεθόδους και ιδιότητες.ΣΕ επόμενη ενότηταθα ρίξουμε μια γρήγορη ματιά

μοντέλο αντικειμένου

Microsoft Internet Explorer 5, προσβάσιμος από σενάρια Java Script και VBScript.


< tutorial >
< title >Πρώτα βήματα
< author >Ας εξετάσουμε τώρα το πρώτο παράδειγμα με περισσότερες λεπτομέρειες. Ας θυμηθούμε το κείμενό του.

"Σημειώσεις για το XSL"

Λεόνοφ Ιγκόρ Βασίλιεβιτς

Η πρώτη γραμμή ενημερώνει το πρόγραμμα περιήγησης ότι το αρχείο είναι σε μορφή XML. Απαιτείται το χαρακτηριστικό version. Το χαρακτηριστικό κωδικοποίησης είναι προαιρετικό, αλλά εάν έχετε ρωσικά γράμματα στο κείμενό σας, τότε πρέπει να εισαγάγετε αυτό το χαρακτηριστικό, διαφορετικά το αρχείο XML απλά δεν θα υποβληθεί σε επεξεργασία - θα λάβετε ένα μήνυμα σφάλματος.

Οι ακόλουθες γραμμές είναι το σώμα του αρχείου XML. Αποτελείται από στοιχεία που μαζί σχηματίζουν μια δομή δέντρου. Τα στοιχεία αναγνωρίζονται από ετικέτες και μπορούν να τοποθετηθούν το ένα μέσα στο άλλο.


< tutorial >
< title >Πρώτα βήματα
< author >Ας εξετάσουμε τώρα το πρώτο παράδειγμα με περισσότερες λεπτομέρειες. Ας θυμηθούμε το κείμενό του.

< tutorial >
< title >Τα στοιχεία μπορούν να έχουν χαρακτηριστικά των οποίων οι τιμές μπορούν επίσης να υποβληθούν σε επεξεργασία σύμφωνα με το πρότυπο.
< author >Ας εξετάσουμε τώρα το πρώτο παράδειγμα με περισσότερες λεπτομέρειες. Ας θυμηθούμε το κείμενό του.

Υπάρχει πάντα ένα στοιχείο στο ανώτερο επίπεδο ενός αρχείου XML. Δηλαδή ένα αρχείο σαν


< knowledgeDatabase >
< tutorial >
< title >Πρώτα βήματα
< author >Ας εξετάσουμε τώρα το πρώτο παράδειγμα με περισσότερες λεπτομέρειες. Ας θυμηθούμε το κείμενό του.

< tutorial >
< title >Τα στοιχεία μπορούν να έχουν χαρακτηριστικά των οποίων οι τιμές μπορούν επίσης να υποβληθούν σε επεξεργασία σύμφωνα με το πρότυπο.
< author >Ας εξετάσουμε τώρα το πρώτο παράδειγμα με περισσότερες λεπτομέρειες. Ας θυμηθούμε το κείμενό του.

< /knowledgeDatabase >

"Εισαγωγή στο CSP"

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

Σημειώστε ότι τα ονόματα των ετικετών κάνουν διάκριση πεζών-κεφαλαίων. Μπορείτε να διαβάσετε περισσότερα σχετικά με αυτό σε οποιοδήποτε βιβλίο για XML - σε αυτά τα βιβλία δίνεται μεγάλη προσοχή στα στοιχεία και τα χαρακτηριστικά.


Ας δούμε τώρα το κείμενο του αρχείου XSL

< xsl:stylesheet version =" 1.0" xmlns:xsl =" http://www.w3.org/TR/WD-xsl">
< xsl:template match =" /">
< p >< strong >< xsl:value-of select =" //title""/>
< p >< xsl:value-of select =" //author"/>

Η πρώτη γραμμή του αρχείου περιέχει την ετικέτα στοιχείου xsl:stylesheet. Τα χαρακτηριστικά του στοιχείου είναι ο αριθμός έκδοσης και η αναφορά του χώρου ονομάτων. Απαιτούνται αυτά τα χαρακτηριστικά στοιχείου xsl:stylesheet. Στην περίπτωσή μας, ο χώρος ονομάτων είναι όλα τα ονόματα των στοιχείων και τα χαρακτηριστικά τους που μπορούν να χρησιμοποιηθούν στο αρχείο XSL. Για αρχεία XSL, η αναφορά στον χώρο ονομάτων είναι τυπική.

Σημειώστε ότι ένα αρχείο XSL είναι ένας τύπος αρχείου XML. Δεν περιέχει δεδομένα χρήστη, αλλά η μορφή του είναι η ίδια. Το αρχείο περιέχει ένα στοιχείο ανώτατου επιπέδου xsl:stylesheet , ακολουθούμενο από ένα δέντρο κανόνων μετασχηματισμού.

Σε αυτό το έγγραφο, δεν θα εξηγήσουμε λεπτομερώς τι σημαίνει κάθε στοιχείο στο αρχείο XSL. Θα δώσουμε διάφορα παραδείγματα και θα δείξουμε το αποτέλεσμα σε κάθε παράδειγμα. Ο αναγνώστης θα μπορεί να συσχετίσει ανεξάρτητα τα διάφορα στοιχεία του αρχείου XSL και τους μετασχηματισμούς που ξεκινούν από αυτά τα στοιχεία του αρχείου προέλευσης XML με πληροφορίες χρήστη.

Στο μέλλον, θα παρέχουμε τα κείμενα των αρχείων XML και XSL σε ασπρόμαυρο. Μπορείτε πάντα να ανοίξετε το πραγματικό αρχείο και να δείτε τα πάντα έγχρωμα. Εάν είναι απαραίτητο, σχολιάστε το σύνδεσμο προς το αρχείο XSL. Η σύνταξη των σχολίων είναι η εξής - . Δεν μπορείτε να εισαγάγετε τα σύμβολα -- στο κείμενο του σχολίου.

Στο πρώτο παράδειγμα, εξετάσαμε πώς μπορεί να χρησιμοποιηθεί το στοιχείο xsl:value-of για την εμφάνιση των περιεχομένων του στοιχείου (κείμενο που περικλείεται μεταξύ ετικετών) σε μορφή HTML. Τώρα θα δούμε πώς μπορούμε να χρησιμοποιήσουμε το ίδιο στοιχείο για να εμφανίσουμε την τιμή του χαρακτηριστικού ενός στοιχείου.

Εξετάστε το ακόλουθο αρχείο XML ex02-1.xml







Σε αυτό το αρχείο, οι πληροφορίες αποθηκεύονται όχι στα περιεχόμενα των στοιχείων, αλλά με τη μορφή τιμών χαρακτηριστικών. Το αρχείο ex02-1.xsl μοιάζει




.
, .



Σημειώστε τη σύνταξη αναφοράς του χαρακτηριστικού στοιχείου - //dog /@ όνομα. Το όνομα του στοιχείου και το όνομα του χαρακτηριστικού χωρίζονται από ένα ζεύγος χαρακτήρων "/@". Διαφορετικά, η σύνταξη είναι ίδια με την αναφορά στο περιεχόμενο του στοιχείου.

Το αποτέλεσμα μοιάζει με αυτό:

Σκυλί: Μπάλα. 18 κιλά, κόκκινο με μαύρο μαύρισμα.

Ας στρέψουμε τώρα την προσοχή μας στο επόμενο σημείο. Δεν χρησιμοποιήσαμε το στοιχείο εκμάθησης με κανέναν τρόπο στο αρχείο XSL. Στην πραγματικότητα, η πλήρης διαδρομή θα μπορούσε να είχε χρησιμοποιηθεί. Ας ξαναγράψουμε το αρχείο XML, αυξάνοντας το βάθος του δέντρου (ex02-2.xml)









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

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

Για να κατανοήσουμε καλύτερα την ουσία των παραπάνω, ας περάσουμε απευθείας στα παραδείγματα και ας δούμε πρώτα τη σήμανση των εγγράφων XML.

Σήμανση εγγράφων XML

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

Συγγραφέας 1 Τίτλος 1 Τιμή 1 Συγγραφέας 2 Τίτλος 2 Τιμή 2 Συγγραφέας 3 Τίτλος 3 Τιμή 3

Όπως μπορείτε να δείτε από το παραπάνω παράδειγμα, όλα είναι πολύ κοινά και απλά. Ταυτόχρονα, το έγγραφο XML περιέχει πολύ πιο λεπτομερείς πληροφορίες σε σύγκριση με ένα κανονικό έγγραφο HTML. Στο παράδειγμά μας, είναι πολύ εύκολο να καταλάβουμε ότι η ετικέτα υπεύθυνος για τον συγγραφέα του βιβλίου, ετικ - για τον τίτλο, ετικέτα - για την τιμή, κ.λπ. Έτσι, κάθε ετικέτα έχει τη δική της σημασία.

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

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

  1. Προσδιόρισε ρητά τη δομή στο έγγραφο XML, το οποίο με τη σειρά του κατέστησε δυνατή την περαιτέρω επεξεργασία λογισμικούτεκμηριώστε, για παράδειγμα, χρησιμοποιώντας την τεχνολογία XSLT, την οποία θα μελετήσουμε λίγο αργότερα. Ταυτόχρονα, ένα από τα κύρια χαρακτηριστικά είναι ότι αυτό το έγγραφο παραμένει κατανοητό στον μέσο άνθρωπο.
  2. Διαχώρισε τα δεδομένα στο έγγραφο XML από το πώς θα έπρεπε να παρουσιάζονται οπτικά. Αυτό, με τη σειρά του, παρείχε άφθονες ευκαιρίες για δημοσίευση δεδομένων σε διαφορετικά μέσα, για παράδειγμα, σε χαρτί ή στο Διαδίκτυο.

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

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

Δομή εγγράφων XML

Για να εισαγάγουμε τη δομή των εγγράφων XML, ας δούμε το απλούστερο παράδειγμα ενός εγγράφου XML.

Βιβλίο 1 Συγγραφέας 1 Τιμή 1 Βιβλίο 2 Συγγραφέας 2 Τιμή 2 Βιβλίο 3 Συγγραφέας 3 Τιμή 3

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

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

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

Αυτό είναι όλο. Καλή τύχη και επιτυχία στην εκμάθηση των βασικών της XML.



Συνιστούμε να διαβάσετε

Κορυφή