Αναπαράςταςθ Γνώςθσ ςτον Παγκόςμιο Ιςτό Ενότθτα 2: XML Δομθμζνα Ζγγραφα Ιςτοφ, Μζροσ 4 ο XPath Ιωάννθσ Χατηθλυγεροφδθσ Πολυτεχνικι Σχολι Τμιμα Μθχ/κών Η/Υπολογιςτών & Πλθροφορικισ
Περιεχόμενα ενότθτασ Μζροσ 4 ο XPath 1. Ερωτιματα ςε ζγγραφα XML 2. Xpath-Ορολογία 3. Xpath-Σφνταξθ 4. Παραδείγματα 2/24
Ερωτιματα ςε ζγγραφα XML Αντίςτοιχα των ερωτθμάτων (queries) ςε βάςεισ δεδομζνων Γλώςςεσ ερωτθμάτων (αντίςτοιχεσ τθσ SQL) o XQL (XML Query Language) o XML-QL (Query Language for XML) o XQuery Στθρίηεται ςε εκφράςεισ τθσ XPath, οι οποίεσ κάνουν πλοιγθςθ ανάμεςα ςτα ςτοιχεία και τα χαρακτθριςτικά τθσ XML 3/24
Xpath-Ορολογία Κόμβοι (nodes) o element (ςτοιχείου), attribute (χαρακτθριςτικοφ), text (κειμζνου), space (χώρου ονομάτων), processinginstruction (εντολισ επεξεργαςίασ), comment (ςχολίων), document (root) (εγγράφου ι ρίηασ) o Π.χ. <library> (root node) <>Henry Wise</> (element node) location = "Bremen" (attribute node) 4/24
Xpath-Ορολογία Ατομικζσ τιμζσ (atomic values) o Είναι κόμβοι χωρίσ παιδιά ι γονζα Π.χ. Henry Wise, "Bremen" Συςτατικά (Items) o Είναι ατομικζσ τιμζσ ι κόμβοι Σχζςεισ μεταξφ κόμβων o parent (γονζασ), child (παιδί), sibling (αμφικαλισ), ancestor (πρόγονοσ), descendant (απόγονοσ) 5/24
Xpath-Σφνταξθ Εκφράςεισ ι Παραςτάςεισ Διαδρομισ (Path Expressions) Δφο τφποι o Απόλυτεσ (absolute) Ξεκινοφν με /, που αναφζρεται ςτθ ρίηα του εγγράφου o Σχετικζσ (relative) Δομι Ξεκινοφν χωρίσ το /, μ ζνα ςτοιχείο, αναφζρονται δθλ. ςε κάποιο κόμβο αναφοράσ o βιμα 1 /βιμα 2 / /βιμα ν o βιμα: <αναγνωριςτικό><ζλεγχοσ κόμβου><κατθγόρθμα> 6/24
Xpath-Σφνταξθ Επιλογι-Προςπζλαςθ κόμβων o Αναγνωριςτικά όνομα-κόμβου, /, //,.,.., @ o Εκφράςεισ διαδρομισ library (όλα τα παιδιά του ςτοιχείου) /library (το ςτοιχείο-ρίηα library) /library/ (όλα τα ςτοιχεία που είναι παιδιά του library) /library/@location (όλα τα χαρακτθριςτικά location που είναι ςε ςτοιχεία library) // (όλα τα ςτοιχεία όπου κι αν βρίςκονται) /library// (όλα τα ςτοιχεία που είναι απόγονοι του library, όπου κι αν είναι) <?xml version="1.0"?> <library location="bremen"> < ="Henry Wise"> < ="AI"/> < ="Modern "/> </> < ="Will Smart"> < ="AI"/> </> <publisher> <>Wiley</> <year>1920</year> </publisher> </library> //@ (όλα τα χαρακτθριςτικά ) ///@= AI (όλοι οι κόμβοι ςε οποιοδιποτε κόμβο με τιμι AI ) //[@= AI ] (όλοι οι κόμβοι που ζχουν με τιμι AI ) 7/24
Δενδρικό Μοντζλο Δόμθςθσ Root ρίηα (root) library Στοιχείο-ρίηα (root element) location publisher year Bremen Henry Wise AI Modern William Smart AI Wiley 1920 8/24
Δενδρικό Μοντζλο Δόμθςθσ /library/ Root ρίηα (root) library Στοιχείο-ρίηα (root element) location publisher year Bremen Henry Wise AI Modern William Smart AI Wiley 1920 9/24
Δενδρικό Μοντζλο Δόμθςθσ ///@ Root ρίηα (root) library Στοιχείο-ρίηα (root element) location publisher year Bremen Henry Wise AI Modern William Smart AI Wiley 1920 10/24
Δενδρικό Μοντζλο Δόμθςθσ ///[@="AI"] Root ρίηα (root) library Στοιχείο-ρίηα (root element) location publisher year Bremen Henry Wise AI Modern William Smart AI Wiley 1920 11/24
Xpath-Σφνταξθ Κατθγοριματα (για εφρεςθ ςυγκεκριμζνων κόμβων ι κόμβων που περιζχουν ςυγκεκριμζνεσ τιμζσ-ςε τετραγωνικζσ παρενκζςεισ) o Εκφράςεισ διαδρομισ /library/[1] (το πρώτο ςτοιχείο που είναι παιδί του ςτοιχείου library) /library/[last()] (το τελευταίο ςτοιχείο που είναι παιδί του ςτοιχείου library) /library/[last()-1] (το προτελευταίο ςτοιχείο που είναι παιδί του ςτοιχείου library) /library/[position()<3] (τα δφο πρώτα ςτοιχεία που είναι παιδιά του ςτοιχείου library) //[@] (όλα τα βιβλία που ζχουν χαρακτθριςτικό ) //[@= AI ] (όλοι οι κόμβοι που ζχουν με τιμι AI ) /library/publisher[year>1900] (όλα τα ςτοιχεία publisher που ζχουν ςτοιχείο year με περιεχόμενο/τιμι μεγαλφτερο/θ του 1900) <?xml version="1.0"?> <library location="bremen"> < ="Henry Wise"> < ="AI"/> < ="Modern "/> </> < ="Will Smart"> < ="AI"/> </> <publisher> <>Wiley</> <year>1920</year> </publisher> < = C.Singleton"> < = Sem."/> </> </library> 12/24
Δενδρικό Μοντζλο-Παράδειγμα /library/[1] Root ρίηα (root) library Στοιχείο-ρίηα (root element) location Bremen Henry Wise AI Modern William Smart AI Cynthia Singleton Semantic 13/24
Δενδρικό Μοντζλο-Παράδειγμα /library/[last()] Root ρίηα (root) library Στοιχείο-ρίηα (root element) location Bremen Henry Wise AI Modern William Smart AI Cynthia Singleton Semantic 14/24
Δενδρικό Μοντζλο-Παράδειγμα /library/[last()-1] Root ρίηα (root) library Στοιχείο-ρίηα (root element) location Bremen Henry Wise AI Modern William Smart AI Cynthia Singleton Semantic 15/24
Δενδρικό Μοντζλο-Παράδειγμα /library/[position()<3] Root ρίηα (root) library Στοιχείο-ρίηα (root element) location Bremen Henry Wise AI Modern William Smart AI Cynthia Singleton Semantic 16/24
Δενδρικό Μοντζλο-Παράδειγμα //[@] Root ρίηα (root) library Στοιχείο-ρίηα (root element) location Bremen Henry Wise AI Modern William Smart AI Cynthia Singleton Semantic 17/24
Δενδρικό Μοντζλο-Παράδειγμα //[@="AI"] Root ρίηα (root) library Στοιχείο-ρίηα (root element) location Bremen Henry Wise AI Modern William Smart AI Cynthia Singleton Semantic 18/24
Χρθματοδότθςθ Το παρόν εκπαιδευτικό υλικό ζχει αναπτυχκεί ςτo πλαίςιo του εκπαιδευτικοφ ζργου του διδάςκοντα. Το ζργο «Ανοικτά Ακαδθμαϊκά Μακιματα ςτο Πανεπιςτιμιο Ακθνών» ζχει χρθματοδοτιςει μόνο τθν αναδιαμόρφωςθ του εκπαιδευτικοφ υλικοφ. Το ζργο υλοποιείται ςτο πλαίςιο του Επιχειρθςιακοφ Προγράμματοσ «Εκπαίδευςθ και Δια Βίου Μάκθςθ» και ςυγχρθματοδοτείται από τθν Ευρωπαϊκι Ζνωςθ (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εκνικοφσ πόρουσ. 19/24
Σθμείωμα Ιςτορικοφ Εκδόςεων Ζργου Το παρόν ζργο αποτελεί τθν ζκδοςθ 1.0. 20/24
Σθμείωμα Αναφοράσ Copyright: Πανεπιςτιμιον Πατρών, Ιωάννθσ Χατηθλυγεροφδθσ, 2015. «Αναπαράςταςθ Γνώςθσ ςτον Παγκόςμιο Ιςτό. XML». Ζκδοςθ: 1.0. Πάτρα 2015. Διακζςιμο από τθ δικτυακι διεφκυνςθ: https://eclass.upatras.gr/courses/ceid1098/ 21/24
Σθμείωμα Αδειοδότθςθσ Το παρόν υλικό διατίκεται με τουσ όρουσ τθσ άδειασ χριςθσ Creative Commons Αναφορά, Μθ Εμπορικι Χριςθ Παρόμοια Διανομι 4.0 *1+ ι μεταγενζςτερθ, Διεκνισ Ζκδοςθ. Εξαιροφνται τα αυτοτελι ζργα τρίτων π.χ. φωτογραφίεσ, διαγράμματα κ.λ.π., τα οποία εμπεριζχονται ςε αυτό και τα οποία αναφζρονται μαηί με τουσ όρουσ χριςθσ τουσ ςτο «Σθμείωμα Χριςθσ Ζργων Τρίτων». [1] http://creativecommons.org/licenses/by-nc-sa/4.0/ Ωσ Μθ Εμπορικι ορίηεται θ χριςθ: που δεν περιλαμβάνει άμεςο ι ζμμεςο οικονομικό όφελοσ από τθν χριςθ του ζργου, για το διανομζα του ζργου και αδειοδόχο που δεν περιλαμβάνει οικονομικι ςυναλλαγι ωσ προχπόκεςθ για τθ χριςθ ι πρόςβαςθ ςτο ζργο που δεν προςπορίηει ςτο διανομζα του ζργου και αδειοδόχο ζμμεςο οικονομικό όφελοσ (π.χ. διαφθμίςεισ) από τθν προβολι του ζργου ςε διαδικτυακό τόπο Ο δικαιοφχοσ μπορεί να παρζχει ςτον αδειοδόχο ξεχωριςτι άδεια να χρθςιμοποιεί το ζργο για εμπορικι χριςθ, εφόςον αυτό του ηθτθκεί.
Διατιρθςθ Σθμειωμάτων Οποιαδιποτε αναπαραγωγι ι διαςκευι του υλικοφ κα πρζπει να ςυμπεριλαμβάνει: το Σθμείωμα Αναφοράσ το Σθμείωμα Αδειοδότθςθσ τθ διλωςθ Διατιρθςθσ Σθμειωμάτων το Σθμείωμα Χριςθσ Ζργων Τρίτων (εφόςον υπάρχει) μαηί με τουσ ςυνοδευόμενουσ υπερςυνδζςμουσ. 23/24
Σθμείωμα Χριςθσ Ζργων Τρίτων Οι διαφάνειεσ είναι κατά μεγάλο μζροσ βαςιςμζνεσ ςτο βιβλίο "Ειςαγωγι ςτον Σθμαςιολογικό Ιςτό", των Grigoris Antoniou και Frank van Harmelen, Β' ΖΚδοςθ, 2009 (Ελλθνικι Ζκδοςθ). 24/24