Εισαγωγή στην XML Από την Καραδημητρίου Κρυσταλλένια Καθηγήτρια Πληροφορικής στο Γυμνάσιο και Ενιαίο Λύκειο Φιλώτα Φλώρινας Οκτώβριος 2004
Εισαγωγή στην XML Καραδημητρίου Κρυσταλλένια 2 Βασικά προβλήματα στη διαχείριση πληροφοριών Συγκέντρωση Αποθήκευση Ανάκτηση Ανταλλαγή
Εισαγωγή στην XML Καραδημητρίου Κρυσταλλένια 3 EDI Ηλεκτρονική ανταλλαγή δομημένων με συγκεκριμένο τρόπο εγγράφων Χρησιμοποιείται 20 χρόνια Πρότυπα ANSI X.12 (ΗΠΑ και Καναδάς) EDIFACT (Διεθνές)
Εισαγωγή στην XML Καραδημητρίου Κρυσταλλένια 4 EDI: Πλεονεκτήματα Ο χειρισμός εγγράφων μειώνεται, εξοικονομώντας χρόνο και χρήμα Δεδομένα ανταλάσσονται σε πραγματικό χρόνο Υπάρχουν λιγότερα λάθη αφου τα δεδομένα πληκτρολογούνται μια φορά Ο αναβαθμισμένος διαμοιρασμός δεδομένων δίνει δυνατότητα για μεγαλύτερο συντονισμό ενεργειών μεταξύ επαγγελματιών συνεταίρων Η ροή χρημάτων επιταχύνεται και οι πληρωμές γίνονται γρηγορότερα
Εισαγωγή στην XML Καραδημητρίου Κρυσταλλένια 5 EDI: Μειονεκτήματα Πολύ πληροφορία είναι ακόμα σε χαρτί Η ηλεκτρονική ανταλλαγή είναι η εξαίρεση παρά ο κανόνας Το Internet είναι μία χαμηλού κόστους λύση σε σχέση με το EDI που χρησιμοποιεί value added networks (VANs)
Εισαγωγή στην XML Καραδημητρίου Κρυσταλλένια 6 SGML (πρόγονος της XML) Η διαχείριση εγγράφων καταναλώνει το: 15% του εισοδήματος της εταιρίας 25% των εργατικών εξόδων % της δουλειάς ενός υπαλλήλου γραφείου Η Standard generalized markup language (SGML) σχεδιάστηκε να μειώσει το κόστος της διαχείρισης εγγράφων
Εισαγωγή στην XML Καραδημητρίου Κρυσταλλένια 7 Markup language Ενσωματωμένη πληροφορία μέσα στο κείμενο σχετικά με την ερμηνεία και το νόημα του κειμένου This uniquely creative collaboration between Miles Davis and Gil Evans has already resulted in two extraordinary albums — Miles Ahead CL 1041> and Porgy and Bess CL 1274.
Εισαγωγή στην XML Καραδημητρίου Κρυσταλλένια 8 SGML Ένα ανεξάρτητο πρότυπο για έκδοση σε όλα τα μέσα Σε διαφορετικά συστήματα Φορητή Καθορίζει τη δομή ενός εγγράφου Η γλώσσα από την οποία προήλθαν οι HTML και XML
Εισαγωγή στην XML Καραδημητρίου Κρυσταλλένια 9 SGML: Πλεονεκτήματα Ίδια πλεονεκτήματα με την επεξεργασία κειμένου Ευελιξία Παράγει αποτέλεσμα για πολλαπλά μέσα Βελτιωμένες εκδόσεις Έλεγχος εκδόσεων των εγγράφων
Εισαγωγή στην XML Καραδημητρίου Κρυσταλλένια 10 SGML: Μειονεκτήματα Είναι αρκετή πολύπλοκη και δύσχρηστη γλώσσα.
Εισαγωγή στην XML Καραδημητρίου Κρυσταλλένια 11 SGML κώδικας 16 XML: Managing Data Exchange Words can have no single fixed meaning. Like wayward electrons, they can spin away from their initial orbit and enter a wider magnetic field. No one owns them or has a proprietary right to dictate how they will be used. … …
Εισαγωγή στην XML Καραδημητρίου Κρυσταλλένια 12 HTML κώδικας 16 XML: Managing Data Exchange Words can have no single fixed meaning. Like wayward electrons, they can spin away from their initial orbit and enter a wider magnetic field. No one owns them or has a proprietary right to dictate how they will be used.
Εισαγωγή στην XML Καραδημητρίου Κρυσταλλένια 13 Προβλήματα με την HTML Η παρουσίαση δεν έχει κάποιο νόημα Ο αναγνώστης συμπεραίνει το νόημα Οι μηχανές δεν είναι καλές στο να συμπεραίνουν το νόημα
Εισαγωγή στην XML Καραδημητρίου Κρυσταλλένια 14 XML Extensible markup language – Μία απλή έκδοση της sgml Σχεδιασμένη για να εισάγει την sgml στο διαδίκτυο Μια μετα-γλώσσα (meta-language) Μια γλώσσα που παράγει γλώσσες Θα αντικαταστήσει σταδιακά την HTML XHTML μία αναδιαμόρφωση της HTML 4 στην XML 1.0 XHTML
Εισαγωγή στην XML Καραδημητρίου Κρυσταλλένια 15 XML ενάντια HTML Δομημένο κείμενο Δομή καθορισμένη από το χρήστη Αποδοτικότερη διασύνδεση υπερκειμένου Ευέλικτο και προσαρμόσιμο κείμενο Μορφοποιημένο κείμενο Προκαθορισμένη μορφή Περιορισμένη διασύνδεση υπερκειμένου
Εισαγωγή στην XML Καραδημητρίου Κρυσταλλένια 16 Κανόνες στην XML Τα στοιχεία (elements) πρέπει να έχουν μια ετικέτα ανοίγματος και μία ετικέτα (tag) κλεισίματος Τα στοιχεία ακολουθούν μια αυστηρή ιεραρχία με ένα μόνο στοιχείο ρίζα (root element) και τα υπόλοιπα στοιχεία μέσα σε αυτό Τα στοιχεία δε μπορούν να υπερκαλύπτουν (μοιράζονται) άλλα στοιχεία Τα ονόματα των στοιχείων πρέπει να υπακούουν τις συμβάσεις ονομάτων της XML Η XML διαχωρίζει μικρά – κεφαλαία (case sensitive)
Εισαγωγή στην XML Καραδημητρίου Κρυσταλλένια 17 Η HTML ενάντια στην XML HTMLXML MIST7600 Data Management 3 credit hours MIST7600 Data Management 3
Εισαγωγή στην XML Καραδημητρίου Κρυσταλλένια 18 Αναζήτηση Οι μηχανές αναζήτησης αναζητούν συγκεκριμένες ετικέτες (tags) στον κώδικα XML Ταχύτερα Με μεγαλύτερη ακρίβεια
Εισαγωγή στην XML Καραδημητρίου Κρυσταλλένια 19 Αναμενόμενα κέρδη Αποθήκευση μια φορά και μορφοποίηση πολλές φορές Ανεξαρτησία υλικού – λογισμικού Συγκέντρωση δεδομένων μια φορά και ανταλλαγή πολλές φορές Ταχύτερη εστιασμένη αναζήτηση Μικρότερη συμφόρηση του δικτύου
Εισαγωγή στην XML Καραδημητρίου Κρυσταλλένια 20 XML Προδιαγραφές XML 1.0 Καθορίζει το συντακτικό της XML XPointer, XLink Καθορίζει ένα συγκεκριμένο τρόπο να αναπαριστά τους συνδέσμους μεταξύ των διαφόρων πηγών (resources) XSL Καθορίζει μία γλώσσα για το στυλ – μορφή της XML
Εισαγωγή στην XML Καραδημητρίου Κρυσταλλένια 21 XML – σχεδιασμός γλώσσας Οι σχεδιαστές λογισμικού πρέπει να καθορίσουν : Επιτρεπόμενες ετικέτες Κανόνες για εμφωλευμένες ετικέτες Ποια στοιχεία μπορούν να έχουν περαιτέρω επεξεργασία
Εισαγωγή στην XML Καραδημητρίου Κρυσταλλένια 22 XML Σχήμα (Schema) Το σχήμα καθορίζει Τα ονόματα και το περιεχόμενο όλων των στοιχείων που είναι επιτρεπτά σε ένα συγκεκριμένο έγγραφο Τη δομή ενός εγγράφου Πόσο συχνά ένα στοιχείο μπορεί να εμφανίζεται Τη σειρά με την οποία τα στοιχεία πρέπει να εμφανίζονται Ο τύπος των δεδομένων που το στοιχείο περιλαμβάνει
Εισαγωγή στην XML Καραδημητρίου Κρυσταλλένια 23 Τα Στοιχεία και το περιεχόμενο τους Τύπος στοιχείου (element type) Περιεχόμενο χαρακτήρα Στοιχείο (element) Άδειο στοιχείο Y.Papakonstantinou S. Abiteboul H. Garcia-Molina Object Fusion in Mediator Systems VLDB 96 Περιεχόμενο στοιχείου
Εισαγωγή στην XML Καραδημητρίου Κρυσταλλένια 24 Ιδιότητες στοιχείων Y.Papakonstantinou S. Abiteboul H. Garcia-Molina Object Fusion in Mediator Systems VLDB 96 Όνομα ιδιότητας Τιμή ιδιότητας
Εισαγωγή στην XML Καραδημητρίου Κρυσταλλένια 25 DOM Document object model Tο μοντέλο δεδομένων για ένα XML έγγραφο Ένα δένδρο (1:m)
Εισαγωγή στην XML Καραδημητρίου Κρυσταλλένια 26 Μοντέλο για τη δομή του DOM και API Ιεραρχία των αντικειμένων των κόμβων: Ιεραρχία έγγραφο, στοιχείο, ιδιότητα, κείμενο, σχόλιο,... Προγραμματισμός ανεξάρτητος γλώσσας DOM API : get... first/last child, prev/next sibling, childNodes insertBefore, replace getElementsByTagName...
Εισαγωγή στην XML Καραδημητρίου Κρυσταλλένια 27 Schema (cdlib.xsd) Δήλωση XML και ρίζα (root) όλων των εγγράφων σχήματος (schema documents)
Εισαγωγή στην XML Καραδημητρίου Κρυσταλλένια 28 Schema (cdlib.xsd) CD library definition <xsd:element name="cd" type="cdType" minOccurs="1” maxOccurs="unbounded"/>
Εισαγωγή στην XML Καραδημητρίου Κρυσταλλένια 29 Schema (cdlib.xsd) CD definition <xsd:element name= "track" type= "trackType" minOccurs= " 1 " maxOccurs= " unbounded " />
Εισαγωγή στην XML Καραδημητρίου Κρυσταλλένια 30 Schema (cdlib.xsd) Track definition
Εισαγωγή στην XML Καραδημητρίου Κρυσταλλένια 31 Κοινοί τύποι δεδομένων χαρακτήρας Λογική τιμή uriReference δεκαδικός πραγματικός ακέραιος χρόνος ημερομηνία
Εισαγωγή στην XML Καραδημητρίου Κρυσταλλένια 32 XML (cd.xml) <cdlibrary xmlns:xsi=" xsi:noNamespaceSchemaLocation="cdlib.xsd"> A Atlantic Pyramid Vendome 2:30 …
Εισαγωγή στην XML Καραδημητρίου Κρυσταλλένια 33 XSLT μοντέλο επεξεργασίας XML δέντρο προέλευσης XML,HTML,csv, text… τελικό δέντρο XSLT stylesheet Μεταμόρφωση
Εισαγωγή στην XML Καραδημητρίου Κρυσταλλένια 34 XSL Extensible stylesheet language Καθορίζει πως ένα XML έγγραφο μετατρέπεται από μια μορφή σε άλλη Διαφορετικές XSL μορφοποιήσεις μπορεί να χρησιμοποιηθεί να παρουσιάσουν το ίδιο xml έγγραφο με διαφορετικούς τρόπους Είναι ένα XML αρχείο
Εισαγωγή στην XML Καραδημητρίου Κρυσταλλένια 35 XSL Αποτελέσματα εφαρμογής του cd.xsl Pyramid, Atlantic, 1960 [A2 1325] 1 Vendome 00:02:30 2 Pyramid 00:10:46 Ella Fitzgerald, Verve, 2000 [D136705] 1 A tisket, a tasket 00:02:37 2 Vote for Mr. Rhythm 00:02:25 3 Betcha nickel 00:02:52
Complete List of Songs Complete List of Songs, [ ] cd.xsl
cd.xsl (συνέχεια)
Εισαγωγή στην XML Καραδημητρίου Κρυσταλλένια 38 XSLT Παράδειγμα συνέχεια...
Εισαγωγή στην XML Καραδημητρίου Κρυσταλλένια 39 XML και Βάσεις δεδομένων Η XML είναι ένα εργαλείο που χειρίζεται δεδομένα Τα XML έγγραφα πρέπει να αποθηκεύονται μακροπρόθεσμα Χρειάζεται ένα DBMS
Εισαγωγή στην XML Καραδημητρίου Κρυσταλλένια 40 Απαιτήσεις της DBMS Να αποθηκεύει ένα μεγάλο αριθμό εγγράφων Να αποθηκεύει μεγάλα έγγραφα Να Υποστηρίζει πρόσβαση σε τμήματα του εγγράφου (π.χ., τα δεδομένα για ένα απλό CD σε μια βιλιοθήκη με 20,000 CDs) Ταυτόχρονη πρόσβαση Έλεγχος εκδόσεων Να συγκεντρώνει δεδομένα από άλλες πηγές
Εισαγωγή στην XML Καραδημητρίου Κρυσταλλένια 41 RDBMS Εστιασμένο σε έγγραφα Αποθηκεύεται ως CLOB Εστιασμένο σε δεδομένα Αντικειμενο – σχεσιακές επεκτάσεις που υποστηρίζουν ανάκτηση στοιχείων και ανανέωση Αναμένεται οι φορείς RDBMS να προσφέρουν επεκτάσεις που υποστηρίζουν XML
Εισαγωγή στην XML Καραδημητρίου Κρυσταλλένια 42 Βάσεις δεδομένων σε XML Μια σημαντική αναλογία από σελίδες του δικτύου παράγονται από βάσεις δεδομένων Αντί να μετατρέπονται σε HTML θα έπρεπε να μετατρέπονται σε XML Μετατροπή με το XSLσε HTML Χρειάζονται εργαλεία για να μετατραπούν σχεσιακά δεδομένα σε XML
Εισαγωγή στην XML Καραδημητρίου Κρυσταλλένια 43 Παράδειγμα: Σχεσιακά δεδομένα με XML c2b2a2 c3b3a3 c1b1a1 CBA R R tuple A a1 /A B b1 /B C c1 /C /tuple tuple A a2 /A B b2 /B C c2 /C /tuple … /R R tuple ABC a1 b1 c1 tuple ABC a2 b2 c2 tuple ABC a3 b3 c3
Εισαγωγή στην XML Καραδημητρίου Κρυσταλλένια 44 Απλά εργαλεία Συγγραφής MS Notepad (Απλός Επεξεργαστής κειμένου) Textpad MS XML Notepad Beta 1.5
Εισαγωγή στην XML Καραδημητρίου Κρυσταλλένια 45 Συμπεράσματα Η XML αποτελεί μια σημαντική τεχνολογική ανάπτυξη Ο βασικός της στόχος είναι να υποστηρίζει την ανταλλαγή δεδομένων Περιορίζει το κόστος των επαγγελματικών συναλλαγών