XML Parsing Γιώργος Θάνος Παρασκευή 14 Νοεμβρίου 2008.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Τεχνολογίες Web Απαραίτητες γνώσεις για την υλοποίηση της άσκησης.
Advertisements

Δημιουργία Ιστοσελίδων σε HTML και FrontPage Πρόγραμμα Αναμόρφωσης Προπτυχιακών Σπουδών Κεντρικό Γραφείο Υποστήριξης Εκπαιδευτικού Έργου Αλέξανδρος Λεκατσάς.
Κληρονομικότητα. Εισαγωγή  Κληρονομικότητα (Inheritance) καλείται ο μηχανισμός με τον οποίο μία νέα κλάση που ονομάζεται παράγωγη (derived class) δημιουργείται.
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΕΙΣΑΓΩΓΗ ΣΤΗΝ PHP. Τι θα μάθουμε;  Να καταλάβουμε τι είναι η PHP και πώς δουλεύουν τα PHP scripts  Τι χρειάζεται για να ξεκινήσουμε με την PHP  Να.
Τεχνικές Προγραμματισμού με την JavaScript Στυλιάδης Κων/νος Φλώρινα, Οκτώβριος 2004.
Εισαγωγή στην XML Μάρτιος 2005 Γ. Σ. Σακελλάρης Τ. Α. Κοντογιώργης
Προγραμματισμός Διαδικτύου Δρ. Παναγιώτης Συμεωνίδης Διεπαφή Εφαρμογής Παγκόσμιου Ιστού (Front End Programming)
• Php • Joomla • Joomla Module • Παρουσίαση του συστήματος μας.
Η γλώσσα μορφοποίησης υπερκειμένου HTML
Πανεπιστήμιο Αιγαίου Σχολή Επιστημών της Διοίκησης Τμήμα Μηχανικών Οικονομίας & Διοίκησης Computer applications in the modern enterprise Γ. Κούζας, PhD.
Αλγόριθμοι Αναζήτησης
«Τεχνολογία Web Services» ΣΠΟΥΔΑΣΤΕΣ: Κυριακούλιας Κωνσταντίνος Ντελής Επαμεινώνδας ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ (ΤΕΙ) ΜΕΣΟΛΟΓΓΙΟΥ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ.
ΗΛΕΚΤΡΟΝΙΚΑ ΔΙΑΔΙΚΤΥΑΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΕΧΟΜΕΝΟΥ (Σ.Δ.Π.) ΚΑΤΑΝΟΗΣΗ & ΑΞΙΟΛΟΓΗΣΗ.
Τι είναι το A.J.A.X. ? Τα αρχικά προέρχονται από τις λέξεις Asynchronous JavaScript And XML και είναι ένας από τους κύριους αντιπροσώπους του επονομαζόμενου.
Γλώσσες για ημι-δομημένα δεδομένα (ΗΔΔ)  XPath  XQuery  XSLT (eXtensible Stylesheet Language for Transformations)
 Αυδίκου Χριστίνα  Γιουμούκης Παναγιώτης  Κιντσάκης Θάνος  Πάπιστας Γιάννης.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πίνακες Κλάσεις και Αντικείμενα.
ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ Jena API
Resource Description Framework
Uniform Resource Locators (URLs) Ορισμός : URL (Uniform Resource Locator): Δείκτης σε μία πηγή πληροφοριών του Παγκοσμίου Ιστού (World Wide Web) Στη Java,
AJAX Asynchronous JavaScript and XML Θ. Βαρβαρίγου Καθηγ. ΕΜΠ Τηλ
Θέματα Βάσεων Δεδομένων Αποθήκευση XML δεδομένων σε Σχεσιακή Βάση Δεδομένων Θέματα Βάσεων Δεδομένων Αποθήκευση XML δεδομένων σε Σχεσιακή Βάση Δεδομένων.
ΑΡΧΙΤΕΚΤΟΝΙΚΗ & ΟΡΓΑΝΩΣΗ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 1 Εισαγωγή
Τμήμα Πληροφορικής Πανεπιστημίου Κύπρου ΕΠΛ 371 – Προγραμματισμός Συστημάτων Ονόματα: Αντώνης Μαυρής, Γιώργος Ματθαίου, Χρίστος Κυριάκου Ταυτότητες: ,
Ιόνιο Πανεπιστήμιο ΠΜΣ Επιστήμη της Πληροφορίας Διατύπωση Ερωτημάτων σε XML τεκμήρια με τη γλώσσα XQuery Εργασία για το μάθημα Ηλεκτρονική Δημοσίευση Υπεύθυνος.
Δομές Δεδομένων.
PHP/MYSQL ΠΑΡΟΥΣΙΑΣΗ ΣΤΑ ΠΛΑΙΣΙΑ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΕΠΟΙΚΟΙΝΩΝΙΑ ΑΝΘΡΩΠΟΥ-ΜΗΧΑΝΗΣ ΤΥΡΟΛΟΓΟΥ ΓΛΥΚΕΡΙΑ ΑΜ 875 ΡΙΖΟΥ ΔΕΣΠΟΙΝΑ ΑΜ 816.
Δομές Δεδομένων. Επιλογή δομής δεδομένων Κριτήρια: – Μέγεθος του προβλήματος – Πως θα χρησιμοποιηθεί Ενέργειες που καθορίζουν το κόστος: – Lookup: αναζήτηση/έλεγχος.
Τεχνολογίες δημοσίευσης στον παγκόσμιο ιστό Κωνσταντίνος Αλεξίου Κέρκυρα, Ιούνιος 2004 Ιόνιο Πανεπιστήμιο Τμήμα Αρχειονομίας – Βιβλιοθηκονομίας Π.Μ.Σ.
1 Εισαγωγή στη Java Χρήσιμες Διευθύνσεις Χαρακτηριστικά της Java Εργαλεία της Java Εργαλεία της Java Μεταγλώττιση στοιχειωδών εφαρμογών.
XML. 2 Ο Παγκόσμιος Ιστός Σήμερα Ένα απλό, κοινό πρότυπο για ανταλλαγή και διάδοση πληροφοριών. Η πληροφορία κατατέμνεται σε τμήματα, τα οποία μπορούν.
Επικοινωνία Ανθρώπου Μηχανής HTML CGI JAVASCRIPT Κουμπούλης Χρήστος Α.Μ. 921 Χαλαβαζής Βασίλης Α.Μ. 988.
Αντικειμενοστραφής Προγραμματισμός & JAVA
Διαχείριση γεγονότων (events) Γεγονότα: Κλήσεις που παράγονται από γραφικά στοιχεία (Components) π.χ. click ποντικιού, μετακίνηση ποντικιού Ακρόαση-Διαχείριση.
Σημασιολογική Ολοκλήρωση Ολοκλήρωση Πληροφορίας Το πρόβλημα της ολοκλήρωσης πληροφορίας (information integration) προκύπτει από την ύπαρξη ετερογενών.
Microsoft BizTalk Server 2002 Αθανασίου Σπύρος Ιωάννης Κουβάρας.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πολυμορφισμός – Αφηρημένες κλάσεις Interfaces (διεπαφές)
Θεωρία Υπολογισμού Χρονική Πολυπλοκότητα και Μοντέλα.
Εισαγωγή στην XML Μ. ΓΑΒΑΛΑΣ.
Κεφάλαιο 11.1 Uniform Resource Locators (URLs). Ορισμός : URL (Uniform Resource Locator): Δείκτης σε μία πηγή πληροφοριών του Παγκοσμίου Ιστού (World.
Δομές Δεδομένων 1 Θέματα Απόδοσης. Δομές Δεδομένων 2 Οργανώνοντας τα Δεδομένα  Η επιλογή της δομής δεδομένων και του αλγορίθμου επηρεάζουν το χρόνο εκτέλεσης.
Γλωσσική Τεχνολογία HTML/XML Processing – HTTP Services.
Applets Εκτελούνται από τον appletviewer και από Java enabled web browsers Εκμεταλλεύονται τo γραφικό υπόβαθρο που παρέχουν οι browsers, έχοντας έτσι τη.
Asynchronous Javascript And XML (AJAX) Γιώργος Θάνος Παρασκευή 21 Νοεμβρίου 2008.
EXtensible Markup Language (XML) και XML Schema Γιώργος Θάνος Παρασκευή 31 Οκτωβρίου 2008.
Παρουσίαση εργαλείου Microsoft Silverlight Βερβέρης Παναγιώτης Α.Μ.888 Παπαθανασίου Αθανάσιος Α.Μ.958 1Παρουσίαση τεχνολογίας Silverlight.
Μάθημα 9 Λίγο απ’ όλα! HTML 5 Advanced PHP XML. HTML 5 Πρόκειται για μια νέα έκδοση της HTML που συμπληρώνει τις δυνατότητες της γλώσσας με κάποια Tags.
Δομές δεδομένων και Αλγόριθμοι Κεφάλαιο 3. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Δεδομένα Δεδομένα (data) Δεδομένα (data) –αφαιρετική αναπαράσταση.
Υλοποίηση εφαρμογών σε προγραμματιστικά περιβάλλοντα Κεφάλαιο 7.
ΕΡΓΑΣΤΗΡΙΟ – No.7 Ηλεκτρονικού Εμπορίου Ε-Επιχειρείν Δρ. Χρήστος Κ. Γεωργιάδης Java APIs για Web Services: ΧΜL και JSP.
Παπαδημητρίου Δημήτριος Σιμώνης Εμμανουήλ Επιβλέπων καθηγητής: Δρ. Τσιμπίρης Αλκιβιάδης 1.
ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ ΓΙΑ ΣΥΣΤΗΜΑΤΑ ΜΕΤΑΔΟΣΗΣ ΠΛΗΡΟΦΟΡΙΑΣ Αντικειμενοστραφής προγραμματισμός Web Site: ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ.
Προγραμματισμός Εφαρμογών Διαδικτύου
Ασκήσεις στην Java-XML
ΕΡΓΑΣΤΗΡΙΟ Ηλεκτρονικού Εμπορίου Ε-Επιχειρείν
Κλάσεις και αντικείμενα
Wrapper Classes, Abstract Classes and Interfaces
Εργασία στο μάθημα «Προγραμματισμός ΙΙ»
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
Παρουσίαση εργαλείου ελέγχου προγραμμάτων
Γιώργος Θάνος Παρασκευή 5 Δεκεμβρίου 2008
Επιβλέπων: Καθηγητής Εφαρμογών Δρ. Δημήτριος Βαρσάμης
ΟΡΓΑΝΩΣΗ ΚΕΝΤΡΟΥ ΠΛΗΡΟΦΟΡΙΚΗΣ
Ειδικά Θέματα στον προγραμματισμό Υπολογιστών
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Swing II Εβδομάδα Νο. 6.
Προχωρημένος Προγραμματισμός
ΥΛΟΠΟΙΗΣΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ
Javascript – Χειρισμός της σελίδας
Μεταγράφημα παρουσίασης:

XML Parsing Γιώργος Θάνος Παρασκευή 14 Νοεμβρίου 2008

Εισαγωγή  Η επεξεργασία της πληροφορίας XML βασίζεται σε  Η επεξεργασία της XML βασίζεται σε συγκεκριμένα πρότυπα διακριτά από την γλώσσα προγραμματισμού στην οποία υλοποιούνται  Τα πρότυπα είναι :  Document Object Model (DOM).  Simple API for XML (SAX).  Streaming API for XML (StAX). Διαφάνεια 2

Document Object Model (DOM)  To W3C ξεκίνησε την ανάπτυξη του DOM γύρω στο  Το μοντέλο DOM διατηρεί την δενδρική δομή του XML αρχείου. Στην πραγματικότητα πρόκειται για την απεικόνιση του XML σε μία μορφή που είναι προσπελάσιμη από συγκεκριμένο API.  Η γλώσσα Javascript ενσωματώνει το DOM standard για την προσπέλαση των στοιχείων της HTML. Κατά συνέπεια όλοι οι browsers πρέπει να ικανοποιούν το συγκεκριμένο standard. Διαφάνεια 3

Document Object Model (DOM)  Χαρακτηριστικά του DOM  Απαιτεί σημαντικούς πόρους σε μνήμη ανάλογα με το μέγεθος του XML αρχείου.  Κατά κανόνα δεν είναι ιδιαίτερα γρήγορος τρόπος προσπέλασης του XML περιεχομένου.  Είναι βολικό όταν θέλουμε να γνωρίζουμε το σύνολο της δενδρικής δομής της XML πληροφορίας και να κάνουμε queries σε αυτή. Διαφάνεια 4

Document Object Model (DOM)  Βασικά στοιχεία του DOM μοντέλου  Node (abstract entity)  Document  Element  Attribute Διαφάνεια 5 Χρήση Java // parse an XML document into a DOM tree DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder(); Document document = parser.parse(new File("instance.xml")); Χρήση PHP $objDOM = new DOMDocument(); $objDOM->load(“instance.xml");

Document Object Model (DOM)  Βασικές μέθοδοι στη γλώσσα Java  getChildNodes()  getFirstChild()  getLastChild()  getNextSibling()  getNodeName()  getNodeType()  getNodeValue()  getParentNode() Διαφάνεια 6  getNamespaceURI  getPrefix() //namespace prefix  getPreviousSibling()  getTextContent()  hasAttributes()  hasChildNodes()  insertBefore()  removeChild()  replaceChild()  Το interface Node είναι το βασικό interface.

Simple API for XML (SAX)  Ο Sax parser είναι ένας stream parser με event-driven API.  Ορίζονται κάποιες callback μέθοδοι, οι οποίες καλούνται κατά το parsing με βάση το είδος του αντικειμένου που συναντά ο parser.  Συγκεκριμένα ορίζονται μέθοδοι για τα παρακάτω events:  XML Text Nodes  XML Element Nodes  XML Processing Instructions  XML Comments Διαφάνεια 7

Simple API for XML (SAX) - Πλεονεκτήματα  Η ιδέα για τον SAX Parser προήλθε μέσα από τα προβλήματα του DOM.  Το βασικό του πλεονέκτημα είναι ότι δεν απαιτείται να φορτωθεί όλο το XML δέντρο στη μνήμη προκειμένου να αρχίσει η επεξεργασία.  Γρηγορότερος από το DOM για πολύ μεγάλα αρχεία XML διότι η διαδικασία του memory allocation απαιτεί χρόνο. Διαφάνεια 8

Simple API for XML (SAX) - Μειονεκτήματα  Εξαιρετικά βολικό όταν τα XML αρχεία ακολουθούν συγκεκριμένο pattern που επαναλαμβάνεται. Εάν δεν ακολουθείται συγκεκριμένο / επαναλαμβανόμενο pattern το προγραμματιστικό μοντέλο γίνεται πολύπλοκο.  Συχνά η επεξεργασία απαιτεί το σύνολο του XML αρχείου. Τέτοια παραδείγματα είναι η χρήση Xpath, XQuery και XSLT. Διαφάνεια 9

Simple API for XML (SAX)  Ο χρήστης φτιάχνει την δική του κλάση που κληρονομεί την κλάση org.xml.sax.helpers.DefaultHandler.  Ο χρήστης ορίζει τις δικές του μεθόδους για κάθε μία από τις μεθόδους που ορίζει η συγκεκριμένη κλάση.  Βασικές συναρτήσεις : Διαφάνεια 10 Χρήση Java // parse an XML document into a DOM tree SaxParser parser = SaxParserFactory.newInstance().newSaxParser(); parser.parse(new File("instance.xml"), new UserDefinedHandler() ); 1. startDocument() 2. endDocument() 3. startElement(String uri, String localName, String qName, Attributes attributes) 4. endElement(String uri, String localName, String qName) 5. startPrefixMapping(String prefix, String uri) 6. endPrefixMapping(String prefix)