Μοντέλο. για ημι-δομημένα μημ δεδομένα. Ημι-δομημένα δεδομένα XML DTD XML Schema

Σχετικά έγγραφα
Εισαγωγή(στη(γλώσσα(XML(

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

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

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

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

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ

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

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

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

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

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

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

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

Βάσεις ιαδικτύου. Θέματα. Εισαγωγή στην XML. Ευρετήρια για την Ανάκτηση Κειμένων. Ο αλγόριθμος HITS. είναι η XML. Παράδειγμα XML

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

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

Μεταδεδομένα στο Ψηφιακό περιβάλλον

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

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

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

ΜΕΡΟΣ II: XML DTD XML Namespaces XML Schema

5. Επερώτηση XML Εγγράφων: Εισαγωγή στη Γλώσσα XQuery

Μαθηματικά Λογισμικά και Γλώσσες Αναπαράστασης Γνώσης

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

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

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

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

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

Επαλήθευση και Βελτιστοποίηση Συστήµατος ιαχείρισης XML Εγγράφων στη Γλώσσα CLIPS

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

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

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

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

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ιαχείριση εδομένων στον Παγκόσμιο Ιστό

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

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

Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών. ΗΥ-561 ιαχείριση εδοµένων στο Παγκόσµιο Ιστό Βασίλης Χριστοφίδης

Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών. ΗΥ-561 ιαχείριση εδοµένων στο Παγκόσµιο Ιστό Βασίλης Χριστοφίδης

Σημασιολογική Ολοκλήρωση Δεδομένων με τη χρήση Οντολογιών

Αναπαράσταση Γνώσης και Αναζήτηση στον Σηµασιολογικό Ιστό

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

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

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

Εισαγωγή στον Παγκόσμιο ιστό και στη γλώσσα Html. Χρ. Ηλιούδης

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

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

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 2 ο Μάθημα: Βασικά Θέματα Βάσεων Δεδομένων. Δρ. Κωνσταντίνος Χ.

Το Σχεσιακό Μοντέλο. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Σχεσιακό Μοντέλο. Σχεδιασμός Βάσεων Δεδομένων Μάθημα 2 ο Μαρία Χαλκίδη

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

Το Σχεσιακό Μοντέλο. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

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

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

Σχεσιακό Μοντέλο. Εισαγωγή. Βάσεις εδοµένων : Σχεσιακό Μοντέλο 1

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

Σχεδίαση Σχεσιακών ΒΔ

Βάσεις Δεδομένων (Databases)

Web Services. και SOAP

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

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

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 8: RM II. Relational Model. (Chapter )

Σε παγκόσμιο επίπεδο, οιμηχανέςαναζήτησηςτουinternet αναπτύχθηκαν για να κάνουν αναζήτηση πληροφοριών σε πολλαπλές τοποθεσίες ιστού.

ΔΙΑΣΥΝΔΕΣΗ ΚΑΙ ΔΗΜΟΣΙΕΥΣΗ ΔΕΔΟΜΕΝΩΝ ΔΗΜΟΣΙΩΝ ΚΑΙ ΙΔΙΩΤΙΚΩΝ ΦΟΡΕΩΝ ΜΕ ΧΡΗΣΗ ΤΗΣ XML

Τεχνολογίες Παγκόσμιου Ιστού. 1η διάλεξη

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

Γιώργος Χρ. Μακρής. Σύγχρονες Γλώσσες Σήμανσης του Διαδικτύου. Αναπαράσταση Μαθηματικών κειμένων στο διαδίκτυο. Η Γλώσσα MathML

Δομημένη Αναπαράσταση Πληροφοριών

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα

Η γλώσσα XHTML: διαφορές με HTML, μετατροπή

Μητρώο [.gr] Οδηγός ιασύνδεσης. Αξιοποίησης του Εξυπηρετητή EPP. Έκδοση 2.0. [ EPP Server Connection and Use Guide ]

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 3) Ουρανία Σμυρνάκη

Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών. ΗΥ-561 Διαχείριση Δεδομένων στο Παγκόσμιο Ιστό Ειρήνη Φουντουλάκη Βασίλης Χριστοφίδης

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα

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

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

Extensible Markup Language (XML) 1.0

Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών. ΗΥ-561 Διαχείριση Δεδομένων στο Παγκόσμιο Ιστό Βασίλης Χριστοφίδης

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Ενότητα 3:

Βάσεις Δεδομένων : Σχεσιακό Μοντέλο 1. Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση.

Κεφάλαιο 5. Το Σχεσιακό Μοντέλο Δεδομένων και Περιορισμοί Σχεσιακών Βάσεων Δεδομένων

Διάλεξη 07: Σχεσιακό Μοντέλο II (Relational Data Model) Διδάσκων: Παναγιώτης Ανδρέου

Δομημένη Αναπαράσταση Πληροφοριών

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

Σχεδίαση και Χρήση Βάσεων Δεδομένων. Χρήση του DBDesigner. Γιώργος Πυρουνάκης - forky@di.uoa.gr

Ορισμοί Σχεσιακού Μοντέλου και (απλές)τροποποιήσεις Σχέσεων στην SQL. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Κείμενο ASCII Unicode - HTML. Κωδικοποίηση ASCII / Unicode HTML

Σχεδιασμός μιας Β : Βήματα

Βάσεις Δεδομένων. Ενότητα 4: Μοντελοποίηση Συσχέτισης Οντοτήτων. Αθανάσιος Σπυριδάκος Τμήμα Διοίκησης Επιχειρήσεων

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 2: Εισαγωγή στις Βάσεις Δεδομένων

Τίτλος Εργασίας Καινοτόμου Προγράμματος και Δράσης

Βάσεις εδοµένων. Βασίλειος Βεσκούκης, Εµµ. Στεφανάκης ΜΟΝΤΕΛΟΠΟΙΗΣΗ Ε ΟΜΕΝΩΝ, ΚΛΑΣΙΚΑ ΜΟΝΤΕΛΑ Ε ΟΜΕΝΩΝ

Σύγχρονες Εφαρμογές Τεχνολογιών της Πληροφορίας και των Επικοινωνιών

Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό Σχήμα. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Γραφικό Περιβάλλον Οπτικής Απεικόνισης Οντολογιών RDF Schema στο Σημασιολογικό Ιστό

Βάσεις Δεδομένων Εισαγωγή

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση Δίαυλος Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 5-1

Τίτλος Εργασίας. Επώνυμο και Όνομα Πρώτου Εισηγητή (ΠΡΟΣΟΧΗ: πρώτα το Επώνυμο) Ιδιότητα, Εργασιακός Φορέας, Διεύθυνση

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος , Εαρινό Εξάμηνο Διδάσκων Καθ.: Νίκος Τσαπατσούλης

Transcript:

Μοντέλο για ημι-δομημένα μημ δεδομένα Ημι-δομημένα δεδομένα XML DTD XML Schema

Εισαγωγικά 3 βασικές κατηγορίες δεδομένων: Δομημένα (structured): τα δεδομένα σε ΒΔ, όπου η αναπαράσταση γίνεται σύμφωνα με αυστηρά καθορισμένο σχήμα. Το ΣΔΒΔ είναι υπεύθυνο για να ελέγχει και να διασφαλίζει όλα τα δεδομένα να είναι εναρμονισμένα με το σχήμα και να μην παραβιάζουν τους περιορισμούς. Ημι-δομημένα (semi-structured): structured): επόμενες διαφάνειες Μη δομημένα (unstructured): υπάρχει πολύ λίγη πληροφορία σχετικά με τον τύπο δδ δεδομένων, π.χ. δδ δεδομένα σε HTML σελίδες. 2

Ημι-δομημένα δεδομένα Τα δεδομένα μπορεί να έχουν κάποια δομή αλλά αυτή η δομή δεν είναι όμοια για όλα τα δεδομένα. Η πληροφορία για το σχήμα βρίσκεται μαζί με τα δεδομένα καθώς δεν είναι γνωστό εκ των προτέρων ποιες ιδιότητες υπάρχουν σε κάθε αντικείμενο/οντότητα. Αναφέρονται και ως αυτοπεριγραφόμενα δεδομένα (self-describing). 3

Κίνητρο για ημι-δομημένα δεδομένα/μοντέλο Παροχή ευελιξίας όσον αφορά τα δεδομένα, καθώς δεν απαιτείται η αυστηρή εναρμόνιση με κάποιο σχήμα. Ουσιαστικά το σχήμα μπορεί να μεταβάλλεται αυθαίρετα με το χρόνο και ανάμεσα στα δεδομένα της ΒΔ την ίδια χρονική στιγμή. Υπάρχει τίμημα όσον αφορά την αποδοτικότητα στην επεξεργασία ερωτημάτων. Καλύτερη υποστήριξη ολοκλήρωσης ΒΔ (database integration) και διαμοιρασμού πληροφορίας στον παγκόσμιο ιστό. 4

Αναπαράσταση Ως ένας κατευθυνόμενος γράφος όχι απαραίτητα δένδρο paper Bib &o1 book paper references &o12 &o24 &o29 references references author author year author title http title author publisher title author author Η ετικέττα σε μία ακμή μπορεί να αναπαριστά είτε μία σχέση οντότηταςιδιότητας, είτε μία συσχέτιση μεταξύ οντοτήτων page &o43 &96 &25 firstname lastname 1997 firstname lastname first last &243 &206 Serge Abiteboul Victor Vianu 122 133 5

XML (extensible Markup Language) Ο βασικός και πιο διαδεμένος τρόπος αναπαράστασης ημιδομημένων δεδομένων. Είναι πρότυπο του World Wide Web Consortium και αναπαριστά τα ημιδομημένα δεδομένα γραμμικά. Η XML μπορεί να θεωρηθεί: Ως μία γλώσσα σήμανσης για έγγραφα. Ένα μοντέλο για ιεραρχικά δεδομένα. Ένας συμβολισμός (notation) για επικοινωνία δεδομένων μαζί με τη δομή τους. Υπόβαθρο για Υπηρεσίες Ιστού (Web Services) και σημασιολογικό ιστό (Semantic Web). Αλλά ουσιαστικά είναι μία γλώσσα σήμανσης όπου η συλλογή Αλλά ουσιαστικά είναι μία γλώσσα σήμανσης όπου η συλλογή ετικετών είναι επεκτάσιμη. 6

Σημασιολογικές Ετικέτες Περιγράφουν τα δεδομένα. Όχι απλώς την παρουσίαση τους όπως στην HTML. Οι ετικέτες τυπικά είναι ζευγάρια, π.χ. <FOO> </FOO>. Μπορούν όμως ναείναι και μονές, π.χ. <FOO/>. Ανάμεσα σε ένα ζευγάρι ετικετών μπορεί να βρίσκεται κείμενο και άλλα ζευγάρια ετικετών. Δεν υπάρχει περιορισμός στον βαθμό και τον τρόπο που μπορούν οι ετικέτες να είναι εμφωλιασμένες. Στο όνομά τους παίζει ρόλο αν χρησιμοποιούνται μικρά ή κεφαλαία γράμματα. Ένα στοιχείο (element) αποτελείται από ένα ζευγάρι ετικέτες και ό,τι βρίσκεται ανάμεσα σε αυτές. 7

Τρόποι Χρήσης Η XML μπορεί να χρησιμοποιηθεί με ή χωρίς την ύπαρξη κάποιου σχήματος: 1. Η καλώς ορισμένη (well-formed) XML δίνει απόλυτη ελευθερία στον χρήστη όσον αφορά τις ετικέτες που μπορεί να χρησιμοποιεί. Είναι πολύ κοντά στο μοντέλο ΗΔΔ. 2. Η έγκυρη (valid) XML εναρμονίζεται με κάποιο Document Type Definition (DTD) ή XML Schema, που ορίζει τις επιτρεπόμενες ετικέτες και τη γραμματική του XML αρχείου. Είναι κάπου ανάμεσα σε αυστηρά καθορισμένα μοντέλα και μοντέλα ΗΔΔ. 8

Καλώς ορισμένη (Well-Formed) XML Το αρχείο αρχίζει με μία δήλωση που περικλείεται από <?xml?>. Μία τυπική δήλωση είναι: <?xml version = 1.0 standalone = yes?> - standalone σημαίνει ουσιαστικά ότι δεν υπάρχει DTD. Υπάρχει μία ετικέτα-ρίζα (root tag) η οποία περικλείει όλες τις υπόλοιπες (εμφωλιασμένες) ετικέτες. 9

Καλώς ορισμένη (Well-Formed) XML: Παράδειγμα <?xml version = 1.0 standalone = yes?> μ μ <BARS> <BAR><NAME>Το Κουρδιστό Γουρούνι</NAME> <BEER><NAME>Mύθος</NAME> <PRICE>3.50</PRICE></BEER> <BEER><NAME>Guinness</NAME> <PRICE>4.00</PRICE> <SUPPLIER>XYZ</SUPPLIER></BEER> </BAR> Ετικέτες που περικλείουν BEER και ΝΑΜΕ <BAR>, ή </BARS> Ετικέτα- ρίζα Subelement με όνομα NAME Subelement με όνομα BEER elements, και που ανήκουν σε ένα BAR element. 10

Ιδιότητες (Attributes) Τα στοιχεία μπορεί να περιέχουν ιδιότητες. Οι ιδιότητες έχουν τη μορφή όνομα-τιμή. Βρίσκονται μέσα στην αρχική ετικέτα του στοιχείου. Οι ιδιότητες μπορούν να αναπαραστήσουν και αυτές ακμές στο γράφο του μοντέλου ΗΔΔ. Ιδίως ακμές πουκαθιστούντονγράφο να μηνείναι δένδρο. Δεν υπάρχει γενικός κανόνας πότε μία οντότητα ή αντικείμενο πρέπει να αναπαριστάται ως (υπο-)στοιχείο ή ιδιότητα, αλλά μια γενική πρακτική είναι οι ιδιότητες να χρησιμοποιούνται κυρίως για μεταδεδομένα. <BEER source= http://oles-oi-times.gr validuntil= 1/1/2010 > <NAME>Guinness</NAME><PRICE>4.00</PRICE> /PRICE </BEER> 11

Document Type Definitions - DTD Βασική δομή: <!DOCTYPE <root tag> [ <!ELEMENT <name>(<components>)>...moreelements... ]> Πεδίο «!ELEMENT»: Η περιγραφή ενός στοιχείου που αποτελείται από το όνομακαιμέσα μ σε παρένθεση είτε τη σειρά+πλήθος των υποστοιχείων, είτε, αν είναι φύλλο, την κωδική λέξη #PCDATA (Parsed Character DATA ), που χονδρικά αντιστοιχεί σε string. 12

Παράδειγμα DTD <!DOCTYPE BARS [ <!ELEMENT BARS (BAR*)> BARS: 0 ή περισσότερα BAR στοιχεία <!ELEMENT BAR (NAME, ADDRESS?,BEER+)> <!ELEMENT NAME (#PCDATA)> <!ELEMENT BEER (NAME, PRICE, SUPPLER?)> <!ELEMENT PRICE (#PCDATA)> BAR 1 NAME <!ELEMENT SUPPLIER (#PCDATA)> BAR: 1 NAME, 0 ή 1 ADDRESS, 1 ή περισσότερα ]> BEER BEER: NAME, κείμενο PRICE, και προαιρετικά SUPPLIER 13

Περιγραφές στοιχείων σε DTD Τα υποστοιχεία εμφανίζονται με την διάταξη που ορίζεται. Το πλήθος ορίζεται με τα ακόλουθα σύμβολα: * = 0..m + = 1..m?=0ή 1. Τοσύμβολο συνδέει εναλλακτικές διατάξεις. <!ELEMENT CONTACT ( (ADDRESS, ZIP, CITY?, COUNTRY) EMAIL)> 14

Περιγραφές ιδιοτήτων σε DTD <BEER source=http://oles-oi-times.gr oi times.gr validuntil= 1/1/2010 > <NAME>Guinness</NAME><PRICE>4.00</PRICE> </BEER> Παράδειγμα DTD ορισμού: <!ATTLIST BEER source(http://oles-oi-times.gr ti http://ola-ta-bar.gr) #IMPLIED validuntil CDATA #REQUIRED) Γενική μορφή: <!ATTLIST element-name attribute-name type #IMPLIED #REQUIRED> 15

Ταυτότητες και αναφορές Επιπλέον τύποι ιδιοτήτων:id,, IDREF, IDREFS Bib &o1 paper book paper author title references &o12 &o24 &o29 references references author year author http title author publisher title author author page &o43 &96 &25 firstname lastname 1997 firstname lastname first last &243 &206 Serge Abiteboul Victor Vianu 122 13316

Παράδειγμα Έστω οι ορισμοί: <!ELEMENT ΟWNER (NAME) > <!ATTLIST OWNER ownerid ID #REQUIRED owns IDREFS #IMPLIED> <!ELEMENT BAR (NAME)> <!ATTLIST BAR barid ID #REQUIRED ownedby IDREF #IMPLIED> Απόσπασμα απόxml αρχείο: <OWNER ownerid= o001 owns= b1 b2 > <NAME>Όνομα Επίθετο</NAME> </OWNER> <BAR barid= b1 ownedby= o001 > <NAME>Όνομα 1</NAME></BAR> <BAR barid= b2 > <NAME>Όνομα 2</NAME></BAR> 17

Τρόπος Χρήσης <?xml version = 1.0 standalone = no?> <!DOCTYPE BARS [ <!ELEMENT BARS (BAR*)> <!ELEMENT BAR (NAME, ADDRESS?,BEER+)> <!ELEMENT NAME (#PCDATA)> <!ELEMENT BEER (NAME, PRICE, SUPPLER?)> <!ELEMENT PRICE (#PCDATA)> <!ELEMENT SUPPLIER (#PCDATA)> ]> <BARS> <BAR><NAME>Το Κουρδιστό Γουρούνι</NAME> <BEER><NAME>Mύθος</NAME> <PRICE>3.50</PRICE></BEER> </BAR> </BARS> Εναλλακτικά: <!DOCTYPE BARS SYSTEM filename.dtd > 18

Βασικά Μειονεκτήματα Περιορισμοί στους τύπους δεδομένων. Το DTD έχει τη δική του σύνταξη και χρειάζεται ειδικούς επεξεργαστές Είναι καλύτερο το σχήμα ενός XML αρχείου να ορίζεται με μία γραμματική βασισμένη πάλι σε XML ώστε οι ίδιοι επεξεργαστές για τα αρχεία να χρησιμοποιούνται και για τα σχήματα. Βάσει του DTD τα στοιχεία πρέπει να ακολουθούν ορισμένη διάταξη. 19

XML Schema Είναι πιο γενική μέθοδος με μεγαλύτερες δυνατότητες. Οι ορισμοί είναι και αυτοί XML αρχεία. Η περιγραφή των στοιχείων γίνεται με στοιχεία. Είναι πρότυπο του W3C για μοντελοποίηση με XML Τα αρχεία ενός XML Schema έχουν τυπικά κατάληξη.xsd 20

XML Schema: Σύνοψη δυνατοτήτων Τι μπορεί να οριστεί: Ποια στοιχεία/ιδιότητες είναι υποχρεωτικά και ποια προαιρετικά. Οι τύποι των στοιχείων και ιδιοτήτων και το εύρος τιμών. Αριθμός Εμφανίσεων. Σχετική Διάταξη. Ορισμός κλειδιών (πρωτευόντων και ξένων). 21

Δομή ενός αρχείου XML schema <? xml version =?> <xs:schema xmlns:xs = http://www.w3.org/2001/xmlschema > /2001/XML h >... </xs:schema> Συνεπώς, η προσθήκη του xs στα στοιχεία του σχήματος σημαίνει αναφορά σε ετικέτες που ορίζονται στο συγκεκριμένο Namespace,που είναι το XML-Schema namespace. Ορίζει ως xs το namespace που περιγράφεται στο αντίστοιχο URL. 22

Το xs:element στοιχείο Έχει ως ιδιότητες: name = Το όνομα της ετικέτας για το στοιχείο που ορίζεται. type = Ο τύπος του στοιχείου. Μπορεί να είναι βασικός τύπος ορισμένος ήδη (πχ. string, ti integer, positiveinteger, negativeinteger, short, long, date, datetime, time, id, idref. anyuri. Ή τύπος που έχει οριστεί στο συγκεκριμένο αρχείο. Παράδειγμα: <xs:element name = NAME type = xs:string /> Περιγράφει στοιχεία όπως <NAME>Κουρδιστό Γουρούνι</NAME> 23

Σύνθετοι Τύποι - xs:complextype Χρησιμοποιείται για περιγραφή στοιχείων που περιέχουν υποστοιχεία. Ταπιοσυχνά υποστοιχεία τουxs:complextype είναι: xs:sequence: μία σειρά στοιχείων που πρέπει να εμφανιστούν σύμφωνα με την ορισμένη διάταξη. xs:all: μία σειρά στοιχείων, τα οποία πρέπει να εμφανιστούν όλα μία το πολύ φορά με αυθαίρετη διάταξη. xs:choice: hi ένα μόνο στοιχείο μπορεί υπάρχει κάθε 24 φορά.

Παράδειγμα με xs:complextype <xs:complextype name = beertype > <xs:sequence> <xs:element name = NAME type = xs:string minoccurs = 1 maxoccurs = 1 /> <xs:element name = PRICE type = xs:float minoccurs = 0 maxoccurs = 1 /> </xs:sequence> </xs:complextype> <xs:element name = BAR > <xs:complextype > <xs:sequence> <xs:element name = NAME type = xs:string minoccurs = 1 maxoccurs = 1 /> <xs:element name = BEER type = beertype minoccurs = 0 maxoccurs = unbounded /> </xs:sequence> </xs:complextype> </xs:element> 25

Παράδειγμα με xs:complextype <xs:complextype name = beertype2 > <xs:choice> <xs:element name = ALE type = xs:string minoccurs = 1 maxoccurs = 1 /> <xs:element name = BLACK </xs:choice> </xs:complextype> type = xs:string minoccurs io = 1 maxoccurs = 1 /> 26

xs:attribute Ορίζονται ρζ ως υποστοιχεία του xs:complextype. Iδιότητες: name = Το όνομα της ιδιότητας ςγια το στοιχείο που ορίζεται. ρζ type = Ο τύπος της ιδιότητας. use: required ή optional Παράδειγμα: <xs:complextype name = beertype > <xs:attribute name = name type = xs:string use = required /> <xs:attribute name = price type = xs:float use = optional /> </xs:complextype> Περιγράφει στοιχεία όπως <XXX name= Κουρδιστό δ όγουρούνι price= 4.00 /> 27

Περιορισμοί σε απλούς τύπους - xs:simpletype Εκφράζονται είτε ως απαριθμήσεις είτε ως καθορισμός εύρους τιμών. <xs:simpletype name = Country > <xs:restriction base = xs:string > <xs:enumeration value = Greece /> <xs:enumeration value = EU /> <xs:enumeration value = Other /> </xs:restriction> </xs:simpletype> <xs:simpletype name = priceallowed > <xs:restriction base = xs:float mininclusive = 0.01 maxexclusive = 1000.00 /> </xs:simpletype> 28

Ορισμός κλειδού xs:key Ορίζεται ως υποστοιχείο του xs:element. Το νόημα είναι πως μέσα στα περιεχόμενα του δεδομένου στοιχείου, όλα τα υποστοιχεία τα οποία μπορούν να προσπελασθούν με συγκεκριμένο μονοπάτι (selector) έχουν μοναδική τιμή για το συνδυασμό των ορισμένων πεδίων (fields). Παράδειγμα: Μέσα στο στοιχείο BAR, η ιδιότητα name μαζί με το υποστοιχείο SUPPLIER του υποστοιχείου BEER, είναι μοναδικά. <xs:element name = BAR >... <xs:key name = barkey > <xs:selector xpath = BEER /> <xs:field xpath = @name /> <xs:field xpath = SUPPLIER /> </xs:key> </xs:element> 29

Ορισμός ξένου κλειδού xs:key ref Σύνταξη: <xs:keyref name = όνομα-ξένου-κλειδιού refer = όνομα κλειδιού <xs:selector xpath = μονοπάτι /> <xs:field xpath = μονοπάτι /> </xs:keyref> 30

Βιβλιογραφία The W3C Consortium Tutorial is short but informative: http://www.w3schools.com/schema/ D. Fallside, XML Schema Part 0: Primer, 2001: http://www.w3.org/tr/xmlschema-0/ /TR/ h N. Bradley, The XML Companion (3 rd Edition), Addison-Wesley, 2002. 31