Μια εισαγωγή στην XSL

Σχετικά έγγραφα
ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ - XML

ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ

BibConvert μετατροπές LOM

Προγραμματισμός και Συστήματα στον Παγκόσμιο Ιστό Ενότητα 6: XSL. Καθ. Ιωάννης Γαροφαλάκης Πολυτεχνική Σχολή Μηχανικών Η/Υ & Πληροφορικής

Σημασιολογικός Ιστός (Semantic Web) - XML

Δικησοκενηρικά Πληροθοριακά Σσζηήμαηα

Σημασιολογικός Ιστός (Semantic Web) - XML

Διαδίκτυο και Εφαρμογές 2η Άσκηση Μετασχηματισμοί XML και XSL. Γιαννέλος Γιάννης ΑΜ: Μαρινέλλης Γιώργος ΑΜ:

Εισαγωγή στην XML (μέρος 1 ο ) Χρήστος Ηλιούδης

Γλώσσες Σήµανσης (Markup Languages) Τεχνολογία ιαδικτύου και Ηλεκτρονικό Εµπόριο

κεφάλαιο 3 Η ΓΛΩΣΣΑ XML Εισαγωγή

Εισαγωγή XML: Extensible Markup Language Ορίστηκε από το WWW Consortium (W3C) ως συµπλήρωµα της HTML. εν σχεδιάστηκε για βάσεις δεδοµένων αλλά για δια

Εισαγωγή στην Γλώσσα XML

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 9η Διάλεξη: Η γλώσσα XML

Εισαγωγή στην Γλώσσα XML

Μεηαζρεκαηηζκόο XSLT XML StyleSheet Transformation. ηζρύνλ 1999

Αναπαράςταςθ Γνϊςθσ ςτον Παγκόςμιο Ιςτό Ενότθτα 2: XML Δομθμζνα Ζγγραφα Ιςτοφ, Μζροσ 5 ο XSLT

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Τα tags μπορούν να εφωλιασθούν δομικά σε οποιοδήποτε βάθος <book> <author> XX </author> </book>

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Εισαγωγή στην Επιστήμη και Τεχνολογία των Υπηρεσιών

Άσκηση 1. Απάντηση Άσκησης 1

ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΡΗΤΗΣ

Πτυχιακή Εργασία. Σχεδιασμός & ανάπτυξη δικτυακής εφαρμογής οργάνωσης και διαχείρισης αεροδρομίου με χρήση λογισμικού ανοιχτού κώδικα

ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ

3. Επερώτηση XML Εγγράφων: Η Γλώσσα XPath

Σημασιολογικός Ιστός (Semantic Web) - XML

Βασικά προβλήµατα στη διαχείριση πληροφοριών. EDI: Πλεονεκτήµατα EDI. EDI: Μειονεκτήµατα. SGML (πρόγονος της XML)

Computer & Applied Sciences Complete ΟΔΗΓΟΣ ΧΡΗΣΗΣ

Περιεχόμενα. Πρόλογος... xiii

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED σχεδιασμός ιστοσελίδας ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ

Αστέριος Κατσιφοδήμος Γιώργος Νικολάου Κώστας Βρυώνη. ΕΠΛ 428 Προγραμματισμός Συστημάτων 16/04/07

ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος Κεφάλαιο 1 ο Αρχές Διαχείρισης πληροφορίας στον Παγκόσμιο Ιστό... 15

της πληροφορίας Λίνα Μπουντούρη Εθνικό Κέντρο Τεκμηρίωσης 13ο ΠανελλήνιοΣυνέδριοΑκαδημαϊκών Βιβλιοθηκών - Κέρκυρα 2004

Εργαστήριο #10 (Ε10) 1

ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ - XML

ΥΠΗΡΕΣΙΑ «TAXISNET» - ΗΛΕΚΤΡΟΝΙΚΗ ΥΠΟΒΟΛΗ ΤΩΝ ΦΟΡΟΛΟΓΙΚΩΝ ΔΗΛΩΣΕΩΝ ΓΙΑ ΤΟ ΤΜΗΜΑ ΕΣΩΤΕΡΙΚΩΝ ΠΡΟΣΟΔΩΝ ΚΑΙ ΤΗΝ ΥΠΗΡΕΣΙΑ ΦΟΡΟΥ ΠΡΟΣΤΙΘΕΜΕΝΗΣ ΑΞΙΑΣ ΤΟΥ

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

ΕΠΛ 012 Εισαγωγή στο Παγκόσμιο Πλέγμα Πληροφοριών

Ημερομηνία Παράδοσης: 4/4/2013

