You are on page 1of 24

Αναπαράςταςθ Γνώςθσ ςτον

Παγκόςμιο Ιςτό
Ενότθτα 2: XML
Δομθμζνα Ζγγραφα Ιςτοφ, Μζροσ 4ο – XPath

Ιωάννθσ Χατηθλυγεροφδθσ
Πολυτεχνικι Σχολι
Τμιμα Μθχ/κών Η/Υπολογιςτών & Πλθροφορικισ
Περιεχόμενα ενότθτασ
Μζροσ 4ο – XPath
1. Ερωτιματα ςε ζγγραφα XML
2. Xpath-Ορολογία
3. Xpath-Σφνταξθ
4. Παραδείγματα

Αναπαράςταςθ Γνώςθσ Στον Παγκόςμιο Ιςτό – Ενότθτα 2θ - XPath 2/24


Ερωτιματα ςε ζγγραφα XML
 Αντίςτοιχα των ερωτθμάτων (queries) ςε
βάςεισ δεδομζνων
 Γλώςςεσ ερωτθμάτων (αντίςτοιχεσ τθσ SQL)
o XQL (XML Query Language)
o XML-QL (Query Language for XML)
o XQuery
Στθρίηεται ςε εκφράςεισ τθσ XPath, οι οποίεσ
κάνουν πλοιγθςθ ανάμεςα ςτα ςτοιχεία και τα
χαρακτθριςτικά τθσ XML

Αναπαράςταςθ Γνώςθσ Στον Παγκόςμιο Ιςτό – Ενότθτα 2θ - XPath 3/24


Xpath-Ορολογία
 Κόμβοι (nodes)
o element (ςτοιχείου), attribute (χαρακτθριςτικοφ), text
(κειμζνου), namespace (χώρου ονομάτων), processing-
instruction (εντολισ επεξεργαςίασ), comment (ςχολίων),
document (root) (εγγράφου ι ρίηασ)
o Π.χ.
<library> (root node)
<author>Henry Wise</author> (element node)
location = "Bremen" (attribute node)

Αναπαράςταςθ Γνώςθσ Στον Παγκόςμιο Ιςτό – Ενότθτα 2θ - XPath 4/24


Xpath-Ορολογία
 Ατομικζσ τιμζσ (atomic values)
o Είναι κόμβοι χωρίσ παιδιά ι γονζα
Π.χ. Henry Wise, "Bremen"
 Συςτατικά (Items)
o Είναι ατομικζσ τιμζσ ι κόμβοι
 Σχζςεισ μεταξφ κόμβων
o parent (γονζασ), child (παιδί), sibling (αμφικαλισ),
ancestor (πρόγονοσ), descendant (απόγονοσ)
Αναπαράςταςθ Γνώςθσ Στον Παγκόςμιο Ιςτό – Ενότθτα 2θ - XPath 5/24
Xpath-Σφνταξθ
 Εκφράςεισ ι Παραςτάςεισ Διαδρομισ (Path Expressions)
 Δφο τφποι
o Απόλυτεσ (absolute)
• Ξεκινοφν με /, που αναφζρεται ςτθ ρίηα του εγγράφου

o Σχετικζσ (relative)
• Ξεκινοφν χωρίσ το /, μ’ ζνα ςτοιχείο, αναφζρονται δθλ. ςε κάποιο κόμβο αναφοράσ

 Δομι
o βιμα1/βιμα2/…/βιμαν
o βιμα: <αναγνωριςτικό><ζλεγχοσ κόμβου><κατθγόρθμα>

Αναπαράςταςθ Γνώςθσ Στον Παγκόςμιο Ιςτό – Ενότθτα 2θ - XPath 6/24


Xpath-Σφνταξθ
 Επιλογι-Προςπζλαςθ κόμβων
