150 likes | 265 Views
Υπηρεσίες Πληροφόρησης σε Ψηφιακό Περιβάλλον Ιόνιο Πανεπιστήμιο Τμήμα Αρχειονομίας & Βιβλιοθηκονομίας, Κέρκυρα. Ηλεκτρονική Δημοσίευση Θέμα: Τεχνολογίες Ιστού. Ο ιστός σαν χώρος δημοσίευσης: XSLT Μελισσάς Μ. Ιούνιος 2006. XSLT . Τι είναι;.
E N D
Υπηρεσίες Πληροφόρησης σε Ψηφιακό ΠεριβάλλονΙόνιο ΠανεπιστήμιοΤμήμα Αρχειονομίας & Βιβλιοθηκονομίας, Κέρκυρα Ηλεκτρονική Δημοσίευση Θέμα: Τεχνολογίες Ιστού. Ο ιστός σαν χώρος δημοσίευσης: XSLT Μελισσάς Μ. Ιούνιος 2006
XSLT. Τι είναι; • Η XSLT είναι μια γλώσσα περιγραφής για την μετατροπή των εγγράφων μορφότυπου XML στον μορφότυπο XHTML ή σε άλλα έγγραφα του ιδίου τύπου (XML). Χρησιμοποιεί την γλώσσα XPath για την πλοήγησή της μέσα στους παραπάνω τύπους εγγράφων.Αποτελεί ένα από τα ισχυρότερα εργαλεία ηλεκτρονικής δημοσίευσης του Ιστού (WWW)
H XSLTΠεριληπτικά • Η XSLT προέρχεται απο τα αρχικά των λέξεων eXtensible Stylesheet Language Transformations • Η XSLT αποτελεί το πιο σημαντικό κομμάτι της XSL (eXtensible Stylesheet Language) • Η XSLT μετατρέπει ένα έγγραφο διατυπωμένο σε XML σε ένα άλλο έγγραφο XML • Η XSLT χρησιμοποιεί την XPath για την πλοήγησή της μέσα στα έγγραφα XML • Η XSLT αποτελεί πρόταση του W3C (recommendation) και πρότυπο του Ιστού και ταυτόχρονα ισχυρό εργαλείο ηλεκτρονικής δημοσίευσης σ’ αυτόν.
Το Συντακτικό της XSLT • Το ριζικό στοιχείο το οποίο ορίζει το έγγραφο σαν έγγραφο XSL stylesheet έχει την μορφή: • <xsl:stylesheet> ή <xsl:transform> • Σημείωση: Οι δυό παραπάνω τρόποι διατύπωσης του ριζικού στοιχείου είναι ΙΣΟΔΥΝΑΜΟΙ. • Ο σωστός τρόπος συντακτικής διατύπωσης ενός εγγράφου XSL stylesheet σύμφωνα με το W3C είναι: • <xsl:stylesheet version=“1.0” xmlns:xsl=“http://www.w3.org/1999/XSL/Transform”> Δήλωση Ονοματοποθεσίας
XSLT Cdcatalog. xml XHTML Ηλεκτρονική Δημοσίευση H XSLTσε δράση! • Θα μετατρέψουμε το παρακάτω XML έγγραφο με όνομα cdcatalog.xmlσ’ ένα έγγραφο τύπου XHTML. • Το έγγραφο περιέχει την Μουσική Συλλογή διαφόρων καλλιτεχνών της ποπ μουσικής. Θα δούμε με τον τρόπο αυτό τις μεγάλες δυνατότητες ηλεκτρονικής δημοσίευσης της XSLT στον παγκόσμιο Ιστό
Cdcatalog. xml To «ακατέργαστο» έγγραφο XML • Το παρακάτω έγγραφο cdcatalog.xmlπεριέχει την μουσική συλλογή διαφόρων pop καλλιτεχνών: <?xml version="1.0" encoding="ISO-8859-1"?> <catalog> <cd> <title>Empire Burlesque</title> <artist>Bob Dylan</artist> <country>USA</country> <company>Columbia</company> <price>10.90</price> <year>1985</year> </cd> . . . </catalog>
XSLT Δημιουργία του αρχείου XSL StyleSheet • Δημιουργούμε το αρχείο που περιέχει το στυλ μορφοποίησης δηλ. το αρχείο XSL Stylesheet (cdcatalog.xsl) με τη βοήθεια ενός προτύπου (οδηγού). <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <h2>My CD Collection</h2> <table border="1"> <tr bgcolor="#9acd32"> <th align="left">Title</th> <th align="left">Artist</th> </tr> <xsl:for-each select="catalog/cd"> <tr> <td><xsl:value-of select="title"/></td> <td><xsl:value-of select="artist"/></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet> Ονοματοποθεσία XSLT Ριζικό στοιχείο
Το στοιχείο <xsl:template> … <xsl:stylesheet version=“1.0” xmlns:xsl=http://www.w3.org/...> <xsl:template match=“/”> … • Το στοιχείο <xsl:template> χρησιμοποιείται για να περιγράψει, να δημιουργήσει τα πρότυπα. • Το γνώρισμα matchχρησιμοποιείται για να συσχετίσει ένα πρότυπο με ένα στοιχείο του εγγράφου XML. Το γνώρισμα match επίσης μπορεί να χρησιμοποιηθεί για να ορίσει ένα πρότυπο για ολόκληρο το έγγραφο XML. Η τιμή του γνωρίσματος match είναι μια έκφραση της XPath, π.χ η έκφραση match=”/” προσδιορίζει σαν κριτήριο επιλογής ολόκληρο το έγγραφο XML.
Το στοιχείο <xsl:for-each> • Το στοιχείο <xsl:for-each> χρησιμοποιείται για τη δημιουργία ενός βρόγχου επανάληψης μέσα στην XSLT. • Έτσι το στοιχείο <xsl:for-each> μπορεί να χρησιμοποιηθεί για να επιλέξει κάθε στοιχείο του εγγράφου XML για ένα συγκεκριμένο σύνολο κόμβων. … </tr> <xsl:for-each select=“catalog/cd”> <tr> …
Το στοιχείο <xsl:value-of> … <tr> <td><xsl:value-of select=“title”/></td> <td><xsl:value-of select=“artist”/></td> </tr> … • Το στοιχείο <xsl:value-of> μπορεί να χρησιμοποιηθεί για την εξαγωγή της τιμής ενός στοιχείου του εγγράφου XML και προσθήκη του στο σενάριο εξόδου του τροποποιημένου αρχείου • Η τιμή του γνωρίσματος selectείναι μια έκφραση της Xpath. Η έκφραση XPath χρησιμοποιείται όπως στην πλοήγηση ανάμεσα στα αρχεία ενός συστήματος, ενώ το σύμβολο (/) επιλέγει υποκαταλόγους.
XSLT Ηλεκτρονική Δημοσίευση Ηλεκτρονική Δημοσίευση!(1/2) • Για την Ηλεκτρονική Δημοσίευση του αρχείου cdcatalog.xmlσυνδέουμε το αρχείο αυτό με το αρχείο cdcatalog.xsl • Η εντολή που πραγματοποιεί τη σύνδεση αυτή είναι: • <?xml-stylesheet type=“text/xsl” href=“cdcatalog.xsl?>
XSLT Ηλεκτρονική Δημοσίευση Ηλεκτρονική Δημοσίευση(2/2) • Το αρχείο cdcatalog.xmlδιαμορφώνεται πλέον ως εξής: <?xml version="1.0" encoding="ISO-8859-1"?> <?xml-stylesheet type="text/xsl" href="cdcatalog.xsl"?> <catalog> <cd> <title>Empire Burlesque</title> <artist>Bob Dylan</artist> <country>USA</country> <company>Columbia</company> <price>10.90</price> <year>1985</year> </cd> . . . </catalog>
XSLT Browsers • Ο Firefox 1.2 έχει υποστήριξη για την XML και XSLT καθώς και για τα CSS. • O Mozilla 1.7.8 έχει υποστήριξη για την ανάδειξη XML εγγράφων αλλά και για τα CSS. Επίσης ο Mozilla υποστηρίζει μερικώς τις ονοματοποθεσίες (namespaces). Ο Mozilla είναι διαθέσιμος και με XSLT υποστήριξη. • Ο Netscape 8 βασίζεται στη μηχανή του Mozilla και υποστηρίζει με το ίδιο ακριβώς τρόπο την XML και XSLT. • Ο Opera υποστηρίζει την XML και τα CSS. • O Internet Explorer v6.0 έχει πλήρη υποστήριξη XML, συμπεριλαμβανομένων των ονοματοποθεσιών, CSS και XSLT v1.0. O XML διερμηνέας βασίζεται στην XSLT v1.0 και στο XPath v1.0 όπως αυτές έχουν προταθεί απο το W3C. • Ο Internet Explorer v5.0 δεν είναι συμβατός με την προτυποποίση της XSL όπως αυτή προτάθηκε απο το W3C. Προκειμένου λοιπόν να έχουμε υποστήριξη στις τεχνολογίες XSL, XSLT κτλ θα πρέπει να προβούμε σε αναβάθμιση του προγράμματος πλοήγησης στην έκδοση v6.0.
ΤΕΛΟΣ • Σας ευχαριστώ για την προσοχή σας!