ΔΝΓΔΙΚΣΙΚΔ ΑΠΑΝΣΗΔΙ 3 εο ΓΡΑΠΣΗ ΔΡΓΑΙΑ

Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης

DOM. Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Π. Αγγελάτος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

ΝΤUA. Τεχνολογία Πολυμέσων

ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ

ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ - XML

ΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Ψηφιακή τυπογραφία με δυναμική διαχείριση δεδομένων και χρήση CSS

Δηζαγσγή ζηελ XML (κέξνο 2 ν ) Φξήζηνο Ηιηνύδεο

Κωνσταντίνος Σιασιάκος, ρ Πληροφορικής

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 10η Διάλεξη: Web Services

Βάσεις Δεδομένων ΙΙ. Διάλεξη 5 η XML και ΒΔ στο Διαδίκτυο

ΔΟΜΗΜΕΝΗ ΑΝΑΠΑΡΑΣΤΑΣΗ ΠΛΗΡΟΦΟΡΙΩΝ

Εισαγωγή στον Προγραμματισμό

ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ

υναµικές Εφαρµογές Παγκόσµιου Ιστού

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα

Ανοικτά Ακαδημαϊκά Μαθήματα

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΒΙΒΛΙΑ ΒΙΒΛΙΑ

ΜΑΘΗΜΑ Άνοιγμα Της Εφαρμογής Υπολογιστικών Φύλλων. 2. Κύρια Οθόνη Της Εφαρμογής Υπολογιστικών Φύλλων ΣΤΟΧΟΙ:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ Τµήµα Ψηφιακών Συστηµάτων Μάθηµα: «Αντικειµενοστρεφής Προγραµµατισµός» 2 ο εξάµηνο, Εαρινή περίοδος

Τεχνικός Εφαρμογών Πληροφορικής

11/28/2016 Απόδοση Συστημάτων, Remote Jmeter και Dacappo

Εισαγωγή στον Προγραμματισμό

ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ. Κάθε υποπρόγραμμα έχει μόνο μία είσοδο και μία έξοδο. Κάθε υποπρόγραμμα πρέπει να είναι ανεξάρτητο από τα άλλα.

1. Άνοιγμα Και Κλείσιμο Της Εφαρμογής Φυλλομετρητή Ιστού (Internet Explorer)

Ανάπτυξη και Σχεδίαση Λογισμικού

Ανανέωση και ενημέρωση. Της ελληνικής μετάφρασης του. Bash Guide for Beginners. Ελένη Φραγκιαδάκη

Προγραμματισμός για το Web

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Περιεχόμενα. Γαβαλάς Δαμιανός Τρέχον status της HTML

Ανοικτά Ακαδημαϊκά Μαθήματα

Αρχή. Διάβασε Χ ΟΧΙ Χ < > 0 ΝΑΙ Α Α +1 Γ Β / Α ΝΑΙ ΟΧΙ. Εμφάνισε Γ. Τέλος

Σχεδιασμός Βάσεων Δεδομένων

Περιεχόμενα. Περιεχόμενα

SEMANTIC INTEROPERABILITY

<address>αδριανείου 2, Νέο Ψυχικό, 11525, Αθήνα</adderss> <address>

Προγραμματισμός ΙI (Θ)

PHP, MySQL. και Apache Όλα σε Ένα. Μάθετε. Εκδόσεις: Μ. Γκιούρδας. Julie C. Meloni. 5 η Έκδοση

Συντάχθηκε απο τον/την Administrator Δευτέρα, 22 Φεβρουάριος :11 - Τελευταία Ενημέρωση Παρασκευή, 26 Φεβρουάριος :52

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

Τίτλος Εργασίας Εκπαιδευτικού Σεναρίου

ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Προγραμματισμός

ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ

Προγραμματισμός και Συστήματα στον Παγκόσμιο Ιστό Ενότητα 5: XML. Καθ. Ιωάννης Γαροφαλάκης Πολυτεχνική Σχολή Μηχανικών Η/Υ & Πληροφορικής

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

MySQL + Γλώσσα Προγραμματισμού. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

JOOMLA CMS ΒΑΣΙΚΗ ΠΑΡΑΜΕΤΡΟΠΟΙΗΣΗ (PART I)

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΑ ΣΥΣΤΗΜΑΤΑ

Κεφάλαιο 10ο. ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ιαδικασίες - Συναρτήσεις

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία. Εργαστήριο 4 ο : MATLAB

"Αθηνά" - Ερευνητικό Κέντρο Καινοτομίας στις Τεχνολογίες της Πληροφορίας, των Επικοινωνιών και της Γνώσης

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Προγραμματισμός

SGML (Standard Generalized Markup Language) HTML (HyperText Markup Language) XML (extensible Markup Language)