o Αναγνωριςτικά <?xml version="1.0"?>
<library location="Bremen">
• όνομα-κόμβου, /, //, . , .. , @ <author name="Henry Wise">
o Εκφράςεισ διαδρομισ <book title="AI"/>
<book title="Modern Web"/>
• library (όλα τα παιδιά του ςτοιχείου) </author>
• /library (το ςτοιχείο-ρίηα library) <author name="Will Smart">
<book title="AI"/>
• /library/author (όλα τα ςτοιχεία author που είναι παιδιά </author>
του library)
<publisher>
• /library/@location (όλα τα χαρακτθριςτικά location που <name>Wiley</name>
είναι ςε ςτοιχεία library)
<year>1920</year>
• //author (όλα τα ςτοιχεία author όπου κι’ αν βρίςκονται) </publisher>
• /library//author (όλα τα ςτοιχεία author που είναι </library>
απόγονοι του library, όπου κι αν είναι)
• //@name (όλα τα χαρακτθριςτικά name)
• //book/@title=“AI” (όλοι οι κόμβοι title ςε
οποιοδιποτε κόμβο book με τιμι “AI”)
• //book[@title=“AI”] (όλοι οι κόμβοι book που ζχουν title
με τιμι “AI”)

Αναπαράςταςθ Γνώςθσ Στον Παγκόςμιο Ιςτό – Ενότθτα 2θ - XPath 7/24


Δενδρικό Μοντζλο Δόμθςθσ
Root ρίηα (root)

library Στοιχείο-ρίηα (root element)

location author author publisher

name book book name book name year

title title title

Bremen Henry Wise AI Modern William AI Wiley 1920


Web Smart

Αναπαράςταςθ Γνώςθσ Στον Παγκόςμιο Ιςτό – Ενότθτα 2θ - XPath 8/24


Δενδρικό Μοντζλο Δόμθςθσ
/library/author Root ρίηα (root)

library Στοιχείο-ρίηα (root element)

location author author publisher

name book book name book name year

title title title

Bremen Henry Wise AI Modern William AI Wiley 1920


Web Smart

Αναπαράςταςθ Γνώςθσ Στον Παγκόςμιο Ιςτό – Ενότθτα 2θ - XPath 9/24


Δενδρικό Μοντζλο Δόμθςθσ
//author/@name Root ρίηα (root)

library Στοιχείο-ρίηα (root element)

location author author publisher

name book book name book name year

title title title

Bremen Henry Wise AI Modern William AI Wiley 1920


Web Smart

Αναπαράςταςθ Γνώςθσ Στον Παγκόςμιο Ιςτό – Ενότθτα 2θ - XPath 10/24


Δενδρικό Μοντζλο Δόμθςθσ
//author/book[@title="AI"] Root ρίηα (root)

library Στοιχείο-ρίηα (root element)

location author author publisher

name book book name book name year

title title title

Bremen Henry Wise AI Modern William AI Wiley 1920


Web Smart

Αναπαράςταςθ Γνώςθσ Στον Παγκόςμιο Ιςτό – Ενότθτα 2θ - XPath 11/24


Xpath-Σφνταξθ
 Κατθγοριματα
(για εφρεςθ ςυγκεκριμζνων κόμβων ι κόμβων που <?xml version="1.0"?>
<library location="Bremen">
περιζχουν ςυγκεκριμζνεσ τιμζσ-ςε τετραγωνικζσ
<author name="Henry Wise">
παρενκζςεισ)
<book title="AI"/>
<book title="Modern Web"/>
o Εκφράςεισ διαδρομισ </author>
• /library/author[1] (το πρώτο ςτοιχείο author
που είναι παιδί του ςτοιχείου library) <author name="Will Smart">
• /library/author[last()] (το τελευταίο ςτοιχείο <book title="AI"/>
author που είναι παιδί του ςτοιχείου library) </author>
• /library/author[last()-1] (το προτελευταίο <publisher>
ςτοιχείο author που είναι παιδί του ςτοιχείου <name>Wiley</name>
library) <year>1920</year>
• /library/author[position()<3] (τα δφο πρώτα </publisher>
ςτοιχεία author που είναι παιδιά του ςτοιχείου <author name=“C.Singleton">
library)
• //book[@title] (όλα τα βιβλία που ζχουν <book title=“Sem.Web"/>
χαρακτθριςτικό title) </author>
• //book[@title=“AI”] (όλοι οι κόμβοι book που </library>
ζχουν title με τιμι “AI”)
• /library/publisher[year>1900] (όλα τα ςτοιχεία
publisher που ζχουν ςτοιχείο year με
περιεχόμενο/τιμι μεγαλφτερο/θ του 1900)

