1 ΙΟΝΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ
Ηλεκτρονική Δημοσίευση – XSLT – Κων/νος Βλαχόπουλος 2 ΕΡΓΑΣΙΑ ΣΤΟ ΜΑΘΗΜΑ ΗΛΕΚΤΡΟΝΙΚΗ ΔΗΜΟΣΙΕΥΣΗ ΘΕΜΑ: ΕΜΦΑΝΙΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ – Η XSLT ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: ΣΑΡΑΝΤΟΣ ΚΑΠΙΔΑΚΗΣ ΦΟΙΤΗΤΗΣ: ΒΛΑΧΟΠΟΥΛΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ ΜΑΙΟΣ 2005
Ηλεκτρονική Δημοσίευση – XSLT – Κων/νος Βλαχόπουλος 3 ΠΕΡΙΕΧΟΜΕΝΑ ΠΑΡΟΥΣΙΑΣΗΣ Εισαγωγή Η XML – Βασικά στοιχεία Η οικογένεια γλωσσών XSL H XSLT H X-Path Εφαρμογές της XSLT Σχεδιασμός Δικτυακών Τόπων Δημιουργία Εφαρμογών για διαφορετικές συσκευές Βάσεις Δεδομένων Υπηρεσίες Προσαρμοσμένες στο Χρήστη – Personalization Εξαγωγή δεδομένων XSLT tools X-Ray XML Editor Χρήση φυλλομετρητών Επίλογος
Ηλεκτρονική Δημοσίευση – XSLT – Κων/νος Βλαχόπουλος 4 ΕΙΣΑΓΩΓΗ Από την συμβατική δημοσίευση στην Ηλεκτρονική δημοσίευση Από την εμφάνιση στην δομή Από την δομή στην εμφάνιση Από την HTML στην XML
Ηλεκτρονική Δημοσίευση – XSLT – Κων/νος Βλαχόπουλος 5 Η XML Κώστας Βλαχόπουλος Ετικέτα αρχής Γνώρισμα Κείμενο Ετικέτα τέλους DTDs Καλά διαμορφωμένα (well – formed) και έγκυρα (valid) τεκμήρια XML Περιγράφουμε τη δομή ενός εγγράφου
Ηλεκτρονική Δημοσίευση – XSLT – Κων/νος Βλαχόπουλος 6 ΚΟΜΒΟΙ ΚΑΙ ΣΧΕΣΕΙΣ (1/2) ΕΙΔΗ ΚΟΜΒΩΝ Ο κόμβος ρίζας (The root) Τα στοιχεία (Elements ) Κείμενο (Text) Γνωρίσματα (Attributes) Χώρους ονομάτων (Namespaces) Οδηγίες επεξεργασίας (Processing instructions ) Σχόλια (Comments) ΣΧΕΣΕΙΣ ΜΕΤΑΞΥ ΤΩΝ ΚΟΜΒΩΝ Parent (γονέας) Children (παιδιά) Siblings (αδέλφια) Ancestors (Πρόγονοι) Descendants (απόγονοι
Ηλεκτρονική Δημοσίευση – XSLT – Κων/νος Βλαχόπουλος 7 ΚΟΜΒΟΙ ΚΑΙ ΣΧΕΣΕΙΣ (2/2) Harry Potter J K. Rowling
Ηλεκτρονική Δημοσίευση – XSLT – Κων/νος Βλαχόπουλος 8 Η ΟΙΚΟΓΕΝΕΙΑ ΓΛΩΣΣΩΝ XSL H XML δεν περιγράφει την μορφή Η HTML δεν περιγράφει την δομή Η XSL δίνει μορφή στην δομημένη συγκρότηση της XML Περιλαμβάνει δυο χωριστές γλώσσες Μια γλώσσα μετατροπής (XSLT) Μια γλώσσα διαμόρφωσης (XSL-FO) Χρησιμοποιεί εκφράσεις μέσω της X-Path
Ηλεκτρονική Δημοσίευση – XSLT – Κων/νος Βλαχόπουλος 9 H XSLT Η XSLT λειτουργεί μετατρέποντας ένα XML δένδρο σε ένα άλλο XML δένδρο O επεξεργαστής XSLT δέχεται το αρχικό δένδρο (έγγραφο XML) και παράγει ένα νέο δένδρο επίσης σε XML. Η XSLT περιλαμβάνει λειτουργίες για την επιλογή των κόμβων από ένα δένδρο, την αλλαγή της σειράς εμφάνισης των κόμβων την εξαγωγή των νέων κόμβων.
Ηλεκτρονική Δημοσίευση – XSLT – Κων/νος Βλαχόπουλος 10 ΑΡΧΙΤΕΚΤΟΝΙΚΗ XML έγγραφο XSL stylesheet XSL Επεξεργαστής Τελικό έγγραφο σε XML ή άλλη μορφή
Ηλεκτρονική Δημοσίευση – XSLT – Κων/νος Βλαχόπουλος 11 ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ ΤΗΣ XSLT - TEMPLATES Κάθε template rule έχει ένα pattern, που καθορίζει τους κόμβους που πρέπει να ταυτιστούν ένα XSLT style sheet, περιδιαβαίνει το XML έγγραφο για να ταιριάξει κάθε κόμβο με το pattern του κάθε template Όταν ο επεξεργαστής βρει έναν κόμβο που ταιριάζει με το pattern του template, χρησιμοποιεί τους κανόνες του template όπως για παράδειγμα κάποια ειδική σήμανση, νέα στοιχεία κλπ. για να παράγει το νέο XML έγγραφο.
Ηλεκτρονική Δημοσίευση – XSLT – Κων/νος Βλαχόπουλος 12 ΛΟΙΠΑ ΣΤΟΙΧΕΙΑ xsl:value-of υπολογίζει την αξία κάποιου μέρους τους περιεχομένου του εισερχόμενου εγγράφου και το αντιγράφει στο εξερχόμενο έγγραφο χρησιμοποιείται για να φιλτράρει το παραγόμενο έγγραφο περιέχει ένα template το οποίο και μπορεί να εφαρμοστεί αν και μόνο ισχύει μια συγκεκριμένη συνθήκη σε συνδυασμό με τα και εκφράζει πολλαπλές υποθετικές εργασίες εφαρμόζει ένα template rule στο τρέχον στοιχείο ή στο τρέχον child node του στοιχείου.
Ηλεκτρονική Δημοσίευση – XSLT – Κων/νος Βλαχόπουλος 13 Ένα απλό παράδειγμα Εφαρμόζουμε τα ακόλουθο XSL style sheet, Έστω το ακόλουθο XML έγγραφο Kostas Vlachopoulos …και παράγεται το ακόλουθο αποτέλεσμα Vlachopoulos, Kostas
Ηλεκτρονική Δημοσίευση – XSLT – Κων/νος Βλαχόπουλος 14 ΛΙΓΑ ΛΟΓΙΑ ΓΙΑ ΤΗΝ Χ-Path Είδος σύνταξης για να αναφερόμαστε στα μέρη – κόμβους ενός XML εγγράφου Οι εκφράσεις της X- path είναι πάρα πολύ απλές και μοιάζουν με τις εκφράσεις που συναντούμε σε οποιοδήποτε σύστημα διαχείρισης αρχείων ενός ηλεκτρονικού υπολογιστή Π.χ. bookstore/book/price Χωρίς γνώση της X—Path είναι αδύνατο να συνταχθούν XSLT έγγραφα.
Ηλεκτρονική Δημοσίευση – XSLT – Κων/νος Βλαχόπουλος 15 Βασικά σύμβολα ΕΚΦΡΑΣΗΠΕΡΙΓΡΑΦΗ Όνομα κόμβουΕπιλέγει όλους τους κόμβους παιδιά του κόμβου /Επιλέγει από τον κόμβο ρίζας //Επιλέγει τους κόμβους του εγγράφου αρχίζοντας από τον τρέχον κόμβο που ταιριάζει με την επιλογή ανεξαρτήτως του που βρίσκεται..Επιλέγει τον τρέχον κόμβο..Επιλέγει τον γονέα του τρέχοντος το γνώρισμα
Ηλεκτρονική Δημοσίευση – XSLT – Κων/νος Βλαχόπουλος 16 Ένα απλό παράδειγμα Harry Potter Second Learning XML Με την έκφραση bookstore/book/price επιλέγουμε όσα έχουν επισημανθεί ανωτέρω με πράσινο χρώμα 2. Με την έκφραση bookstore//edition επιλέγουμε όσα έχουν επισημανθεί ανωτέρω με μοβ χρώμα 3. Με την έκφραση επιλέγουμε τα γνωρίσματα που έχουν επισημανθεί παραπάνω με κόκκινο χρώμα
Ηλεκτρονική Δημοσίευση – XSLT – Κων/νος Βλαχόπουλος 17 ΕΦΑΡΜΟΓΕΣ ΤΗΣ XSLT Σχεδιασμός Δικτυακών τόπων Εφαρμογές σε διαφορετικές συσκευές Βάσεις δεδομένων Personalization Εξαγωγή δεδομένων
Ηλεκτρονική Δημοσίευση – XSLT – Κων/νος Βλαχόπουλος 18 ΣΧΕΔΙΑΣΜΟΣ ΔΙΚΤΥΑΚΩΝ ΤΟΠΩΝ Σχεδιασμός δικτυακών τόπων με την XML Σύνταξη του περιεχομένου σε XML Προσδιορισμός της εμφάνισης με την XSLT Η μετατροπή του περιεχομένου δεν επηρεάζει την εμφάνιση
Ηλεκτρονική Δημοσίευση – XSLT – Κων/νος Βλαχόπουλος 19 ΕΦΑΡΜΟΓΕΣ ΣΕ ΔΙΑΦΟΡΕΤΙΚΕΣ ΣΥΣΚΕΥΕΣ Κινητή Τηλεφωνία Palmtops Προσωπικοί υπολογιστές …
Ηλεκτρονική Δημοσίευση – XSLT – Κων/νος Βλαχόπουλος 20 ΚΙΝΗΤΗ ΤΗΛΕΦΩΝΙΑ
Ηλεκτρονική Δημοσίευση – XSLT – Κων/νος Βλαχόπουλος 21 ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Χρησιμοποίηση της XML για την περιγραφή των δεδομένων Χρησιμοποίηση της XSLT για την υποβολή ερωτημάτων Π.χ. τα μεταδεδομένα μιας συλλογής με δίσκους μουσικής
Ηλεκτρονική Δημοσίευση – XSLT – Κων/νος Βλαχόπουλος 22 PERSONALIZATION (1/2) Είναι η δυνατή η δημιουργία προφίλ χρηστών με βάση ένα συγκεκριμένο style sheet Δυνατότητα απευθείας δημιουργίας του style sheet με βάση τις ενέργειες του χρήστη
Ηλεκτρονική Δημοσίευση – XSLT – Κων/νος Βλαχόπουλος 23 PERSONALIZATION (2/2)
Ηλεκτρονική Δημοσίευση – XSLT – Κων/νος Βλαχόπουλος 24 ΕΞΑΓΩΓΗ ΔΕΔΟΜΕΝΩΝ Το λογισμικό ANDES της ΙΒΜ Η εξαγωγή δεδομένων από δικτυακούς τόπους με χρήση των τεχνολογιών της XML Εύρεση των HTML σελίδων σε ένα δικτυακό τόπο ακολουθώντας τους υπερσυνδέσμους Μετατροπή της HTML σε XML Εντοπισμός υπερσυνδέσεων Σύνθεση δεδομένων Χαρτογράφηση (mapping) δεδομένων Ολοκλήρωση δεδομένων
Ηλεκτρονική Δημοσίευση – XSLT – Κων/νος Βλαχόπουλος ΕΥΡΕΣΗ ΤΩΝ HTML ΣΕΛΙΔΩΝ Χρησιμοποιούνται οι γνωστοί crawlers Οι σελίδες χωρίζονται σε 2 κατηγορίες Σε αυτές που προορίζονται για την πλοήγηση Σε αυτές που περιλαμβάνουν το περιεχόμενο Ο crawler πρέπει να έχει την δυνατότητα να ξεχωρίζει τις σελίδες αυτές
Ηλεκτρονική Δημοσίευση – XSLT – Κων/νος Βλαχόπουλος ΜΕΤΑΤΡΟΠΗ ΤΗΣ HTML σε XML Μετατροπή σελίδων από HTML σε XHTML Μετατροπή της XHTML σε XML χρησιμοποιώντας την XSLT
Ηλεκτρονική Δημοσίευση – XSLT – Κων/νος Βλαχόπουλος ΕΝΤΟΠΙΣΜΟΣ ΥΠΕΡΣΥΝΔΕΣΕΩΝ Πρόβλημα στον εντοπισμό δυναμικών υπερσυνδέσεων Δημιουργούνται από φόρμες HTML και κώδικα Javascript Μέσω διαφόρων φίλτρων XSLT από τα οποία διέρχονται οι σελίδες Αναλύονται οι φόρμες HTML και ο κώδικας Javascript Παράγεται λίστα από στατικούς υπερσυνδέσμους που μιμούνται τις επιλογές ενός φανταστικό χρήστη Δεν χρειάζεται να μετατραπεί ο crawler
Ηλεκτρονική Δημοσίευση – XSLT – Κων/νος Βλαχόπουλος ΣΥΝΘΕΣΗ ΔΕΔΟΜΕΝΩΝ Πρόβλημα: Συνένωση δεδομένων που προέρχονται από διαφορετικούς δικτυακούς τόπους Λύση: Χρήση της XSLT με style sheets που περιέχουν γνώση θεματικών περιοχών Αποτέλεσμα: Συμπλήρωση κενών
Ηλεκτρονική Δημοσίευση – XSLT – Κων/νος Βλαχόπουλος ΧΑΡΤΟΓΡΑΦΗΣΗ ΔΕΔΟΜΕΝΩΝ Πρόβλημα: Διαφορετική ορολογία στους δικτυακούς τόπους διαφορετική όροι διαφορετικές μονάδες μέτρησης ορθογραφικά ή συντακτικά λάθη Λύση: Χρήση της XSLT στον κώδικα της οποίας προσθέτονται: κοινές εκφράσεις γνώση συγκεκριμένων θεματικών τομέων υποθετικές δηλώσεις
Ηλεκτρονική Δημοσίευση – XSLT – Κων/νος Βλαχόπουλος ΟΛΟΚΛΗΡΩΣΗ ΔΕΔΟΜΕΝΩΝ Πρόβλημα: Δεδομένα διάσπαρτα σε έναν δικτυακό τόπο Λόγω χρήσης Frames Χωρισμός δεδομένων για να μην υπάρχει υπερφόρτωση πληροφορίας σε μια σελίδα Λύση: Χρήση της XSLT στον κώδικα της οποίας περιλαμβάνεται εντολή για τον συσχετισμό των δεδομένων με βάση το URL προέλευσης
Ηλεκτρονική Δημοσίευση – XSLT – Κων/νος Βλαχόπουλος 31 XSLT Tools Υπάρχουν διάφορα εργαλεία όπως: XSLT Processors XSLT Editor XSLT Mapper HTML-to-XML Importer XSLT Designer XSLT Debugger
Ηλεκτρονική Δημοσίευση – XSLT – Κων/νος Βλαχόπουλος 32 Υπάρχοντα εργαλεία Οxygen Komodo MoreMotion Web Designer ShoXSPad Stylus Studio TagFree2000 XML Builder Tiger XSLT Mapper Treebeard Visual XML Transformation Tool Visual XSLT xslide XSLT-process XTrans
Ηλεκτρονική Δημοσίευση – XSLT – Κων/νος Βλαχόπουλος 33 O XRay XML Editor Πρόκειται για έναν απλό Editor με τον οποίο έχουμε την δυνατότητα Να δημιουργήσουμε - εισάγουμε ένα XML έγγραφο Να δημιουργήσουμε – εισάγουμε ένα XSL style sheet Να πραγματοποιήσουμε την μετατροπή του XML εγγράφου σε HTML με βάση ένα style sheet Να δούμε την τελική μορφή του HTML εγγράφου που δημιουργήσαμε όπως θα παρουσιαζόταν στον φυλλομετρητή
Ηλεκτρονική Δημοσίευση – XSLT – Κων/νος Βλαχόπουλος 34
Ηλεκτρονική Δημοσίευση – XSLT – Κων/νος Βλαχόπουλος 35 Χρήση Φυλλομετρητών για την μετατροπή XML εγγράφων με XSL Απαραίτητο Λογισμικό (Windows) Microsoft Internet Explorer 6.0 Wordpad ή Notepad Εναλλακτικά μπορεί να χρησιμοποιηθεί και ένας XML Editor Στο XML έγγραφο τοποθετούμε την ακόλουθη δήλωση
Ηλεκτρονική Δημοσίευση – XSLT – Κων/νος Βλαχόπουλος 36
Ηλεκτρονική Δημοσίευση – XSLT – Κων/νος Βλαχόπουλος 37 ΕΠΙΛΟΓΟΣ Ηλεκτρονικά δημοσιεύματα σε XML Ευχερέστερος έλεγχος ποιότητας Ευκολότερος εντοπισμός πληροφορίας Ηλεκτρονική δημοσίευση μέσω της XML και της XSLT
Ηλεκτρονική Δημοσίευση – XSLT – Κων/νος Βλαχόπουλος 38 ΠΡΟΒΛΗΜΑΤΙΣΜΟΙ… Βάσεις δεδομένων με χρήση XML και XSLT Δυνατότητες εφαρμογής XSLT και σημασιολογικός ιστός
Ηλεκτρονική Δημοσίευση – XSLT – Κων/νος Βλαχόπουλος 39 ΕΝΔΕΙΚΤΙΚΗ ΒΙΒΛΙΟΓΡΑΦΙΑ us/dnmitta/html/mmitvxslt.asp us/dnmitta/html/mmitvxslt.asp
40 ΤΕΛΟΣ ΠΑΡΟΥΣΙΑΣΗΣ Ευχαριστώ για την προσοχή σας!!!