Ανοικτά Ακαδημαϊκά Μαθήματα

Τεχνικές Προδιαγραφές ιαλειτουργικότητας

Προγραμματισμός και Συστήματα στον Παγκόσμιο Ιστό Ενότητα 9: Web Services. Καθ. Ιωάννης Γαροφαλάκης Πολυτεχνική Σχολή Μηχανικών Η/Υ & Πληροφορικής

Γκέγκα Ευρώπη Κωστοπούλου Ειρήνη

Περιγραφή της εργασίας

Χρήστος Στασινός. ουλεύοντας με τη. Microsoft Access ΑΘΗΝΑ

Transcript:

Μια εισαγωγή στην XSL Daemon τεύχος 2 Γιώργος Γεωργοβασίλης georgeg@di.uoa.gr

Τι θα δούμε Τι είναι η XSL; Ανασκόπηση Γενικά περί XML και XPath Γενικά περί XSL και εφαρμογών Παραδείγματα, σύνταξη κειμένων, βασικές εντολές Μια εισαγωγή στην XSL 2

Τι; XSL (extensible Stylesheet Language) XML για τον παγκόσμιο ιστό Κατέληξε στην XSL-FO XSLT (XSL Transformation) Μετασχηματισμός XML σε οτιδήποτε Μια εισαγωγή στην XSL 3

Πως; XML XSL Διερμηνέας Xalan Saxon MSXSLT XML HTML Μια εισαγωγή στην XSL 4

Για την ιστορία 1997: XSL Note, συγχώνευση των DSSSL και CSS σε σημειογραφία XSL 1998: Σύσταση ομάδας εργασίας, πρώτα demo Τελειοποίηση του recommendation, παρά ταύτα τελείως διαφορετικό πρωτότυπο, MSIE5 μιλάει XSL 1999: XSLT / XSL χωρίζουν, νέο πρότυπο XPath 2000: Τελειοποίηση των προδιαγραφών Μια εισαγωγή στην XSL 5

Εφαρμογές Τυπικές εφαρμογές της XSL Προσαρμογή εφαρμογών που επικοινωνούν με XML Παραγωγή HTML από XML Μια εισαγωγή στην XSL 6

XML, η γλώσσα μηχανής Εφαρμογή Εφαρμογή XML XML Εφαρμογή XSLT XML Μια εισαγωγή στην XSL 7

Παράδειγμα XML - βιβλία <?xml version="1.0" encoding="utf-8"?> <books> <book id="2"> <title>ζω για να τη διηγούμαι</title> <publisher>α.α. Λιβάνη</publisher> <author>2</author> <isbn>960-14-0694-8</isbn> </book> <book id="3"> <title>τάξη μέσα από το χάος</title> <publisher>κέδρος</publisher> <author>3</author> <author>4</author> <isbn>960-04-0629-4</isbn> </book> </books> Μια εισαγωγή στην XSL 8

Παράδειγμα XML - συγγραφείς <?xml version="1.0" encoding="utf-8"?> <authors> <author id="2"> <name>gabriel García Márquez</name> </author> <author id="3"> <name>ilya Prigogine</name> </author> <author id="4"> <name>isabelle Stengers</name> </author> </authors> Μια εισαγωγή στην XSL 9

XPath Χρήσιμη στην διάσχιση δένδρων XML και την εξαγωγή πληροφορίας από αυτά. Επεκτείνεται εύκολα με χρήσιμες συναρτήσεις από τον διερμηνέα. Μια εισαγωγή στην XSL 10

Συντακτικό XPath... x/y x/@a x[@a = v] x//y / τρέχον κόμβος πατέρας τα παιδιά y του x το attribute a του x τα x που έχουν a = v οποιοσδήποτε απόγονος y του x πατέρας του αρχικού κόμβου - ρίζα Μια εισαγωγή στην XSL 11

Παράδειγμα XPath - βιβλία <?xml version="1.0" encoding="utf-8"?> <books> <book id="2"> <title>ζω για να τη διηγούμαι</title> <publisher>α.α. Λιβάνη</publisher> <author>2</author> </book> <book id="3"> <title>τάξη μέσα από το χάος</title> <publisher>κέδρος</publisher> <author>3</author> <author>4</author> </book> </books> Μια εισαγωγή στην XSL 12

Παράδειγμα XPath βιβλία (2) /books/book ή //book //book[@id = 2] όλα τα βιβλία κόμβος με ID=2 //book[@id = 2]/title ή Ζω για να τη διηγούμαι //book[@id = 2]/title/text() //book/author[text() = 3] όλοι οι συγγραφείς #3 που έχουν γράψει κάποιο βιβλίο //book/author[text() = 3]/.. το βιβλίο με συγγραφέα #3 Μια εισαγωγή στην XSL 13