Αναπαράςταςθ Γνώςθσ Στον Παγκόςμιο Ιςτό – Ενότθτα 2θ - XPath 12/24


Δενδρικό Μοντζλο-Παράδειγμα
/library/author[1] Root ρίηα (root)

library Στοιχείο-ρίηα (root element)

author author author


location

name book book name book name book

title title title title

Bremen Henry Wise AI Modern William AI Cynthia Semantic


Web Smart Singleton Web

Αναπαράςταςθ Γνώςθσ Στον Παγκόςμιο Ιςτό – Ενότθτα 2θ - XPath 13/24


Δενδρικό Μοντζλο-Παράδειγμα
/library/author[last()] Root ρίηα (root)

library Στοιχείο-ρίηα (root element)

author author author


location

name book book name book name book

title title title title

Bremen Henry Wise AI Modern William AI Cynthia Semantic


Web Smart Singleton Web

Αναπαράςταςθ Γνώςθσ Στον Παγκόςμιο Ιςτό – Ενότθτα 2θ - XPath 14/24


Δενδρικό Μοντζλο-Παράδειγμα
/library/author[last()-1] Root ρίηα (root)

library Στοιχείο-ρίηα (root element)

author author author


location

name book book name book name book

title title title title

Bremen Henry Wise AI Modern William AI Cynthia Semantic


Web Smart Singleton Web

Αναπαράςταςθ Γνώςθσ Στον Παγκόςμιο Ιςτό – Ενότθτα 2θ - XPath 15/24


Δενδρικό Μοντζλο-Παράδειγμα
/library/author[position()<3] Root ρίηα (root)

library Στοιχείο-ρίηα (root element)

author author author


location

name book book name book name book

title title title title

Bremen Henry Wise AI Modern William AI Cynthia Semantic


Web Smart Singleton Web

Αναπαράςταςθ Γνώςθσ Στον Παγκόςμιο Ιςτό – Ενότθτα 2θ - XPath 16/24


Δενδρικό Μοντζλο-Παράδειγμα
//book[@title] Root ρίηα (root)

library Στοιχείο-ρίηα (root element)

author author author


location

name book book name book name book

title title title title

Bremen Henry Wise AI Modern William AI Cynthia Semantic


Web Smart Singleton Web

Αναπαράςταςθ Γνώςθσ Στον Παγκόςμιο Ιςτό – Ενότθτα 2θ - XPath 17/24


Δενδρικό Μοντζλο-Παράδειγμα
//book[@title="AI"] Root ρίηα (root)

library Στοιχείο-ρίηα (root element)

author author author


location

name book book name book name book

title title title title

Bremen Henry Wise AI Modern William AI Cynthia Semantic


Web Smart Singleton Web

Αναπαράςταςθ Γνώςθσ Στον Παγκόςμιο Ιςτό – Ενότθτα 2θ - XPath 18/24


Χρθματοδότθςθ
 Το παρόν εκπαιδευτικό υλικό ζχει αναπτυχκεί ςτo πλαίςιo του
εκπαιδευτικοφ ζργου του διδάςκοντα.
 Το ζργο «Ανοικτά Ακαδθμαϊκά Μακιματα ςτο Πανεπιςτιμιο Ακθνών»
ζχει χρθματοδοτιςει μόνο τθν αναδιαμόρφωςθ του εκπαιδευτικοφ
υλικοφ.
 Το ζργο υλοποιείται ςτο πλαίςιο του Επιχειρθςιακοφ Προγράμματοσ
«Εκπαίδευςθ και Δια Βίου Μάκθςθ» και ςυγχρθματοδοτείται από τθν
Ευρωπαϊκι Ζνωςθ (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εκνικοφσ
πόρουσ.

Αναπαράςταςθ Γνώςθσ Στον Παγκόςμιο Ιςτό – Ενότθτα 2θ - XPath 19/24


Σθμείωμα Ιςτορικοφ Εκδόςεων Ζργου
Το παρόν ζργο αποτελεί τθν ζκδοςθ 1.0.

Αναπαράςταςθ Γνώςθσ Στον Παγκόςμιο Ιςτό – Ενότθτα 2θ - XPath 20/24


Σθμείωμα Αναφοράσ
Copyright: Πανεπιςτιμιον Πατρών, Ιωάννθσ Χατηθλυγεροφδθσ, 2015.
«Αναπαράςταςθ Γνώςθσ ςτον Παγκόςμιο Ιςτό. XML». Ζκδοςθ: 1.0. Πάτρα
2015. Διακζςιμο από τθ δικτυακι διεφκυνςθ:
https://eclass.upatras.gr/courses/CEID1098/

Αναπαράςταςθ Γνώςθσ Στον Παγκόςμιο Ιςτό – Ενότθτα 2θ - XPath 21/24


Σθμείωμα Αδειοδότθςθσ
Το παρόν υλικό διατίκεται με τουσ όρουσ τθσ άδειασ χριςθσ Creative Commons
Αναφορά, Μθ Εμπορικι Χριςθ Παρόμοια Διανομι 4.0 *1+ ι μεταγενζςτερθ, Διεκνισ
Ζκδοςθ. Εξαιροφνται τα αυτοτελι ζργα τρίτων π.χ. φωτογραφίεσ, διαγράμματα
κ.λ.π., τα οποία εμπεριζχονται ςε αυτό και τα οποία αναφζρονται μαηί με τουσ
όρουσ χριςθσ τουσ ςτο «Σθμείωμα Χριςθσ Ζργων Τρίτων».

[1] http://creativecommons.org/licenses/by-nc-sa/4.0/

Ωσ Μθ Εμπορικι ορίηεται θ χριςθ:


• που δεν περιλαμβάνει άμεςο ι ζμμεςο οικονομικό όφελοσ από τθν χριςθ του ζργου, για
το διανομζα του ζργου και αδειοδόχο
• που δεν περιλαμβάνει οικονομικι ςυναλλαγι ωσ προχπόκεςθ για τθ χριςθ ι πρόςβαςθ
ςτο ζργο
• που δεν προςπορίηει ςτο διανομζα του ζργου και αδειοδόχο ζμμεςο οικονομικό όφελοσ
(π.χ. διαφθμίςεισ) από τθν προβολι του ζργου ςε διαδικτυακό τόπο

Ο δικαιοφχοσ μπορεί να παρζχει ςτον αδειοδόχο ξεχωριςτι άδεια να χρθςιμοποιεί το ζργο για
εμπορικι χριςθ, εφόςον αυτό του ηθτθκεί.
Διατιρθςθ Σθμειωμάτων
Οποιαδιποτε αναπαραγωγι ι διαςκευι του υλικοφ κα πρζπει
να ςυμπεριλαμβάνει:
 το Σθμείωμα Αναφοράσ
 το Σθμείωμα Αδειοδότθςθσ
 τθ διλωςθ Διατιρθςθσ Σθμειωμάτων
 το Σθμείωμα Χριςθσ Ζργων Τρίτων (εφόςον υπάρχει)
μαηί με τουσ ςυνοδευόμενουσ υπερςυνδζςμουσ.

Αναπαράςταςθ Γνώςθσ Στον Παγκόςμιο Ιςτό – Ενότθτα 2θ - XPath 23/24


Σθμείωμα Χριςθσ Ζργων Τρίτων
 Οι διαφάνειεσ είναι κατά μεγάλο μζροσ βαςιςμζνεσ ςτο βιβλίο "Ειςαγωγι ςτον
Σθμαςιολογικό Ιςτό", των Grigoris Antoniou και Frank van Harmelen, Β' ΖΚδοςθ,
2009 (Ελλθνικι Ζκδοςθ).

Αναπαράςταςθ Γνώςθσ Στον Παγκόςμιο Ιςτό – Ενότθτα 2θ - XPath 24/24

You might also like