XSLT Ένα πρόγραμμα XSLT είναι XML Παραγωγή HTML από XML για σελίδες παγκοσμίου ιστού Παραγωγή Postscript από XML για εκτύπωση Μετασχηματισμός ενός κειμένου XML σε άλλο XML Προγραμματισμός εφαρμογών με XML Μια εισαγωγή στην XSL 14

Γενική Σύνταξη <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform" > <xsl:template match="/"> </xsl:template> </xsl:stylesheet> Μια εισαγωγή στην XSL 15

Γειάσου κόσμε <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform" > <xsl:output method="html" encoding="utf-8"/> <xsl:template match="/"> What's up doc? </xsl:template> </xsl:stylesheet> Μια εισαγωγή στην XSL 16

Παράδειγμα XML - βιβλία <?xml version="1.0" encoding="utf-8"?> <books> <book id="2"> <title>ζω για να τη διηγούμαι</title> <publisher>α.α. Λιβάνη</publisher> <author>2</author> <isbn>960-14-0694-8</isbn> </book> <book id="3"> <title>τάξη μέσα από το χάος</title> <publisher>κέδρος</publisher> <author>3</author> <author>4</author> <isbn>960-04-0629-4</isbn> </book> </books> Μια εισαγωγή στην XSL 17

Εφαρμοσμένο Πρότυπο 1) Ζω για να τη διηγούμαι <xsl:template match= book > 960-14-0694-8 <xsl:value-of select= position() /> 2) Τάξη μέσα από το χάος <xsl:value-of select=./title /> <p><i> 960-04-0629-4 (ISBN <xsl:value-of select= isbn /> </i></p> </xsl:template> Μια εισαγωγή στην XSL 18

Εφαρμογή Προτύπου <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform" > <xsl:output method="html" encoding="utf-8"/> <xsl:include href="books.xsl"/> <xsl:template match="/"> <xsl:apply-templates select="books"/> </xsl:template> </xsl:stylesheet> Μια εισαγωγή στην XSL 19

Ονομασμένο Πρότυπο <xsl:template name="renderbook"> <xsl:param name="book"/> <xsl:param name="index"/> <xsl:value-of select="$index"/> <xsl:value-of select="$book/title"/> <p><i> (ISBN <xsl:value-of select="$book/isbn"/> </i></p> </xsl:template> Μια εισαγωγή στην XSL 20

Κλήση Προτύπου <xsl:template match="/"> <xsl:for-each select="books/book"> <xsl:call-template name="renderbook"> <xsl:with-param name="book" select="."/> <xsl:with-param name="index" select="position()"/> </xsl:call-template> </xsl:for-each> </xsl:template> Μια εισαγωγή στην XSL 21

Μεταβλητές <xsl:variable name= book1 select= //book[@id=3]"/> <xsl:variable name= bcount select= count(//book) /> <xsl:variable name="authors" select="document('auths.xml') /> <xsl:variable name= authorname /> select= $authors/author[@id = $book1/author]/name Μια εισαγωγή στην XSL 22

Εκτέλεση υπό προϋπόθεση 1 <xsl:if test= count(//books) < 10 > Κλείσε το computer, άνοιξε ένα βιβλίο </xsl:if> Μια εισαγωγή στην XSL 23

Εκτέλεση υπό προϋπόθεση 2 <xsl:choose> <xsl:when test= count(//books) < 10 > Κλείσε το computer, άνοιξε ένα βιβλίο. </xsl:when> <xsl:when test= count(//books) < 20 > Μπράβο. </xsl:when> <xsl:otherwise> Το παρακάνεις. </xsl:otherwise> </xsl:choose> Μια εισαγωγή στην XSL 24

Αναφορές W3C The XSL Family (XSL) W3C XML Schema W3C XML To XML πλαίσιο της Apache group Apache Xalan για Java Apache Xalan για C++ Apache XSL FOP SAXON XML Spy http://www.w3.org/style/xsl/ http://www.w3.org/xml/schema http://www.w3.org/xml/ http://xml.apache.org/ http://xml.apache.org/xalan-j/index.html http://xml.apache.org/xalan-c/index.html http://xml.apache.org/fop/index.html http://saxon.sourceforge.net/ http://www.altova.com Microsoft XML General Downloads http://msdn.microsoft.com/library/default.asp?url=/downloads/list/xmlgeneral.asp XSL History http://www.w3.org/style/xsl/oldstuff.html#oldnews Java and XSLT, O'Reilly, ISBN 0-596-00143-6 Μια εισαγωγή στην XSL 25