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

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

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

Transcript

1 Εισαγωγή στη γλώσσα XML Μανόλης Γεργατσούλης Χρήστος Παπαθεοδώρου Ομάδα Βάσεων Δεδομένων και Πληροφοριακών Συστημάτων, Τμήμα Αρχειονομίας Βιβλιοθηκονομίας Ιόνιο Πανεπιστήμιο

2 HTML Απλή γλώσσα σημειοθέτησης (markup language) Το κείμενο εμπλουτίζεται με εντολές της γλώσσας οι οποίες ονομάζονται ετικέτες (tags), οι οποίες συνήθως αποτελούνται από μια ετικέτα αρχής (start tag) και μια ετικέτα τέλους (end tag). Με την HTML περιγράφουμε πως θέλουμε να παρουσιάζεται η πληροφορία ενός κειμένου. 2

3 Παράδειγμα HTML: Λίστα Βιβλίων <HTML> <BODY> Fiction: <UL><LI>Author: Milan Kundera</LI> <LI>Title: Identity</LI> <LI>Published: 1998</LI> </UL> Science: <UL><LI>Author: Richard Feynman</LI> <LI>Title: The Character of Physical Law</LI> <LI>Hardcover</LI> </UL> </BODY> </HTML> 3

4 Πέρα από την HTML: XML extensible Markup Language (XML) αποτελεί μια εξαιρετικά απλή διάλεκτο της γλώσσας Standard Generalized Markup Language (SGML), η οποία αναπτύχθηκε με στόχο να διευκολύνει το χειρισμό, επεξεργασία, διακίνηση και αποθήκευση τεκμηρίων στον Παγκόσμιο Ιστό (web). Συνδυασμός SGML και HTML: Η ισχύς της SGML με την απλότητα της HTML. Επιτρέπει τον ορισμό νέων γλωσσών σημειοθέτησης, με τη βοήθεια δηλώσεων τύπων εγγράφων (Document Type DeclaraXons) (DTDs). Τεχνικά εγχειρίδια: «Extensible Markup Language (XML) 1.0 (Second Ediwon)» βρίσκεται στη διεύθυνση: hzp:// xml 4

5 Πως ξεκινά ένα XML τεκμήριο Ένα απλό XML τεκμήριο: Δήλωση XML <?xml version="1.0"?> <greeting>hello, world!</greeting> Ένα απλό στοιχείο της XML 5

6 XML:Στοιχεία και γνωρίσματα Όνομα στοιχείου Όνομα γνωρίσματος Τιμή γνωρίσματος <ετικέτα όνοµα_γνωρ1 = τιµή1 όνοµα_γνωρ_n = τιµή_n > Ετικέτα αρχής... περιεχόµενο στοιχείου... </ετικέτα> Ετικέτα τέλους 6

7 Παράδειγμα XML τεκμηρίου Βιβλιογραφία S. Abiteboul, P. Buneman, D. Suciu Data on the Web: From RelaXons to Semistructured Data and XML Morgan Kaufmann Publishers, Norman Walsh A Guide to XML World Wide Web Journal, Vol. 2, Issue 4, 1997, pages <bibliography> <book> <author>s. Abiteboul</author> <author>p. Buneman</author> <author>d. Suciu</author> <title>data on the Web: From Relations to Semistructured Data and XML</title> <publisher>morgan Kaufmann Publishers</publisher> <year>2000</year> </book> <article> <author>norman Walsh</author> <title>a Guide to XML</title> <journal>world Wide Web Journal</journal> <volume>2</volume> <issue>4</issue> <year>1997</year> <pages>97-107</pages> </article> </bibliography> 7

8 XML: Βασικά Δομικά Στοιχεία Στοιχεία (elements). Οι βασικές δομικές μονάδες της XML. Ετικέτα αρχής, ετικέτα τέλους. Πρέπει να είναι κατάλληλα εμφωλευμένα. Τα στοιχεία μπορούν να διαθέτουν γνωρίσματα (azributes) τα οποία παρέχουν επιπλέον πληροφορία αναφορικά με τα στοιχεία. Οντότητες: όπως οι μακροεντολές, αναπαριστούν ένα συχνά εμφανιζόμενο κείμενο. Σχόλια. Οδηγίες επεξεργασίας (processing instrucxons): αναπαριστούν οδηγίες για εφαρμογές. Δηλώσεις τύπων εγγράφων (Document type declaraxons) (DTDs). 8

9 Απλά και Σύνθετα Στοιχεία Ένα απλό στοιχείο (έχει για περιεχόμενο απλό κείμενο): <φοιτητής> Νίκος Νικολάου </φοιτητής> Ένα σύνθετο στοιχείο (περιλαμβάνει άλλα στοιχεία): <φοιτητής> <όνοµα> Νίκος </όνοµα> <επώνυµο> Νικολάου </επώνυµο> </φοιτητής> Περιεχόμενο στοιχείων 9

10 Σύνθετα Στοιχεία με Ανάμικτο Περιεχόμενο Στοιχείο με ανάμικτο περιεχόμενο: <φοιτητής> Το όνοµα του φοιτητή είναι <όνοµα>νίκος</όνοµα> ενώ το επώνυµο του είναι <επώνυµο>νικολάου</ επώνυµο> </φοιτητής> Ανάμικτο περιεχόμενο 10

11 Καλά Διαμορφωμένο XML Τεκμήριο Για να είναι ένα XML τεκμήριο καλά διαμορφωμένο (well formed) πρέπει να υπακούει στους κανόνες σύνταξης της XML: Οι ετικέτες του τεκμηρίου πρέπει να είναι ισορροπημένες: σε κάθε ετικέτα αρχής πρέπει να αντιστοιχεί μια ετικέτα τέλους η οποία να βρίσκεται μετά την ετικέτα αρχής μέσα στο τεκμήριο. Αν μια ετικέτα αρχής E1 εμφανίζεται νωρίτερα από μια ετικέτα αρχής E2, τότε η ετικέτα τέλους που αντιστοιχεί στην E1 εμφανίζεται αργότερα από την ετικέτα τέλους που αντιστοιχεί στην E2. Επομένως, οι ετικέτες τέλους πρέπει να εμφανίζονται με την ανάστροφη σειρά από αυτήν που εμφανίζονται οι αντίστοιχες ετικέτες αρχής. 11

12 Καλά Διαμορφωμένο XML Τεκμήριο Καλά Διαμορφωμένο XML Τεκμήριο: <φοιτητής> <όνοµα> Νίκος </όνοµα> <επώνυµο> Νικολάου </επώνυµο> </φοιτητής> Σειρά εμφάνισης ετικετών: <φοιτητής><όνοµα></όνοµα><επώνυµο></επώνυµο></φοιτητής> Λανθασμένη σειρά εμφάνισης ετικετών: <φοιτητής><όνοµα></όνοµα><επώνυµο></φοιτητής></επώνυµο> 12

13 Ένα μεγαλύτερο παράδειγμα XML τεκμηρίου Αναπαράσταση λίστας φοιτητών του ΤΑΒ σε μορφή XML τεκμηρίου: <ΤΑΒ> <φοιτητής> <όνοµα> Νίκος </όνοµα> <επώνυµο> Νικολάου </επώνυµο> </φοιτητής> <φοιτητής> <όνοµα> Πέτρος </όνοµα> <επώνυµο> Πέτρου </επώνυµο> </φοιτητής> <φοιτητής> <όνοµα> Μίνα </όνοµα> <επώνυµο> Μίνου </επώνυµο> </φοιτητής>... </ΤΑΒ> 13

14 Κενά στοιχεία στην XML Η σύνταξη της XML επιτρέπει κενά στοιχεία (empty elements) δηλαδή στοιχεία με κενό περιεχόμενο. Τα κενά στοιχεία έχουν τη μορφή: <ετικέτα></ετικέτα> Παρέχεται και η ακόλουθη συντομογραφία για τη σύνταξη κενών στοιχείων: <ετικέτα/> 14

15 Γνωρίσματα στην XML Ένα στοιχείο της XML είναι δυνατό να διαθέτει ένα σύνολο από γνωρίσματα (aìributes). Τα γνωρίσματα ορίζονται σαν ζεύγη ονομάτων τιμών. Τα γνωρίσματα τοποθετούνται στην ετικέτα αρχής του στοιχείο στο οποίο αναφέρονται. Στο παρακάτω παράδειγμα το γνώρισμα με όνομα ΑΜ χρησιμοποιείται για να αποτυπωθεί ο αριθμός μητρώου του φοιτητή: <φοιτητής ΑΜ = "12345"> <όνοµα> Νίκος </όνοµα> <επώνυµο> Νικολάου </επώνυµο> </φοιτητής> Γνώρισμα 15

16 Γνωρίσματα στην XML (συνέχεια) Οι τιμές των γνωρισμάτων περικλείονται ανάμεσα σε απλά ή διπλά εισαγωγικά. Ένα στοιχείο είναι δυνατόν να διαθέτει περισσότερα του ενός γνωρίσματα. <book isbn=" x" language="english"> <title> Data on the Web </title> <price currency = "USD"> 100 </price> </book> Ενώ ένα στοιχείο μπορεί να διαθέτει υποστοιχεία με το ίδιο όνομα, δεν επιτρέπεται σε περισσότερα του ενός γνωρίσματα του να έχουν το ίδιο όνομα. Η σειρά με εμφάνισης των γνωρισμάτων ενός στοιχείου δεν παίζει κανένα ρόλο σε αντίθεση με τη σειρά εμφάνισης των στοιχείων που είναι σημαντική. 16

17 Σχόλια Τα σχόλια (comments) επιτρέπονται οπουδήποτε εκτός από το εσωτερικό των ετικετών. Ένα σχόλιο ξεκινά με το <!-- και τελειώνει με το -->. Παράδειγμα: <!-- Αυτό είναι ένα σχόλιο --> Τα σχόλια τοποθετούνται για να κάνουν το τεκμήριο ευανάγνωστο από τον άνθρωπο. 17

18 Οδηγίες Επεξεργασίας Οι οδηγίες επεξεργασίας (Processing Instrucwons) PI επιτρέπουν σε ένα XML τεκμήριο να περιέχει οδηγίες που απευθύνονται σε προγράμματα εφαρμογών. Μια οδηγία επεξεργασίας περιλαμβάνει το όνομα μιας εφαρμογής στην οποία απευθύνεται, ακολουθούμενο από πληροφορίες (οδηγίες επεξεργασίες, παραμέτρους κ.λ.π.) οι οποίες θέλουμε να περάσουν στην εφαρμογή. Παράδειγμα: Η παρακάτω οδηγία επεξεργασίας απευθύνεται στην εφαρμογή xml stylesheet: <?xml-stylesheet href="book.css" type="text/css"?> 18

19 CDATA Ένα τμήμα CDATA ξεκινά με <![CDATA[ και τελειώνει με ]]>. Το περιβάλλον CDATA χρησιμοποιείται όταν θέλουμε να συμπεριλαμβάνουμε ετικέτες και άλλα ειδικά σύμβολα τα οποία θέλουμε να εκληφθούν απλά σαν ακολουθίες χαρακτήρων (συμβολοσειρές). Παράδειγμα: Το ακόλουθο είναι ένα συντακτικά σωστό τμήμα XML τεκμηρίου: <![CDATA[ <αρχή> αυτό είναι ένα λανθασµένο στοιχείο </τέλος>]]> 19

20 Οντότητες και αναφορές οντοτήτων Ορισμένοι χαρακτήρες έχουν ειδική σημασία στην XML. Ο χαρακτήρας < υποδηλώνει την έναρξη μιας ετικέτας ενώ ο χαρακτήρας > υποδηλώνει το τέλος της ετικέτας. Oι χαρακτήρες &, και ", έχουν ειδική σημασία στην XML. Η απευθείας χρησιμοποίηση τέτοιων συμβόλων στο κείμενο που αποτελεί το περιεχόμενο ενός στοιχείου οδηγεί σε συντακτικά λανθασμένα XML τεκμήρια. Παράδειγμα 1: Το παρακάτω στοιχείο είναι συντακτικά λανθασμένο: <στοιχείο> Το σύµβολο < δεν µπορεί να εµφανίζεται έτσι </στοιχείο> αφού το < στο περιεχόμενο του θα εκληφθεί ως έναρξη ετικέτας. Η XML παρέχει ενσωματωμένες οντότητες οι οποίες ονομάζονται εσωτερικές οντότητες (internal enwwes) για την αναπαράσταση τέτοιων συμβόλων σε ένα XML τεκμήριο αποφεύγοντας τα προβλήματα σύνταξης. 20

21 Οντότητες και αναφορές οντοτήτων (συνέχεια) Η τοποθέτηση τέτοιων συμβόλων σε ένα XML τεκμήριο γίνεται μέσω αναφορών στις αντίστοιχες οντότητες. Μια αναφορά οντότητας (enwty reference) ξεκινά με το σύμβολο &, ακολουθείται από το όνομα της οντότητας, και τελειώνει με το σύμβολο ;. Παράδειγμα 2: το < αποτελεί αναφορά στην οντότητα με όνομα lt που αναπαριστά το <, ενώ με τα >, &, &apos;, ", αναφερόμαστε στις οντότητες που αντιστοιχούν στα >, &, και " αντίστοιχα. Παράδειγμα 3: Το στοιχείο στο Παράδειγμα 1 πρέπει να γραφτεί σαν: <στοιχείο>το σύµβολο < δεν µπορεί να εµφανίζεται έτσι</στοιχείο> 21

22 Οντότητες και αναφορές οντοτήτων (συνέχεια) Οντότητες XML μπορούν επίσης να χρησιμοποιηθούν για να αναφερθούμε σε κείμενο που επαναλαμβάνεται συχνά. Στην περίπτωση αυτή οι οντότητες παίζουν το ρόλο συντομογραφιών. Επίσης, οντότητες μπορούν να χρησιμοποιηθούν για να ενσωματώσουμε το περιεχόμενο εξωτερικών αρχείων. Οι οντότητες της κατηγορίας αυτής ονομάζονται και εξωτερικές οντότητες (external enwwes), και θα πρέπει να δηλωθούν από το χρήστη στο DTD, με τον τρόπο που θα δούμε στην αντίστοιχη ενότητα. Κάθε οντότητα θα πρέπει να έχει ένα μοναδικό όνομα. Οι οντότητες της XML μοιάζουν με τις μακροεντολές των γλωσσών προγραμματισμού. 22

23 Αναφορές χαρακτήρων Οι αναφορές χαρακτήρων (character references) έχουν παρόμοια μορφή με τις αναφορές οντότητας. Χρησιμοποιούνται για την εισαγωγή οποιουδήποτε χαρακτήρα του συνόλου ISO/IEC σε ένα XML τεκμήριο. Αυτό γίνεται περικλείοντας το κωδικό του χαρακτήρα ανάμεσα σε & και ;. Αν η αναφορά χαρακτήρα ξεκινά με &#x τότε τα ψηφία που ακολουθούν μέχρι το σύμβολο τερματισμού ; παρέχουν τη δεκαεξαδική αναπαράσταση του χαρακτήρα στο ISO/IEC Παράδειγμα: Αν όμως ξεκινά απλά με το &# τότε τα ψηφία που ακολουθούν μέχρι το σύμβολο τερματισμού ; παρέχουν τη δεκαδική αναπαράσταση του χαρακτήρα στο ISO/IEC Παράδειγμα: Μέσω των αναφορών χαρακτήρων μπορούμε να εισάγουμε χαρακτήρες οι οποίοι δεν είναι προσπελάσιμοι από τις διαθέσιμες συσκευές εισόδου. 23

24 XML: Ταυτότητες Αντικειμένων (Oids) και Αναφορές <person id= o555 > <name> John </name> </person> <children idref= o123 /> <person id= o456 > <name> Mary </name> <children idref= o123 /> </person> <person id= o123 mother= o456 father= o555 > <name>jim</name> </person> Τα oids και οι αναφορές στην XML είναι απλά σύνταξη 24

25 Document Type Definifon (DTD) Μανόλης Γεργατσούλης Χρήστος Παπαθεοδώρου Ομάδα Βάσεων Δεδομένων και Πληροφοριακών Συστημάτων, Τμήμα Αρχειονομίας Βιβλιοθηκονομίας Ιόνιο Πανεπιστήμιο

26 XML: Document Type Definifons (DTDs) Πλεονέκτημα της XML: επιτρέπει να ορίσουμε και να χρησιμοποιήσουμε στοιχεία, γνωρίσματα και οντότητες της αρεσκείας μας. Ένα έγγραφο XML είναι καλά διαμορφωμένο (well formed) αν: Το έγγραφο ξεκινά με ένα δηλωτικό XML. Διαθέτει στοιχείο ρίζα που περιέχει όλα τα υπόλοιπα στοιχεία. Όλα τα στοιχεία του είναι κατάλληλα εμφωλευμένα. Είναι χρήσιμο να τίθενται κοινά αποδεκτοί κανόνες που προδιαγράφουν συγκεκριμένο λεξιλόγιο από επιτρεπτά ονόματα στοιχείων και γνωρισμάτων, και θέτουν περιορισμούς ως προς την πολλαπλότητα εμφάνισης των στοιχείων, την μεταξύ τους σειρά κ.λ.π. Κάθε κοινότητα χρηστών μπορεί να προδιαγράψει τη δική της XML διάλεκτο με βάση τις ανάγκες των μελών της. Για την επιβολή τέτοιων περιορισμών απαιτείται ένας τρόπος να περιγραφούν αυτοί. Αυτό μπορεί να γίνει με τη βοήθεια Δηλώσεων Τύπου Τεκμηρίων (Document Type Definiwons) (DTD). Δηλώσεις τύπου τεκμηρίων: σύνολα κανόνων που ορίζουν τα στοιχεία, τα γνωρίσματα και τις οντότητες που επιτρέπεται να εμφανίζονται στα XML έγγραφα. 26

27 XML: Document Type Definifons (DTDs) (συνέχεια) Το περιεχόμενο ενός DTD παρέχει (μετα)πληροφορία στα προγράμματα συντακτικής ανάλυσης (parsers) των XML τεκμηρίων. Η πληροφορία αφορά τους περιορισμούς σύνταξης που πρέπει να πληρούν τα τεκμήρια ώστε να θεωρούνται έγκυρα ως προς το συγκεκριμένο DTD. Έγκυρο (valid) XML τεκμήριο: αν συνοδεύεται από ένα DTD και είναι δομημένο σύμφωνα με τους κανόνες που ορίζει το DTD. Ένα DTD λειτουργεί ως γραμματική (grammar) για μια κατηγορία XML τεκμηρίων, αφού παρέχει ένα λεξιλόγιο (αποδεκτά ονόματα στοιχείων και γνωρισμάτων) καθώς και σύνολο από κανόνες που διέπουν τη σειρά εμφάνισης, το πλήθος των εμφανίσεων κ.λ.π. των στοιχείων σε ένα XML τεκμήριο προκειμένου αυτό να θεωρείται έγκυρο. Το DTD από την οπτική γωνία των βάσεων δεδομένων μπορεί να εκληφθεί σαν σχήμα (schema) για τα δεδομένα που αναπαριστά το XML τεκμήριο, με μια σημασία παρόμοια με αυτή των σχεσιακών βάσεων δεδομένων. Παρόλα αυτά ένα XML τεκμήριο δεν υποχρεούται να περιλαμβάνει (ή να συνδέεται) με κάποιο DTD. 27

28 Παράδειγμα DTD Παράδειγμα XML τεκμηρίου που κωδικοποιεί στοιχεία φοιτητών του ΤΑΒ: <ΤΑΒ> <φοιτητής> <όνοµα> Νίκος </όνοµα> <επώνυµο> Νικολάου </επώνυµο> </φοιτητής> <φοιτητής>... </φοιτητής>... </ΤΑΒ> Ένα DTD για το πιο πάνω τεκμήριο: <!DOCTYPE ΤΑΒ [ -Το κεντρικό στοιχείο είναι το ΤΑΒ... <!ELEMENT ΤΑΒ (φοιτητής*)> -Αποτελείται από στοιχεία φοιτητής... <!ELEMENT φοιτητής (όνοµα, επώνυµο)> -Το στοιχείο φοιτητής περιλαμβάνει τα στοιχεία όνοµα και επώνυµο... <!ELEMENT όνοµα (#PCDATA)> -Το όνοµα περιλαμβάνει χαρακτήρες <!ELEMENT επώνυµο (#PCDATA)> -Το επώνυµο περιλαμβάνει χαρακτήρες... ]> 28

29 DTD:Δηλώσεις Τύπου Στοιχείων Κωδική λέξη ELEMENT που δηλώνει έναρξη δήλωσης στοιχείου Όνομα του στοιχείου Αυστηρή περιγραφή του περιεχομένου του στοιχείου <!ELEMENT όνοµα_ στοιχείου τύπος_στοιχείου> 29

30 Δηλώσεις Τύπου Στοιχείων Δήλωση R? R+ R* R 1, R 2,, Rn R 1 R 2 Rn EMPTY ANY #PCDATA Σημασία 0 ή 1 στιγμιότυπο του R 1 ή περισσότερα στιγμιότυπα του R 0 ή περισσότερα στιγμιότυπα του R 1 στιγμιότυπο του R 1 ακολουθούμενο από 1 στιγμ. του R 2,...,ακολουθούμενο από 1 στιγμ. του Rn 1 στιγμιότυπο του R 1 ή του R 2 ή... ή του Rn Κενό στοιχείο Οτιδήποτε Χαρακτήρες που έχουν υποστεί συντακτική ανάλυση 30

31 DTD:Δηλώσεις Τύπου Στοιχείων: Παράδειγμα Με την έκφραση: <!ELEMENT s (a, b?,c*)> δηλώνεται ότι: κάθε στοιχείο με ετικέτα s που εμφανίζεται σε ένα έγκυρο XML τεκμήριο, περιλαμβάνει ένα ακριβώς στοιχείο με ετικέτα a ακολουθούμενο προαιρετικά από ένα το πολύ στοιχείο με ετικέτα b, και στη συνέχεια από οσοδήποτε μεγάλο πλήθος (μπορεί και μηδέν) στοιχείων με ετικέτα c. 31

32 DTD:Δηλώσεις Τύπου Στοιχείων: Παράδειγμα Με την έκφραση: <!ELEMENT e ((c?, d)* (d, c)*)> δηλώνεται ότι κάθε στοιχείο με ετικέτα e που εμφανίζεται σε ένα έγκυρο XML τεκμήριο, περιλαμβάνει: μια ακολουθία από (μηδέν ή περισσότερα) ζεύγη στοιχείων c, d από τα οποία το c είναι προαιρετικό, είτε μια ακολουθία από (μηδέν ή περισσότερα) ζεύγη στοιχείων d, c. 32

33 DTD:Δηλώσεις Τύπου Στοιχείων: Παράδειγμα (συνέχεια) Στα XML τεκμήρια που ακολουθούν έχουμε για ευκολία θεωρήσει ότι τα στοιχεία c και d είναι κενά. Τα τεκμήρια εξετάζονται ως προς την εγκυρότητα τους με βάση το προηγούμενο DTD. Έγκυρο XML τεκμήριο: <e> <d/> <d/> <c/> <d/> <d/> </e> Μη έγκυρο XML τεκμήριο: <e> </e> <d/> <c/> <c/> <d/> 33

34 Δηλώσεις Τύπου Στοιχείων (συνέχεια) Για να δηλώσουμε ότι το περιεχόμενο ενός στοιχείου είναι ακολουθία χαρακτήρων χρησιμοποιούμε δηλώσεις της μορφής: <!ELEMENT όνοµα_στοιχείου (#PCDATA)> Η παράσταση τύπος_στοιχείου είναι επίσης δυνατό να πάρει μια από τις τιμές EMPTY και ANY που σημαίνουν το κενό στοιχείο, και το στοιχείο με οποιοδήποτε περιεχόμενο αντίστοιχα. Αποδεκτές είναι επίσης τιμές που αποτελούν ανάμιξη #PCDATA και ονομάτων στοιχείων. Προσοχή: ένα στοιχείο δεν επιτρέπεται να δηλώνεται περισσότερο από μια φορά σε ένα DTD. 34

35 DTD:Δηλώσεις Λίστας Γνωρισμάτων Κωδική λέξη ΑTTLIST που δηλώνει έναρξη δήλωσης λίστας γνωρισμάτων Όνομα του στοιχείου Δηλώσεις γνωρισμάτων <!ΑTTLIST όνοµα_στοιχείου λίστα_δηλώσεων_γνωρισµάτων> Τριάδες της μορφής: όνομα_γνωρίσματος τύπος_γνωρίσματος προκαθορισμός_τιμής 35

36 Δηλώσεις Λίστας Γνωρισμάτων: Παράδειγμα <!ATTLIST φοιτητής ΑΜ CDATA #REQUIRED ΑΔΤ CDATA #IMPLIED > Το στοιχείο φοιτητής έχει δύο γνωρίσματα με ονόματα ΑΜ και ΑΔΤ. Και τα δύο γνωρίσματα είναι του τύπου CDATA. Η παρουσία του γνωρίσματος ΑΜ είναι υποχρεωτική σε κάθε εμφάνιση του στοιχείου φοιτητής (λόγω του #REQUIRED). Η παρουσία του γνωρίσματος ΑΔΤ δεν είναι υποχρεωτική (λόγω του #IMPLIED). 36

37 Δηλώσεις Λίστας Γνωρισμάτων (συνέχεια) Ανάμεσα στις πιθανές τιμές που μπορεί να πάρει η παράμετρος τύπος_γνωρίσματος περιλαμβάνονται και οι ακόλουθες: CDATA, ID, IDREF, IDREFS, ENTITY, ENTITIES, NMTOKEN, NMTOKENS. Τα γνωρίσματα του τύπου CDATA μπορούν να πάρουν για τιμή οποιοδήποτε κείμενο (ακολουθία χαρακτήρων). Τα γνωρίσματα του τύπου NMTOKEN είναι ειδική περίπτωση των γνωρισμάτων τύπου CDATA και μπορούν να πάρουν για τιμή μια απλή λέξη. Τα γνωρίσματα του τύπου NMTOKENS μπορούν να πάρουν για τιμή πολλαπλές τιμές τύπου NMTOKEN που χωρίζονται μεταξύ τους με κενά. Τα γνωρίσματα του τύπου ENTITY μπορεί να πάρουν για τιμή το όνομα μιας απλής οντότητας ενώ τα γνωρίσματα του τύπου ENTITIES μπορούν να πάρουν για τιμή πολλαπλές τιμές του τύπου ENTITY οι οποίες χωρίζονται μεταξύ τους με κενά. Πέρα από τις παραπάνω τιμές, η παράμετρος τύπος_γνωρίσματος είναι δυνατό να πάρει σαν τιμή τη λίστα των πιθανών τιμών του γνωρίσματος. Στην περίπτωση αυτή μιλάμε για απαριθμήσιμους τύπους γνωρισμάτων (enumerated aìribute types). 37

38 Δηλώσεις Λίστας Γνωρισμάτων: Παράδειγμα Στη δήλωση λίστας γνωρισμάτων που ακολουθεί: <!ATTLIST book color (red green blue) blue > ορίζεται ότι: Το στοιχείο book έχει ένα γνώρισμα με όνομα color. Το γνώρισμα αυτό μπορεί να πάρει μια από τις τιμές red, green, blue. Σε περίπτωση που το γνώρισμα απουσιάζει από ένα στοιχείο book θεωρείται ως εάν να είναι παρών και η τιμή του να είναι η blue (προκαθορισμένη τιμή). 38

39 Δηλώσεις Λίστας Γνωρισμάτων (συνέχεια) Τιμές της παράμετρου προκαθορισμός_τιμής: Μπορεί να πάρει σαν τιμή μια από τις πιθανές τιμές του γνωρίσματος, με τη σημασία που αναφέραμε προηγούμενα. Η τιμή #REQUIRED η οποία επιβάλει την υποχρεωτική εμφάνιση του γνωρίσματος στο αντίστοιχο στοιχείο. Η τιμή #IMPLIED η οποία υποδηλώνει ότι δεν παρέχεται κάποια προκαθορισμένη τιμή (και δεν είναι υποχρεωτική η εμφάνιση του συγκεκριμένου γνωρίσματος) Η τιμή #FIXED ακολουθούμενη από μια συγκεκριμένη τιμή. Στην περίπτωση αυτή όλες οι εμφανίσεις του αντίστοιχου γνωρίσματος στο XML τεκμήριο θα πρέπει να έχουν για τιμή τη συγκεκριμένη τιμή που έχει δηλωθεί μετά από το #FIXED. 39

40 Δηλώσεις Λίστας Γνωρισμάτων: Παράδειγμα Με τη δήλωση: <!ATTLIST form method CDATA #FIXED "POST"> ορίζεται ότι: το στοιχείο form διαθέτει το γνώρισμα method το οποίο είναι τύπου CDATA και έχει πάντα τη τιμή POST. 40

41 Οι τύποι γνωρίσματος ID, IDREF, και IDREFS Ο τύπος ID δηλώνει ότι το γνώρισμα παίζει ρόλο ταυτότητας για το στοιχείο, παίρνει δηλαδή μοναδική τιμή που προσδιορίζει μονοσήμαντα το κάθε στοιχείο. Δεν επιτρέπεται να υπάρχουν περισσότερα του ενός στοιχεία σε ένα έγκυρο XML τεκμήριο τα οποία να διαθέτουν γνώρισμα τύπου ID και να έχουν την ίδια τιμή στο γνώρισμα αυτό. Ο τύπος IDREF δηλώνει γνωρίσματα που παίρνουν σαν τιμή τη τιμή του γνωρίσματος τύπου ID κάποιου άλλου στοιχείου. Ένα γνώρισμα του τύπου ID συμπεριφέρεται όπως ένα κλειδί σε μια σχεσιακή βάση δεδομένων, ενώ ένα γνώρισμα του τύπου IDREF σαν ένα ξένο κλειδί σε μια σχεσιακή βάση δεδομένων. Ως IDREFS δηλώνονται γνωρίσματα τα οποία παίρνουν σαν τιμή μια λίστα τιμών του τύπου IDREF οι οποίες χωρίζονται μεταξύ τους με κενά. Τα γνωρίσματα του τύπου ID πρέπει να έχουν ως προκαθορισμό τιμής είτε #REQUIRED είτε #IMPLIED. Κάθε τιμή που παίρνει ένα γνώρισμα τύπου IDREF, ή IDREFS πρέπει να υπάρχει στο τεκμήριο ως τιμή ενός γνωρίσματος του τύπου ID. 41

42 Οι τύποι γνωρίσματος ID, IDREF, και IDREFS: Παράδειγμα DTD Ένα DTD: <!DOCTYPE οικογένεια [ <!ELEMENT οικογένεια (πρόσωπο)*> <!ELEMENT πρόσωπο (όνομα, επώνυμο)> <!ATTLIST πρόσωπο ΑΔΤ ID #REQUIRED μητέρα IDREF #IMPLIED πατέρας IDREF #IMPLIED παιδιά IDREFS #IMPLIED> <!ELEMENT όνομα (#PCDATA)> <!ELEMENT επώνυμο (#PCDATA)> ]> 42

43 Οι τύποι γνωρίσματος ID, IDREF, και IDREFS: Παράδειγμα (συνέχεια) Ένα XML τεκμήριο: <οικογένεια> <πρόσωπο ΑΔΤ = "Κ123456" παιδιά = "Μ Ν456789"> <όνομα> Πέτρος </όνομα> <επώνυμο> Πέτρου </επώνυμο> </πρόσωπο> <πρόσωπο ΑΔΤ = "Λ234567" παιδιά = "Μ Ν456789"> <όνομα> Μαρία </όνομα> <επώνυμο> Πέτρου </επώνυμο> </πρόσωπο> <πρόσωπο ΑΔΤ = "Μ345678" πατέρας = "Κ123456" μητέρα= "Λ234567" > <όνομα> Γιώργος </όνομα> <επώνυμο> Πέτρου </επώνυμο> </πρόσωπο> <πρόσωπο ΑΔΤ = Ν πατέρας = "Κ123456" μητέρα= "Λ234567" > <όνομα> Άννα </όνομα> <επώνυμο> Πέτρου Ιωάννου </επώνυμο> </πρόσωπο> </οικογένεια> 43

44 Δηλώσεις Οντοτήτων Βασική ιδέα: οι οντότητες αποτελούν συντομογραφίες σε ένα XML τεκμήριο και επομένως οι δηλώσεις των οντοτήτων στην πραγματικότητα αποτελούν ορισμό των συντομογραφιών αυτών. Διακρίνουμε τρία είδη οντοτήτων. Οι εσωτερικές οντότητες (internal enwwes), Οι εξωτερικές οντότητες (external enwwes), Οι οντότητες παραμέτρων (parameter enwwes). Η δήλωση μιας εσωτερικής οντότητας γίνεται μέσω μιας έκφρασης της μορφής: <!ENTITY όνομα_οντότητας τιμή_οντότητας> Στην περίπτωση αυτήν, το κείμενο με το οποίο αντικαθίσταται η εμφάνιση της οντότητας αποθηκεύεται μέσα στη δήλωση της οντότητας. 44

45 Δηλώσεις Οντοτήτων Δηλώσεις εξωτερικών οντοτήτων: μαζί με το όνομα της οντότητας δηλώνεται και ένα URI το οποίο θα πρέπει να ακολουθηθεί προκειμένου να βρεθεί το κείμενο το οποίο θα δοθεί σαν τιμή στην οντότητα. Παράδειγμα: Με τη δήλωση: <!ENTITY TABinfo SYSTEM "/ionio/information/info.xml"> ορίζεται η οντότητα TABinfo.Κατά την επεξεργασία του τεκμηρίου κάθε εμφάνιση του &TABinfo; θα αντικαθίσταται με το περιεχόμενο του αρχείου "/ ionio/information/info.xml". 45

46 Οι οντότητες παραμέτρων Οι οντότητες παραμέτρων εμφανίζονται μόνο στα πλαίσια ενός DTD. Στη δήλωση μιας οντότητας παραμέτρου πριν από το όνομα της οντότητας πρέπει να τοποθετείται ο χαρακτήρας %. Το ίδιο σύμβολο % εμφανίζεται και στις αναφορές σε οντότητες παραμέτρου αντί για το σύμβολο &. Οι αναφορές σε οντότητες παραμέτρου αντικαθίσταται άμεσα με το κείμενο που αποτελεί την τιμή της οντότητας το οποίο αποτελεί πλέον κομμάτι του DTD. 46

47 Σύνδεση XML με DTD Προκειμένου να εξεταστεί η εγκυρότητα ενός XML τεκμηρίου ως προς ένα DTD, θα πρέπει τα δύο αυτά να συσχετιστούν. Γενικά έχουμε δύο επιλογές. Πρώτη επιλογή: να συμπεριλάβουμε το DTD στο ίδιο αρχείο με αυτό που βρίσκεται το XML τεκμήριο. Δεύτερη επιλογή: να τοποθετήσουμε τις δηλώσεις του DTD σε ξεχωριστό αρχείο και στη συνέχεια να συσχετίσουμε κατάλληλα τα δύο αρχεία. 47

48 Σύνδεση XML με DTD:Παράδειγμα 1 DTD ενσωματωμένο στο XML τεκμήριο: <?xml version="1.0"?> <!DOCTYPE greeting [ <!ELEMENT greeting (#PCDATA)> ]> <greeting>hello, world!</greeting> DTD 48

49 Σύνδεση XML με DTD:Παράδειγμα 2 Σύνδεση με εξωτερικό αρχείο στο οποίο έχει αποθηκευτεί το DTD: <?xml version="1.0"?> <!DOCTYPE greeting SYSTEM "hello.dtd"> <greeting>hello, world!</greeting> Σύνδεση με DTD 49

50 Υπό συνθήκη τμήματα Ένα υπό συνθήκη τμήμα (condiwonal secwon) είναι τμήμα ενός εξωτερικού DTD το οποίο συμπεριλαμβάνεται ή δεν συμπεριλαμβάνεται στη λογική δομή του DTD με βάση κάποια λέξη κλειδί (keyword) η οποία συνδέεται με αυτό. Aν η τιμή της λέξης κλειδί είναι INCLUDE, τότε το περιεχόμενο του υπό συνθήκη τμήματος συμπεριλαμβάνεται στο DTD. Αν η τιμή της λέξης κλειδί είναι IGNORE, τότε το περιεχόμενο του υπό συνθήκη τμήματος δεν συμπεριλαμβάνεται στο DTD. Η λέξη κλειδί σε ένα υπό συνθήκη τμήμα μπορεί να είναι αναφορά σε οντότητα παραμέτρου. Τότε η οντότητα παραμέτρου πρέπει να αντικατασταθεί με την τιμή της για να μπορέσει ο επεξεργαστής να αποφασίσει αν θα συμπεριλάβει το υπό συνθήκη τμήμα. 50

51 Υπό συνθήκη τμήματα:παράδειγμα Παράδειγμα: <!ENTITY % draæ INCLUDE > <!ENTITY % final IGNORE > <! [%draæ; [ <!ELEMENT arwcle (comments*, wtle, body, supplements?)> ]]> <! [%final; [ <!ELEMENT arwcle (wtle, body, supplements?)> ]]> Η συμμετοχή ή όχι των υπό συνθήκη τμημάτων καθορίζεται από την τιμή των παραμέτρων draæ και final. Μεταβάλλοντας τις τιμές των παραμέτρων αυτών μπορούμε εύκολα να εναλλάξουμε τα υπό συνθήκη τμήματα τα οποία θα συμπεριληφθούν στο DTD. 51

52 DTD για Εξειδικευμένα Πεδία Η ανάπτυξη τυποποιημένων DTD για εξειδικευμένα πεδία επιτρέπει την ανταλλαγή δεδομένων ανάμεσα σε ετερογενείς πηγές. Παράδειγμα: Μαθηματική Γλώσσα Σημειοθέτησης (MathemaXcal Markup Language) (MathML). Τεχνικό εγχειρίδιο «MathemaXcal Markup Language (MathML) Version 2.0» από τη διεύθυνση hzp:// Κωδικοποίηση μαθηματικού υλικού στο web. Η παράσταση (x+y)^2 κωδικοποιείται στην MathML ως: <apply> <power/> <apply> <plus/> <ci>x</ci> <ci>y</ci> </apply> <cn>2</cn> </apply> 52

53 XML Namespaces Μανόλης Γεργατσούλης Χρήστος Παπαθεοδώρου Ομάδα Βάσεων Δεδομένων και Πληροφοριακών Συστημάτων, Τμήμα Αρχειονομίας Βιβλιοθηκονομίας Ιόνιο Πανεπιστήμιο

54 Χώροι Ονομάτων XML Οι Χώροι Ονομάτων XML (XML Namespaces) είναι συλλογές ονομάτων που προσδιορίζονται από μια αναφορά URI (Uniform Resource Idenwfier) και χρησιμοποιούνται για την ονομασία στοιχείων και γνωρισμάτων της XML. Όταν χρησιμοποιούνται χώροι ονομάτων, τα ονόματα στοιχείων και γνωρισμάτων εμφανίζονται με δύο συνθετικά, το πρόθεμα (χώρου ονομάτων) (prefix) και το τοπικό τμήμα (local part), τα οποία χωρίζονται μεταξύ τους με :. Ο μηχανισμός αυτός παράγει ονόματα τα οποία είναι παγκοσμίως μοναδικά. 54

55 Γιατί χρησιμοποιούμε χώρους ονομάτων Οι σχεδιαστές της XML προσβλέπουν σε εφαρμογές στις οποίες ένα XML τεκμήριο μπορεί να περιλαμβάνει στοιχεία και γνωρίσματα που έχουν οριστεί και απευθύνονται σε διαφορετικές εφαρμογές λογισμικού. Στόχο της ύπαρξης καλά τεκμηριωμένων και κατανοητών λεξιλογίων ετικετών για το οποίο υπάρχει διαθέσιμο χρήσιμο λογισμικό, αποτελεί η επιθυμία για επαναχρησιμοποίηση των τεκμηρίων από πολλές διαφορετικές εφαρμογές. Τα τεκμήρια που περιέχουν πολλαπλά λεξιλόγια ετικετών εμφανίζουν προβλήματα αναγνώρισης (σε ποια εφαρμογή απευθύνεται η κάθε ετικέτα) και σύγκρουσης (ίδιες ετικέτες που απευθύνονται σε διαφορετικές εφαρμογές). Οι εφαρμογές λογισμικού πρέπει να μπορούν να αναγνωρίζουν τα στοιχεία και τα γνωρίσματα για την επεξεργασία των οποίων έχουν σχεδιαστεί, ακόμη και στην περίπτωση που εμφανίζεται σύγκρουση ονομάτων στοιχείων ή γνωρισμάτων. Τα παραπάνω απαιτούν συντακτικές δομές που επιτρέπουν ονόματα διαμορφωμένα κατά τρόπον ώστε να αποφεύγεται η σύγκρουση μεταξύ ονομάτων από διαφορετικά λεξιλόγια ετικετών. Η λύση είναι η χρησιμοποίηση του μηχανισμού που ονομάζεται χώρος ονομάτων XML, ο οποίος πετυχαίνει τον στόχο αυτόν επιτρέποντας επεκταμένα ονόματα στοιχείων και γνωρισμάτων. 55

56 Δηλώσεις χώρων ονομάτων Ένας χώρος ονομάτων δηλώνεται μέσω μιας οικογένειας από προκαθορισμένα γνωρίσματα όπως το γνώρισμα xmlns ή οποιοδήποτε γνώρισμα έχει το xmlns: σαν πρόθεμα. Η τιμή του γνωρίσματος, που είναι μια αναφορά URI, είναι το όνομα του χώρου ονομάτων (namespace name). Παράδειγμα: Στο παρακάτω τμήμα XML τεκμηρίου βλέπουμε μια δήλωση χώρου ονομάτων η οποία συσχετίζει το πρόθεμα bk με το όνομα χώρου ονομάτων <book xmlns:bk=" > </book> Δήλωση χώρου ονοµάτων 56

57 Πολλαπλές δηλώσεις χώρων ονομάτων Είναι δυνατό να δηλωθούν πολλοί χώροι ονομάτων στο ίδιο στοιχείο. Παράδειγμα: Στο τμήμα XML τεκμηρίου που ακολουθεί: <book xmlns:bk=" xmlns:isbn=" > </book> δηλώνονται δύο χώροι ονομάτων: Ο πρώτος συνδέει το πρόθεμα bk με το χώρο ονομάτων με όνομα Ο δεύτερος συνδέει το πρόθεμα isbn με το όνομα χώρου ονομάτων 57

58 Εμβέλεια χώρων ονομάτων Μια δήλωση χώρου ονομάτων εφαρμόζεται στο στοιχείο που γίνεται καθώς και σε όλα τα στοιχεία που περικλείονται μέσα σ αυτό, εκτός εάν αντικατασταθεί από μια νέα δήλωση που συνδέει το ίδιο πρόθεμα με άλλο όνομα χώρου ονομάτων (διαφορετικό URI). Δεν είναι υποχρεωτικό όλα τα στοιχεία που αποτελούν το περιεχόμενο του στοιχείου στο οποίο έχει οριστεί ένας χώρος ονομάτων, να χρησιμοποιούν το συγκεκριμένο χώρο ονομάτων. 58

59 Η χρήση των χώρων ονομάτων Σε ένα XML τεκμήριο που χρησιμοποιεί χώρους ονομάτων, μερικά (ή και όλα) από τα ονόματα των στοιχείων και των γνωρισμάτων που περιλαμβάνει μπορεί να αποτελούνται από δύο συνθετικά. Το πρώτο ονομάζεται πρόθεμα χώρου ονομάτων (namespace prefix) ενώ το δεύτερο ονομάζεται τοπικό τμήμα (local part). Τα δύο αυτά συνθετικά χωρίζονται μεταξύ τους με :. Το πρόθεμα πρέπει να έχει δηλωθεί σε μια δήλωση χώρου ονομάτων και να έχει συνδεθεί με ένα όνομα χώρου ονομάτων (μια αναφορά URI). Η σύνταξη των ονομάτων στοιχείων και γνωρισμάτων τα οποία χρησιμοποιούν χώρους ονομάτων έχουν την μορφή: prefix:localpart Ο συνδυασμός των δύο συνθετικών παράγει ονόματα τα οποία είναι μοναδικά. 59

60 Η χρήση των χώρων ονομάτων Παράδειγμα: Στο το παρακάτω τμήμα XML τεκμηρίου: <book xmlns:isbn=" <title> </title> Έχει οριστεί εδώ <authors> <authors> <isbn:number> </isbn:number> </book> στο στοιχείο book έχει δηλωθεί χώρος ονομάτων ο οποίος συνδέει το πρόθεμα isbn με το όνομα χώρου ονομάτων Στη συνέχεια, στο περιεχόμενο του στοιχείου book συμπεριλαμβάνεται και το στοιχείο isbn:number το όνομα του οποίου περιλαμβάνει το πρόθεμα isbn. 60

61 Η χρήση των χώρων ονομάτων (συνέχεια) Παράδειγμα: Στο τεκμήριο που ακολουθεί έχουμε δήλωση και χρήση δύο χώρων ονομάτων που συσχετίζονται με τα προθέματα bk και isbn: <book xmlns:isbn=" </book> xmlns:bk=" > <bk:title> </bk:title> <bk:authors> </bk:authors> <isbn:number> </isbn:number> 61

62 Χρήση χώρων ονομάτων σε γνωρίσματα Οι χώροι ονομάτων μπορούν να χρησιμοποιηθούν και για τον σχηματισμό ονομάτων γνωρισμάτων. Παράδειγμα: Στο παρακάτω τμήμα XML τεκμηρίου: <tab xmlns:sns=" > <sns:student sns:scode = "12345"> <sns:name> </sns:name> </sns:student> </tab> έχουμε δήλωση χώρου ονομάτων, ο οποίος χρησιμοποιείται για την παράγωγή ονομάτων των στοιχείων sns:student και sns:name και του γνωρίσματος sns:scode. 62

63 Χρήση χώρων ονομάτων Κάθε πρόθεμα που χρησιμοποιείται σε ένα όνομα στοιχείου ή γνωρίσματος, εκτός από τα xmlns και xml, πρέπει να έχει δηλωθεί σε μια δήλωση χώρου ονομάτων, είτε στην ετικέτα αρχής του στοιχείου μέσα στο οποίο χρησιμοποιείται, είτε σε κάποιο στοιχείο πρόγονο του στοιχείου αυτού. Τα ονόματα στοιχείων και γνωρισμάτων συνοδεύονται από το πρόθεμα τους όταν αυτά δηλώνονται σε ένα DTD. 63

64 Χώροι ονομάτων χωρίς προθέματα Συχνά είναι χρήσιμο να δηλωθεί ένας χώρος ονομάτων ο οποίος να μην διαθέτει πρόθεμα. Ένας τέτοιος χώρος ονομάτων ονομάζεται προκαθορισμένος χώρος ονομάτων (default namespace). Η χρησιμότητα του έγκειται στο ότι τα ονόματα στοιχείων που ανήκουν στο χώρο αυτό δεν χρειάζεται να συνοδεύονται από συγκεκριμένο πρόθεμα. Ο χώρος ονομάτων χωρίς πρόθεμα εφαρμόζεται στο στοιχείο στο οποίο δηλώνεται (αν αυτό δεν έχει πρόθεμα χώρου ονομάτων) καθώς και σε όλα τα στοιχεία χωρίς πρόθεμα που περιλαμβάνονται στο περιεχόμενο του στοιχείου αυτού. Η αναφορά URI στη δήλωση του χώρου ονομάτων χωρίς πρόθεμα μπορεί να είναι κενή. Τα στοιχεία χωρίς πρόθεμα και βρίσκονται στην εμβέλεια μιας τέτοιας δήλωσης θεωρείται ότι δεν ανήκουν σε κανένα χώρο ονομάτων. Ο χώρος ονομάτων χωρίς πρόθεμα δεν εφαρμόζεται απευθείας σε γνωρίσματα. 64

65 Χώροι ονομάτων χωρίς προθέματα: Παράδειγμα 1 Παράδειγμα: Στο παρακάτω XML τεκμήριο φαίνεται δήλωση και χρήση του χώρου ονομάτων χωρίς πρόθεμα (όλα τα στοιχεία του τεκμηρίου ανήκουν σε αυτόν τον χώρο ονομάτων): <?xml version="1.0"?> <!-- τα στοιχεία ανήκουν στον default χώρο ονοµάτων HTML --> <html xmlns=' <head> <title>frobnostication</title> </head> <body> <p>moved to <a href=' </body> </html> 65

66 Χώροι ονομάτων χωρίς προθέματα: Παράδειγμα 2 Παράδειγμα: Στο ακόλουθο XML τεκμήριο έχουμε δήλωση και χρήση χώρου ονομάτων χωρίς πρόθεμα καθώς και ενός χώρου ονομάτων που συνδέεται με το πρόθεμα isbn: <?xml version="1.0"?> <! τα στοιχεία χωρίς πρόθεµα ανήκουν στον "books" --> <book xmlns='urn:loc.gov:books' xmlns:isbn='urn:isbn: '> <title>cheaper by the Dozen</title> <isbn:number> </isbn:number> </book> Έτσι, εκτός από το στοιχείο isbn:number, το οποίο ανήκει στο χώρο ονομάτων με πρόθεμα isbn, όλα τα άλλα ανήκουν στον χώρο ονομάτων 'urn:loc.gov:books'. 66

67 Επαναορισμός χώρου ονομάτων χωρίς πρόθεμα Παράδειγμα: Στο ακόλουθο XML τεκμήριο φαίνεται η αλλαγή του χώρου ονομάτων χωρίς όνομα λόγω επαναορισμού του σε ένα εσωτερικό στοιχείο: <?xml version="1.0"?> <!-- αρχικά, ο default χώρος ονοµάτων είναι ο "books" --> <book xmlns='urn:loc.gov:books' xmlns:isbn='urn:isbn: '> <title>cheaper by the Dozen</title> <isbn:number> </isbn:number> <notes> <!-- κάνει τον "HTML" default χώρο ονοµάτων --> <p xmlns='urn:w3-org-ns:html'> This is a <i>funny</i> book! </p> </notes> </book> 67

68 Μοναδικότητα γνωρισμάτων Στα XML τεκμήρια τα οποία υπακούουν στις προδιαγραφές που περιγράψαμε, καμιά ετικέτα στοιχείου δεν μπορεί να περιέχει δύο γνωρίσματα τα οποία: έχουν ταυτόσημα ονόματα, ή έχουν ονόματα με το ίδιο τοπικό τμήμα και τα προθέματα των οποίων έχουν συνδεθεί με ταυτόσημα ονόματα χώρων ονομάτων. Παράδειγμα: Οι ετικέτες αρχής bad παρακάτω δεν είναι έγκυρες λόγω της ταύτισης των ονομάτων των γνωρισμάτων τους: <!-- is bound to n1 and n2 --> <x xmlns:n1=" xmlns:n2=" > <bad a="1" a="2" /> <bad n1:a="1" n2:a="2" /> </x> 68

69 Μοναδικότητα γνωρισμάτων (συνέχεια) Παράδειγμα: Η σύνταξη των στοιχείων του XML τεκμηρίου που ακολουθεί είναι έγκυρη. Το δεύτερο στοιχείο good είναι έγκυρο επειδή ο χώρος ονομάτων χωρίς πρόθεμα δεν εφαρμόζεται στα ονόματα γνωρισμάτων. <!-- is bound to n1 and is the default --> <x xmlns:n1=" xmlns=" > <good a="1" b="2" /> <good a="1" n1:a="2" /> </x> 69

70 XML Schema Μανόλης Γεργατσούλης Χρήστος Παπαθεοδώρου Ομάδα Βάσεων Δεδομένων και Πληροφοριακών Συστημάτων, Τμήμα Αρχειονομίας Βιβλιοθηκονομίας Ιόνιο Πανεπιστήμιο

71 Η γλώσσα XML Schema Η γλώσσα XML Schema είναι μια γλώσσα XML κατάλληλη για την περιγραφή της δομής XML τεκμηρίων. Η XML Schema (όπως και τα DTD) είναι γλώσσα περιγραφής σχήματος. Η XML Schema προσφέρει χαρακτηριστικά και δυνατότητες, ισχυρότερα αυτών που παρέχονται από τα DTD. 71

72 XML Schema: Παράδειγμα Ζητάμε περιγραφή σε XML Schema της δομής των τεκμηρίων της μομφής: <ΤΑΒ> <φοιτητής> <όνοµα> Νίκος </όνοµα> <επώνυµο> Νικολάου </επώνυµο> </φοιτητής> <φοιτητής>... </φοιτητής>... </ΤΑΒ> 72

73 XML Schema: Παράδειγμα (συνέχεια) <?xml version="1.0"?> <xs:schema xmlns:xs=" <xs:element name="tab"> <!ELEMENT ΤΑΒ (φοιτητής*)> <xs:complextype> <xs:element name="φοιτητής" minoccurs=0 maxoccurs="unbounded"> <xs:complextype> <xs:sequence> <xs:element name="όνοµα" type="xs:string"/> <xs:element name="επώνυµο" type="xs:string"/> </xs:sequence> </xs:complextype> </xs:element> </xs:complextype> </xs:element> </xs:schema> <!ELEMENT φοιτητής (όνομα, επώνυμο)> <!ELEMENT όνομα (#PCDATA)> <!ELEMENT επώνυμο (#PCDATA)> 73

74 Χαρακτηριστικά της XML Schema Ένα τεκμήριο σε XML Schema είναι ένα XML τεκμήριο. Τα στοιχεία στο XML Schema του παραδείγματος έχουν το πρόθεμα xs το οποίο συνδέεται με το χώρο ονομάτων της XML Schema μέσω της δήλωσης: xmlns:xs= H XML Schema παρέχει στοιχεία (όπως τα element, sequence, complextype) με συγκεκριμένη σημασία, τα οποία μαζί με αντίστοιχα γνωρίσματα (όπως τα name, type, minoccurs, maxoccurs) επιτρέπουν την περιγραφή της δομής XML τεκμηρίων. Μια περιγραφή σχήματος στην XML Schema έχει ως ετικέτα αρχής του πιο εξωτερικού στοιχείου (της ρίζας) την ετικέτα xs:schema. Η XML Schema παρέχει αξιοσημείωτη εκφραστικότητα η οποία επιτρέπει την περιγραφή της δομής XML τεκμηρίων με πολλούς διαφορετικούς τρόπους. 74

75 Παράδειγμα (μια εναλλακτική περιγραφή του προηγουμένου) Η ακόλουθη περιγραφή σε XML Schema περιγράφει ακριβώς την ίδια κατηγορία τεκμηρίων με την προηγούμενη περιγραφή: <?xml version="1.0"?> <xs:schema xmlns:xs=" <xs:element name="tab" type="tabtype"/> <xs:complextype name="tabtype"> <xs:element name="φοιτητής" type="studenttype" minoccurs=0 maxoccurs="unbounded"/> </xs:complextype> <xs:complextype name="studenttype"> <xs:sequence> <xs:element name="όνοµα" type="xs:string"/> <xs:element name="επώνυµο" type="xs:string"/> </xs:sequence> </xs:complextype> </xs:schema> 75

76 Δηλώσεις στοιχείων Στοιχεία της XML: Σύνθετου τύπου: περιέχουν υποστοιχεία ή διαθέτουν γνωρίσματα. Απλού τύπου: δεν έχουν υποστοιχεία, ούτε διαθέτουν γνωρίσματα. Τα γνωρίσματα θεωρούνται ότι είναι απλού τύπου. Η XML Schema παρέχει το στοιχείο complextype για τη δημιουργία νέων σύνθετων τύπων. Οι σύνθετοι τύποι που δημιουργούνται αποκτούν όνομα μέσω του προαιρετικού γνωρίσματος name. Οι τύποι TABtype και studenttype είναι σύνθετοι. Με την ακόλουθη έκφραση ορίζεται ο σύνθετος τύπος TABtype : <xs:complextype name="tabtype">... </xs:complextype> Το TABtype χρησιμοποιείται σε άλλο σημείο της περιγραφής σχήματος για να δηλώσουμε ότι ένα στοιχείο είναι τύπου TABtype. Παράδειγμα: Στη δήλωση: <xs:element name="tab" type="tabtype"/> δηλώνεται ότι το στοιχείο TAB είναι τύπου TABtype. Το όνομα ενός σύνθετου τύπου μπορεί χρησιμοποιηθεί στη δήλωση πολλών στοιχείων μειώνοντας έτσι το μέγεθος των περιγραφών. 76

77 Δηλώσεις γνωρισμάτων Για τη δήλωση γνωρισμάτων χρησιμοποιείται το στοιχείο attribute. Ένα γνώρισμα δηλώνεται ως εξής: <xs:attribute name="... " type="..."... /> Παράδειγμα: Με την έκφραση <xs:attribute name="ηλικία" type="xs:positiveinteger" use="required"/> δηλώνεται το γνώρισμα ηλικία το οποίο παίρνει τιμές του τύπου positiveinteger. Ο τύπος positiveinteger, είναι απλός τύπος και αντιπροσωπεύει τους θετικούς ακέραιους αριθμούς. Η παράσταση use="required", δηλώνει ότι η εμφάνιση του συγκεκριμένου γνωρίσματος είναι υποχρεωτική. Ένα στοιχείο που διαθέτει γνωρίσματα είναι πάντα σύνθετου τύπου και επομένως δηλώνεται μέσω του complextype. Οι δηλώσεις γνωρισμάτων τοποθετούνται στο τέλος της δήλωσης του σύνθετου τύπου του αντίστοιχου στοιχείου, ακριβώς πριν από το </xs:complextype>. 77

78 Δηλώσεις γνωρισμάτων (συνέχεια) Παράδειγμα: Το στοιχείο φοιτητής στην παρακάτω δήλωση εμφανίζεται να διαθέτει το γνώρισμα ηλικία: <xs:element name="φοιτητής" minoccurs=0 maxoccurs="unbounded"> <xs:complextype> <xs:sequence> <xs:element name="όνοµα" type="xs:string"/> <xs:element name="επώνυµο" type="xs:string"/> </xs:sequence> <xs:attribute name="ηλικία" type="xs:positiveinteger" use="required"/> </xs:complextype> </xs:element> Παρατηρήστε ότι το στοιχείο φοιτητής περιλαμβάνει τα υποστοιχεία όνοµα και επώνυµο, καθώς και το γνώρισμα ηλικία, το οποίο εμφανίζεται υποχρεωτικά σε κάθε στοιχείο φοιτητής, και παίρνει ως τιμή έναν θετικό ακέραιο. 78

79 Συχνότητα εμφάνισης στοιχείων Η XML Schema επιτρέπει να προδιαγράψουμε το πλήθος των εμφανίσεων των στοιχείων με εξαιρετική ακρίβεια. Αυτό γίνεται μέσω δύο γνωρισμάτων του element: Του minoccurs μέσω του οποίου δηλώνουμε τον ελάχιστο αριθμό εμφανίσεων του στοιχείου, Του maxoccurs μέσω του οποίου δηλώνουμε τον μέγιστο αριθμό εμφανίσεων του στοιχείου. Οι τιμές των γνωρισμάτων αυτών είναι μη αρνητικοί ακέραιοι. Όταν κάποιο από τα minoccurs ή maxoccurs παραλείπεται (και τα δύο ή ένα από αυτά) τότε θεωρείται ότι έχει σαν τιμή το 1. Παράδειγμα. Στη δήλωση: <xs:element name="φοιτητής" type="studenttype" minoccurs=0 maxoccurs="unbounded"/> η τιμή unbounded του maxoccurs υποδηλώνει απεριόριστο αριθμό εμφανίσεων του φοιτητής, (είναι δυνατό να μην έχουμε καμιά εμφάνιση λόγω της τιμής 0 του γνωρίσματος minoccurs). 79

80 Περιορισμοί συχνότητας εμφάνισης στοιχείων και γνωρισμάτων Ένα γνώρισμα μπορεί να εμφανίζεται σε ένα στιγμιότυπο στοιχείου μία φορά ή να μην εμφανίζεται καθόλου. Δεν μπορεί όμως το ίδιο γνώρισμα να εμφανίζεται στο ίδιο στοιχείο περισσότερες από μια φορές (με τη ίδια ή διαφορετική τιμή). Η XML Schema επιτρέπει να προσδιορίσουμε την υποχρεωτικότητα ή μη της εμφάνισης ενός γνωρίσματος μέσω του γνωρίσματος use του στοιχείου attribute (μέσω του οποίου δηλώνουμε το γνώρισμα). Η τιμή required στο γνώρισμα use υποδηλώνει υποχρεωτική εμφάνιση του γνωρίσματος ενώ τιμή optional υποδηλώνει προαιρετική εμφάνιση του συγκεκριμένου γνωρίσματος. 80

81 Απλοί τύποι Η XML Schema διαθέτη πλούσια συλλογή ενσωματωμένων απλών τύπων όπως οι byte, integer, positiveinteger, negativeinteger, int, decimal, long, float, double, boolean, date, datetime, ID, string, IDREF, IDREFS, ENTITY, ENTITIES, NMTOKEN, NMTOKENS. Η XML Schema επιτρέπει να ορίσουμε νέους απλούς τύπους μέσω του στοιχείου simpletype. Οι δηλώσεις περιγράφουν τον τρόπο που παράγονται οι νέοι τύποι από άλλους απλούς (ενσωματωμένους ή παραγόμενους) τύπους. Παράδειγμα. Με τη δήλωση: <xs:simpletype name="myinteger"> <xs:restriction base="xs:integer"> <xs:mininclusive value="0"/> <xs:maxinclusive value="100"/> </xs:restriction> </xs:simpletype> ορίζεται ο τύπος myinteger, μέσω επιβολής περιορισμών στον τύπο integer. Το όνομα του τύπου βάσης δίνεται ως τιμή στο γνώρισμα base του στοιχείου restriction. Οι περιορισμοί ορίζονται μέσω των στοιχείων mininclusive και maxinclusive και ορίζουν ως ελάχιστη επιτρεπτή τιμή το 0, και ως μέγιστη επιτρεπτή τιμή το

82 Απλοί τύποι (συνέχεια) Η XML Schema παρέχει πλούσια ποικιλία «όψεων» (facets) (όπως οι mininclusive και maxinclusive) για την επιβολή περιορισμών κατά τον ορισμό νέων τύπων. Μια χρήσιμη όψη είναι το στοιχείο enumeration που περιορίζει έναν απλό τύπο σε ένα σύνολο διακριτών τιμών: Παράδειγμα. Στην περιγραφή: <xs:simpletype name="νόµισµα"> <xs:restriction base="xs:string"> <xs:enumeration value="grd"/> <xs:enumeration value="euro"/> <xs:enumeration value="usd"/> <!-- κ.λ.π > </xs:restriction> </xs:simpletype> ορίζεται ο απλός τύπος νόµισµα, με τιμές τα (διεθνή) σύμβολα των νομισμάτων όπως τα GRD, EURO, USD, κ.λ.π.. 82

83 Ορισμός γνωρισμάτων σε στοιχεία απλού τύπου Στοιχεία απλού τύπου δηλώνονται όπως στο παράδειγμα: <xs:element name="ονοµατεπώνυµο" type="xs:string"/> Οι απλοί τύποι (στοιχεία απλού τύπου) δεν επιτρέπεται να έχουν γνωρίσματα. Η επισύναψη γνωρισμάτων σε στοιχεία απλού τύπου (π.χ. το γνώρισμα ΑΔΤ αριθμός δελτίου ταυτότητας στο στοιχείο ονοµατεπώνυµο) γίνεται με τον ορισμό σύνθετου τύπου όπως στο επόμενο παράδειγμα. Το περιεχόμενο του στοιχείου παραμένει απλού τύπου (του τύπου string στην περίπτωση μας). <xs:element name="ονοµατεπώνυµο"> <xs:complextype> <xs:simplecontent> <xs:extension base="xs:string"> <xs:attribute name="αδτ" type="xs:string"/> </xs:extension> </xs:simplecontent> </xs:complextype> </xs:element> Το simplecontent υποδηλώνει στοιχεία με απλό περιεχόμενο χωρίς υποστοιχεία (στο παράδειγμα ακολουθία απλών χαρακτήρων). Για τον ορισμό του νέου τύπου, επεκτείνουμε τύπο string. Η επέκταση συνίσταται στην προσθήκη του γνωρίσματος ΑΔΤ μέσω μιας συνήθους δήλωσης γνωρίσματος. 83

84 Ομαδοποίηση στοιχείων Η XML Schema παρέχει τη δυνατότητα να ορίζουμε ομάδες στοιχείων (στις οποίες μπορούμε να δίνουμε και ονόματα). Στόχος η χρήση αυτών των ομάδων για τη δόμηση του περιεχόμενου των συνθέτων τύπων. 84

85 Ομαδοποίηση στοιχείων με το sequence Το στοιχείο sequence χρησιμοποιείται για να δηλώσει (διατεταγμένη) ακολουθία (υπο)στοιχείων. Παράδειγμα. Στο παρακάτω: <xs:complextype name="studenttype"> <xs:sequence> <xs:element name="όνοµα" type="xs:string"/> <xs:element name="επώνυµο" type="xs:string /> <xs:element name="πατρώνυµο" type="xs:string"/> </xs:sequence> </xs:complextype> δηλώνεται ότι κάθε στοιχείο τύπου studenttype πρέπει να περιλαμβάνει ένα υποστοιχείο όνοµα ακολουθούμενο από ένα υποστοιχείο επώνυµο και από ένα υποστοιχείο πατρώνυµο. Και τα τρία (υπο)στοιχεία είναι τύπου string. 85

86 Ομαδοποίηση στοιχείων με το choice Το στοιχείο choice επιτρέπει την εμφάνιση κάθε φορά ενός μόνο από τα (υπο)στοιχεία που περιλαμβάνει, ως περιεχόμενο του στοιχείου που ανήκει στον συγκεκριμένο τύπο. Παράδειγμα. Στο παρακάτω τμήμα περιγραφής: <xs:complextype name="studenttype"> <xs:choice> <xs:element name="ονοµατεπώνυµο" type="xs:string"/> <xs:sequence> <xs:element name="όνοµα" type="xs:string"/> <xs:element name="επώνυµο" type="xs:string"/> </xs:sequence> </xs:choice> </xs:complextype> δηλώνεται ότι κάθε στοιχείο του τύπου studenttype έχει ως περιεχόμενο είτε το στοιχείο ονοµατεπώνυµο είτε ένα στοιχείο όνοµα ακολουθούμενο από ένα στοιχείο επώνυµο. 86

87 Ομαδοποίηση στοιχείων με το all Με το στοιχείο all δηλώνεται ότι κάθε στοιχείο της ομάδας εμφανίζεται υποχρεωτικά (ή προαιρετικά αν συνοδεύεται με το γνώρισμα minoccurs=0). Η σειρά εμφάνισης δεν παίζει ρόλο. Επιτρεπτές τιμές των minoccurs και maxoccurs στις δηλώσεις των στοιχείων του all είναι οι 0 και 1. Παράδειγμα. Στο παρακάτω τμήμα περιγραφής: <xs:complextype name="studenttype"> <xs:all> <xs:element name="όνοµα" type="xs:string"/> <xs:element name="επώνυµο" type="xs:string"/> <xs:element name="πατρώνυµο" type="xs:string" minoccurs=0/> </xs:all> </xs:complextype> δηλώνεται ότι κάθε στοιχείο του τύπου studenttype περιλαμβάνει από μια εμφάνιση καθενός από τα στοιχεία όνοµα, επώνυµο και μια ή καμία εμφάνιση του στοιχείου πατρώνυµο αλλά με οποιαδήποτε σειρά. 87

88 Ομαδοποίηση στοιχείων με το all (συνέχεια) Το all πρέπει να εμφανίζεται ως το μοναδικό υποστοιχείο του complextype. Παράδειγμα. Δεν είναι επιτρέπονται δηλώσεις της μορφής: <xs:complextype name="studenttype"> <xs:all> <xs:element name="όνοµα" type="xs:string"/> <xs:element name="επώνυµο" type="xs:string"/> <xs:element name="πατρώνυµο" type="xs:string"/> </xs:all> <xs:sequence> <xs:element name="ηλικία" type="xs:positiveinteger"/> <xs:element name="διεύθυνση" type="xs:string"/> </xs:sequence> </xs:complextype> Το περιεχόμενο του all μπορεί να είναι μόνο δηλώσεις ξεχωριστών στοιχείων και όχι ομάδων στοιχείων. 88

89 Ομαδοποίηση γνωρισμάτων Το στοιχείο attributegroup επιτρέπει ομαδοποίηση γνωρισμάτων. Παράδειγμα. Εδώ ορίζεται ομάδα γνωρισμάτων με όνομα personattributes. Περιλαμβάνει το γνώρισμα ΑΔΤ που είναι τύπου string, το ΑΦΜ που είναι τύπου positiveinteger, και το φύλο για το οποίο ορίζεται ανώνυμος τύπος που περιλαμβάνει τις τιμές άνδρας και γυναίκα: <xs:attributegroup name="personattributes"> <xs:attribute name="αδτ" type="xs:string" use="required"/> <xs:attribute name="αφμ" type="xs:positiveinteger"/> <xs:attribute name="φύλο"> <xs:simpletype> <xs:restriction base="xs:string"> <xs:enumeration value="άνδρας"/> <xs:enumeration value="γυναίκα"/> </xs:restriction> </xs:simpletype> </xs:attribute> </xs:attributegroup> 89

90 Ομαδοποίηση γνωρισμάτων (συνέχεια) Το όνομα ομάδας γνωρισμάτων μπορεί να χρησιμοποιηθεί για να δηλωθεί ότι ένα στοιχείο διαθέτει τα γνωρίσματα που περιλαμβάνει η συγκεκριμένη ομάδα. Παράδειγμα. Στην παρακάτω περιγραφή γίνεται επίκληση της δήλωσης του συνόλου γνωρισμάτων personattributes, μέσω του γνωρίσματος ref, προκειμένου να δηλώσουμε ότι το στοιχείο φοιτητής διαθέτει τα γνωρίσματα του συνόλου personattributes: <xs:element name="φοιτητής" minoccurs=0 maxoccurs="unbounded" > <xs:complextype> <xs:sequence> <xs:element name="όνοµα" type="xs:string"/> <xs:element name="επώνυµο" type="xs:string"/> </xs:sequence> <xs:attributegroup ref="personattributes"/> </xs:complextype> </xs:element> 90

91 Ομαδοποίηση γνωρισμάτων (συνέχεια) Για να ορίσουμε και άλλα στοιχεία που διαθέτουν την ίδια ομάδα γνωρισμάτων (π.χ. τα στοιχεία µέλοςδεπ, εργαζόµενος κ.λ.π.), χρησιμοποιούμε δηλώσεις ορισμού στοιχείων παρόμοιες με αυτήν του στοιχείου φοιτητής, στις οποίες θα υπάρχει απλή αναφορά στην ίδια ομάδα γνωρισμάτων, χωρίς να χρειάζεται να οριστεί ξανά αυτή. Χρησιμοποιώντας ομάδες γνωρισμάτων διαμορφώνουμε πιο ευανάγνωστες περιγραφές σχήματος και διευκολύνουμε τη μελλοντική ενημέρωση του σχήματος, αφού μια ομάδα γνωρισμάτων μπορεί να οριστεί (και να τροποποιείται) σε ένα σημείο και να χρησιμοποιείται με επίκληση του ονόματος της σε πολλούς ορισμούς στοιχείων. Μια ομάδα γνωρισμάτων μπορεί να περιλαμβάνει με τη σειρά της άλλες ομάδες γνωρισμάτων. Οι δηλώσεις γνωρισμάτων και οι αναφορές σε ομάδες γνωρισμάτων πρέπει να τοποθετούνται στο τέλος των ορισμών συνθέτων τύπων. 91

92 Περιληψη Το XML Σχήμα (XML Schema) ενοποιεί προηγούμενες προτάσεις για περιγραφή σχήματος. Γενικεύει τα DTDs. Χρησιμοποιεί τη σύνταξη της XML. Τεχνικά εγχειρίδια: «XML Schema Part 0: Primer» βρίσκεται στη διεύθυνση: hzp:// 0 «XML Schema Part 1: Structures» βρίσκεται στη διεύθυνση: hzp:// 1 «XML Schema Part 2: Datatypes» βρίσκεται στη διεύθυνση:hzp:// 2 92

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

Εισαγωγή(στη(γλώσσα(XML( Εισαγωγή(στη(γλώσσα(XML( Μανόλης(Γεργατσούλης(( Χρήστος(Παπαθεοδώρου( Ομάδα(Βάσεων(Δεδομένων(και(Πληροφοριακών( Συστημάτων,(Τμήμα(Αρχειονομίας( (Βιβλιοθηκονομίας(( Ιόνιο(Πανεπιστήμιο( HTML(! Απλή(γλώσσα&σημειοθέτησης((markup&language)(!

Διαβάστε περισσότερα

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

ΜΕΡΟΣ II: XML DTD XML Namespaces XML Schema ΜΕΡΟΣ II: XML DTD XML Namespaces XML Schema Πίνακας Περιεχοµένων ΚΕΦΑΛΑΙΟ 3: ΕXtensible Markup Language (XML)...33 3.1. Εισαγωγή...33 3.2. Πώς ξεκινά ένα XML τεκµήριο...34 3.3. Στοιχεία στην XML...34

Διαβάστε περισσότερα

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

ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ - XML ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ - XML Εργαστήρια 7-8 Στουγιάννου Ελευθερία estoug@unipi.gr Περιεχόμενα Έβδομου-Όγδοου Εργαστηριακού Μαθήματος XML Schema Ασκήσεις -

Διαβάστε περισσότερα

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

Μοντέλο. για ημι-δομημένα μημ δεδομένα. Ημι-δομημένα δεδομένα XML DTD XML Schema Μοντέλο για ημι-δομημένα μημ δεδομένα Ημι-δομημένα δεδομένα XML DTD XML Schema Εισαγωγικά 3 βασικές κατηγορίες δεδομένων: Δομημένα (structured): τα δεδομένα σε ΒΔ, όπου η αναπαράσταση γίνεται σύμφωνα με

Διαβάστε περισσότερα

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

ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ XML (extended Markup Language) Ι. Χατζηλυγερούδης ΕΙΣΑΓΩΓΗ SGML (Standard Generalized Markup Language) Διεθνές πρότυπο ορισμού μεθόδων αναπαράστασης πληροφοριών

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΝΤUA. Τεχνολογία Πολυμέσων ΝΤUA Τεχνολογία Πολυμέσων 5. Διάλεξη 5: XML XML Μεταγλώσσα για την κωδικοποίηση δεδομένων Πρόβλημα που επιζητά λύσεις: Kοινή γλώσσα επικοινωνίας των εφαρμογών Σημαίνει extensible Markup Language Σχεδιάστηκε

Διαβάστε περισσότερα

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

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ Στις παραδοσιακές βάσεις δεδομένων, η πληροφορία είναι αυστηρά δομημένη και υπακούει σε ένα σταθερό σχήμα που έχει οριστεί εκ των προτέρων. Τα δεδομένα του Ιστού μπορεί να μην έχουν

Διαβάστε περισσότερα

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

ΝΤUA. Τεχνολογία Πολυμέσων ΝΤUA Τεχνολογία Πολυμέσων Contents 2. Lesson 5: XML Τα αρχικά XML Extensible Markup Language Μεταγλώσσα προγραμματισμού για την κωδικοποίηση δεδομένων Έστω ότι θέλουμε να παρουσιάσουμε ένα κείμενο, μια

Διαβάστε περισσότερα

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

Γλώσσες Σήµανσης (Markup Languages) Τεχνολογία ιαδικτύου και Ηλεκτρονικό Εµπόριο Γλώσσες Σήµανσης (Markup Languages) Τεχνολογία ιαδικτύου και Ηλεκτρονικό Εµπόριο 1 Γλώσσες Σήµανσης Γλώσσες σήµανσης: Αρχικά για τον καθορισµό εµφάνισης σελίδων, γραµµατοσειρών. Στη συνέχεια επεκτάθηκαν

Διαβάστε περισσότερα

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

Σημασιολογικός Ιστός (Semantic Web) - XML Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Σημασιολογικός Ιστός (Semantic Web) - XML 22/11/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων ΙΙ. Διάλεξη 5 η XML και ΒΔ στο Διαδίκτυο Βάσεις Δεδομένων ΙΙ Διάλεξη 5 η XML και ΒΔ στο Διαδίκτυο Δ. Χριστοδουλάκης - Α. Φωκά Τμήμα Μηχανικών Η/Υ & Πληροφορικής - Εαρινό Εξάμηνο 2007 Εισαγωγή Πολλές εφαρμογές διαδικτύου υποστηρίζουν web διεπαφές

Διαβάστε περισσότερα

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

Βάσεις ιαδικτύου. Θέματα. Εισαγωγή στην XML. Ευρετήρια για την Ανάκτηση Κειμένων. Ο αλγόριθμος HITS. είναι η XML. Παράδειγμα XML Θέματα Βάσεις ιαδικτύου Ο αλγόριθμος HITS Βάσεις Δεδομένων ΙΙ 2004-2005 Ευαγγελία Πιτουρά 1 Βάσεις Δεδομένων ΙΙ 2004-2005 Ευαγγελία Πιτουρά 2 Τι είναι η XML XML Mark-up Γλώσσες (Γλώσσες Σημειοθέτησης)

Διαβάστε περισσότερα

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

ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ XML-Schema Ι. Χατζηλυγερούδης ΕΙΣΑΓΩΓΗ XML Schema vs DTD Πλουσιότερη γλώσσα: περισσότερες δυνατότητες αναπαράστασης δομήςπεριεχομένου εγγράφων Σύνταξη βασισμένη

Διαβάστε περισσότερα

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

Δομημένη Αναπαράσταση Πληροφοριών Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Δομημένη Αναπαράσταση Πληροφοριών 27/3/2018 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΕΠΛ 012 Εισαγωγή στο Παγκόσμιο Πλέγμα Πληροφοριών ΕΠΛ 012 Εισαγωγή στο Παγκόσμιο Πλέγμα Πληροφοριών World Wide Web (WWW) Θέματα Επεξεργασία δεδομένων στο Web Δημιουργία απλών σελίδων HTML Περιγραφή κάποιων XHTML στοιχείων (tags) Εξέλιξης του WWW Το WWW

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL 8.1. Εισαγωγή ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PACAL Πως προέκυψε η γλώσσα προγραμματισμού Pascal και ποια είναι τα γενικά της χαρακτηριστικά; Σχεδιάστηκε από τον Ελβετό επιστήμονα της Πληροφορικής Nicklaus Wirth to

Διαβάστε περισσότερα

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

Μεταδεδομένα στο Ψηφιακό περιβάλλον Μεταδεδομένα στο Ψηφιακό περιβάλλον Μονάδα Αριστείας Ανοικτού Λογισμικού - Χαροκόπειο Πανεπιστήμιο Ψηφιακό Τεκμήριο Οτιδήποτε υπάρχει σε ηλεκτρονική μορφή και μπορεί να προσπελαστεί μέσω υπολογιστή Μεταδεδομένα

Διαβάστε περισσότερα

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

ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ - XML ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ - XML Εργαστήριο 3 Στουγιάννου Ελευθερία estoug@unipi.gr Περιεχόμενα Τρίτου Εργαστηριακού Μαθήματος Ορίζοντας διαλέκτους DTDs (συνέχεια)

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΣΒΔ - ΕΙΣΑΓΩΓΗ ΣΤΟ ΜΟΝΤΕΛΟ ΟΝΤΟΤΗΤΩΝ ΣΥΣΧΕΤΙΣΕΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Χειμερινό Εξάμηνο 2013 - ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΣΒΔ - ΕΙΣΑΓΩΓΗ ΣΤΟ ΜΟΝΤΕΛΟ ΟΝΤΟΤΗΤΩΝ ΣΥΣΧΕΤΙΣΕΩΝ Δρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ 1 Αρχιτεκτονική

Διαβάστε περισσότερα

Εργαστήριο Σημασιολογικού Ιστού

Εργαστήριο Σημασιολογικού Ιστού Εργαστήριο Σημασιολογικού Ιστού Ενότητα 4: Χρησιμοποιώντας Ενιαία Αναγνωριστικά URIs και IRIs Μ.Στεφανιδάκης 28-2-2016. Η έννοια της οντότητας Στον Σημασιολογικό Ιστό οι τριάδες μπορούν να εκληφθούν ως

Διαβάστε περισσότερα

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

Σχεσιακό Μοντέλο. Σχεδιασμός Βάσεων Δεδομένων Μάθημα 2 ο Μαρία Χαλκίδη Σχεσιακό Μοντέλο Σχεδιασμός Βάσεων Δεδομένων Μάθημα 2 ο Μαρία Χαλκίδη Εισαγωγή Το σχεσιακό μοντέλο δεδομένων (relational data model) προτάθηκε από τον E. F. Codd το 1970 Aποτελεί ένα μέσο λογικής δόμησης

Διαβάστε περισσότερα

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

ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ - XML ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ - XML Εργαστήρια 2-3 Στουγιάννου Ελευθερία estoug@unipi.gr Περιεχόμενα Δεύτερου & Τρίτου Εργαστηριακού Μαθήματος Ορίζοντας διαλέκτους

Διαβάστε περισσότερα

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

Σημασιολογικός Ιστός (Semantic Web) - XML Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Σημασιολογικός Ιστός (Semantic Web) - XML 4/10/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων

Διαβάστε περισσότερα

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

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Βασικά Στοιχεία Το αλφάβητο της C Οι βασικοί τύποι της C Δηλώσεις μεταβλητών Είσοδος/Έξοδος Βασικές εντολές της C Αλφάβητο

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Εισαγωγή στις βάσεις δεδομένων - Η ανατομία μιας βάσης δεδομένων

Εισαγωγή στις βάσεις δεδομένων - Η ανατομία μιας βάσης δεδομένων ΕΣΔ516 Τεχνολογίες Διαδικτύου Εισαγωγή στις βάσεις δεδομένων - Η ανατομία μιας βάσης δεδομένων Περιεχόμενα - Βιβλιογραφία Ενότητας Περιεχόμενα Ορισμοί Συστατικά στοιχεία εννοιολογικής σχεδίασης Συστατικά

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων ..?????? Εργαστήριο ΒΑΣΕΙΣ????????? ΔΕΔΟΜΕΝΩΝ Βάσεων Δεδομένων?? ΙΙ Εισαγωγικό Μάθημα Βασικές Έννοιες - . Γενικά Τρόπος Διεξαγωγής Ορισμός: Βάση Δεδομένων (ΒΔ) είναι μια συλλογή από σχετιζόμενα αντικείμενα

Διαβάστε περισσότερα

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Βάσεις Δεδομένων - Γενικά Ορισμός: Βάση Δεδομένων (ΒΔ) είναι μια συλλογή από σχετιζόμενα αντικείμενα. Τα περιεχόμενα

Διαβάστε περισσότερα

Εισαγωγή στη Fortran. Μάθημα 1 ο. Ελευθερία Λιούκα

Εισαγωγή στη Fortran. Μάθημα 1 ο. Ελευθερία Λιούκα Εισαγωγή στη Fortran Μάθημα 1 ο Ελευθερία Λιούκα liouka.eleftheria@gmail.com Περιεχόμενα Ιστορία της Fortran Βασικές γνώσεις Fortran Επιτρεπτοί χαρακτήρες Μορφή προγράμματος Τύποι μεταβλητών Πράξεις και

Διαβάστε περισσότερα

Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript

Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript Β.1 Τύποι Δεδομένων Όλες οι γλώσσες προγραμματισμού (πρέπει να) υποστηρίζουν πέντε (5) πρωταρχικούς τύπους δεδομένων: char (character) int (integer)

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 2: Δομή ενός προγράμματος C Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

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

Σημασιολογικός Ιστός (Semantic Web) - XML Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Σημασιολογικός Ιστός (Semantic Web) - XML 11/10/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων

Διαβάστε περισσότερα

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Τρόπος Διεξαγωγής #1 Ύλη (4 Ενότητες) 1. Ανάλυση Απαιτήσεων - Σχεδιασμός Βάσης Δεδομένων 2. Δημιουργία βάσης a)

Διαβάστε περισσότερα

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

SGML (Standard Generalized Markup Language) HTML (HyperText Markup Language) XML (extensible Markup Language) SGML (Standard Generalized Markup Language) Γλώσσα για την περιγραφή της δομης και του περιεχομένου ηλεκτρονικών κειμένων Πλήρης Σύνθετη Δύσκολη στην εκμάθηση και την χρήση HTML (HyperText Markup Language)

Διαβάστε περισσότερα

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου) ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου) 1. Εισαγωγή Χαρακτηριστικά της γλώσσας Τύποι δεδοµένων Γλώσσα προγραµµατισµού

Διαβάστε περισσότερα

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

Εισαγωγή στον Παγκόσμιο ιστό και στη γλώσσα Html. Χρ. Ηλιούδης Εισαγωγή στον Παγκόσμιο ιστό και στη γλώσσα Html Χρ. Ηλιούδης Παγκόσμιος Ιστός (WWW) Ο Παγκόσμιος Ιστός (World Wide Web WWW), ή απλώς Ιστός, βασίζεται στην ιδέα των κατανεμημένων πληροφοριών. Αντί όλες

Διαβάστε περισσότερα

Αντικειμενοστρεφής Προγραμματισμός

Αντικειμενοστρεφής Προγραμματισμός Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Εργαστήριο 2 Βασικοί Τύποι Μεταβλητών Java

Διαβάστε περισσότερα

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

<address>αδριανείου 2, Νέο Ψυχικό, 11525, Αθήνα</adderss> <address> ΥΠΗΡΕΣΙΑ «TAXISNET» - ΗΛΕΚΤΡΟΝΙΚΗ ΥΠΟΒΟΛΗ ΤΩΝ ΦΟΡΟΛΟΓΙΚΩΝ ΗΛΩΣΕΩΝ ΓΙΑ ΤΟ ΤΜΗΜΑ ΕΣΩΤΕΡΙΚΩΝ ΠΡΟΣΟ ΩΝ ΚΑΙ ΤΗΝ ΥΠΗΡΕΣΙΑ ΦΟΡΟΥ ΠΡΟΣΤΙΘΕΜΕΝΗΣ ΑΞΙΑΣ ΤΟΥ ΥΠΟΥΡΓΕΙΟΥ ΟΙΚΟΝΟΜΙΚΩΝ ΤΗΣ ΚΥΠΡΙΑΚΗΣ ΗΜΟΚΡΑΤΙΑΣ Οδηγίες

Διαβάστε περισσότερα

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

Σημασιολογικός Ιστός (Semantic Web) - XML Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Σημασιολογικός Ιστός (Semantic Web) - XML 9/12/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων

Διαβάστε περισσότερα

. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων .. Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Μάθημα Βασικές Έννοιες - . Ύλη Εργαστηρίου ΒΔ Ύλη - 4 Ενότητες.1 - Σχεδιασμός Βάσης Δεδομένων.2 Δημιουργία Βάσης Δεδομένων Δημιουργία Πινάκων Εισαγωγή/Ανανέωση/Διαγραφή

Διαβάστε περισσότερα

Στοιχειώδης προγραμματισμός σε C++

Στοιχειώδης προγραμματισμός σε C++ Στοιχειώδης προγραμματισμός σε C++ Σύντομο Ιστορικό. Το πρόγραμμα Hello World. Ο τελεστής εξόδου. Μεταβλητές και δηλώσεις τους. Αντικείμενα, μεταβλητές, σταθερές. Ο τελεστής εισόδου. Θεμελιώδεις τύποι.

Διαβάστε περισσότερα

Ιόνιο Πανεπιστήμιο - Τμήμα Αρχειονομίας - Βιβλιοθηκονομίας

Ιόνιο Πανεπιστήμιο - Τμήμα Αρχειονομίας - Βιβλιοθηκονομίας Μεταδεδομένα για Ψηφιακές Βιβλιοθήκες Γ. Δ. Μπώκος Μεταδεδομένα: Ο όρος Μεταδεδομένα: «Δεδομένα σχετικά με Δεδομένα» Αναλυτικότερα: «Το σύνολο όσων θα μπορούσε να πει κανείς για ένα πληροφοριακό αντικείμενο

Διαβάστε περισσότερα

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων 2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει

Διαβάστε περισσότερα

Εργαστήριο Σημασιολογικού Ιστού

Εργαστήριο Σημασιολογικού Ιστού Εργαστήριο Σημασιολογικού Ιστού Ενότητα 5: Resource Description Framework (RDF) Μ.Στεφανιδάκης 16-3-2015. Τα επίπεδα του Σημασιολογικού Ιστού RDF: Το κύριο πρότυπο του Σημασιολογικού Ιστού, χρησιμοποιεί

Διαβάστε περισσότερα

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

Μητρώο [.gr] Οδηγός ιασύνδεσης. Αξιοποίησης του Εξυπηρετητή EPP. Έκδοση 2.0. [ EPP Server Connection and Use Guide ] [.gr] cctld Σελίδα 1 από 13 Μητρώο [.gr] Οδηγός ιασύνδεσης & Αξιοποίησης του Εξυπηρετητή EPP Έκδοση 2.0 [ EPP Server Connection and Use Guide ] [.gr] cctld Σελίδα 2 από 13 Περιεχόµενα Περιεχόµενα... 2

Διαβάστε περισσότερα

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Τρόπος Διεξαγωγής #1 Ύλη (4 Ενότητες) 1. Ανάλυση Απαιτήσεων -Σχεδιασμός Βάσης Δεδομένων 2. Δημιουργία βάσης a) Create

Διαβάστε περισσότερα

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

Σημασιολογικός Ιστός (Semantic Web) - XML Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Σημασιολογικός Ιστός (Semantic Web) - XML 1/11/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων

Διαβάστε περισσότερα

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Εισαγωγή Μοντελοποίηση Στα προηγούμενα μαθήματα: Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός

Διαβάστε περισσότερα

H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων

H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων Η γλώσσα SQL H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων H SQL έχει διάφορα τμήματα: Γλώσσα Ορισμού Δεδομένων (ΓΟΔ) Γλώσσα Χειρισμού Δεδομένων (ΓΧΔ) Ενσωματωμένη

Διαβάστε περισσότερα

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

Εισαγωγή XML: Extensible Markup Language Ορίστηκε από το WWW Consortium (W3C) ως συµπλήρωµα της HTML. εν σχεδιάστηκε για βάσεις δεδοµένων αλλά για δια Ηµιδοµηµένες Β - XML Εισαγωγή Η δοµή των XML δεδοµένων Οργάνωση / διαχείριση XML δεδοµένων Ερωτήσεις σε XML δεδοµένα Αποθήκευση XML δεδοµένων σε Σχεσιακές Β Βασικήπηγήδιαφανειών: Silberschatz et al., Database

Διαβάστε περισσότερα

Βάσεις Δεδομένων. Σταύρος Βαλσαμίδης Βάσεις Δεδομένων Διάγραμμα Ο-Σ 1

Βάσεις Δεδομένων. Σταύρος Βαλσαμίδης Βάσεις Δεδομένων Διάγραμμα Ο-Σ 1 Βάσεις Δεδομένων Σταύρος Βαλσαμίδης svalsam@teikav.edu.gr Βάσεις Δεδομένων Διάγραμμα Ο-Σ 1 Σχεδιασμός μιας Βάσης Δεδομένων Τα βασικά βήματα για το σχεδιασμό και την ανάπτυξη μιας Βάσης Δεδομένων είναι:

Διαβάστε περισσότερα

Μεταγλωττιστές. Ενότητα 6: Λεκτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Μεταγλωττιστές. Ενότητα 6: Λεκτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Μεταγλωττιστές Ενότητα 6: Λεκτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Σχεσιακό Μοντέλο Περιορισμοί Μετατροπή ER σε Σχεσιακό Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Relational Model

Σχεσιακό Μοντέλο Περιορισμοί Μετατροπή ER σε Σχεσιακό Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Relational Model .. Εργαστήριο Βάσεων Δεδομένων Relational Model . Σχεσιακό Μοντέλο (Relational Model) Το σχεσιακό μοντέλο παρουσιάζει μια βάση ως συλλογή από σχέσεις Μια σχέση είναι ένας πίνακας με διακριτό όνομα Κάθε

Διαβάστε περισσότερα

Διάγραμμα Οντοτήτων Συσχετίσεων (ΔΟΣ) Entity Relationship Diagram (ERD)

Διάγραμμα Οντοτήτων Συσχετίσεων (ΔΟΣ) Entity Relationship Diagram (ERD) Βάσεις Δεδομένων Ι 2 Διάγραμμα Οντοτήτων Συσχετίσεων (ΔΟΣ) Entity Relationship Diagram (ERD) Τμήμα Διοίκησης Επιχειρήσεων (Μεσολόγγι) ΤΕΙ Δυτικής Ελλάδας ΝΙΚΟΣ ΚΑΡΟΥΣΟΣ - ΔΙΟΝΥΣΗΣ ΚΑΡΟΥΣΟΣ XE 2015-2016

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Βάσεις Δεδομένων Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Βάσεις Δεδομένων», 2015-2016 Κεφάλαιο 2: Περιβάλλον Βάσεων Δεδομένων Μοντέλα Δεδομένων 2.1

Διαβάστε περισσότερα

Εργαστήριο Σημασιολογικού Ιστού

Εργαστήριο Σημασιολογικού Ιστού Εργαστήριο Σημασιολογικού Ιστού Ενότητα 5: Resource Description Framework (RDF) Μ.Στεφανιδάκης 13-3-2016. Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του

Διαβάστε περισσότερα

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

Μητρώο [.gr] Οδηγός ιασύνδεσης. Αξιοποίησης του Εξυπηρετητή EPP. Έκδοση 3.0. [ EPP Server Connection and Use Guide ] [.gr] cctld Σελίδα 1 από 16 Μητρώο [.gr] Οδηγός ιασύνδεσης & Αξιοποίησης του Εξυπηρετητή EPP Έκδοση 3.0 [ EPP Server Connection and Use Guide ] [.gr] cctld Σελίδα 2 από 16 Περιεχόµενα Περιεχόµενα... 2

Διαβάστε περισσότερα

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

Σημασιολογικός Ιστός (Semantic Web) - XML Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Σημασιολογικός Ιστός (Semantic Web) - XML Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων XML

Διαβάστε περισσότερα

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις Γαβαλάς Δαμιανός

Διαβάστε περισσότερα

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

Δομημένη Αναπαράσταση Πληροφοριών Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Δομημένη Αναπαράσταση Πληροφοριών 5/3/2019 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων

Διαβάστε περισσότερα

Διάγραμμα Οντοτήτων - Συσχετίσεων

Διάγραμμα Οντοτήτων - Συσχετίσεων Διάγραμμα Οντοτήτων - Συσχετίσεων Παύλος Εφραιμίδης Βάσεις Δεδομένων Διάγραμμα Ο-Σ 1 Σχεδιασμός μιας Βάσης Δεδομένων Τα βασικά βήματα για το σχεδιασμό και την ανάπτυξη μιας Βάσης Δεδομένων είναι: Ανάλυση

Διαβάστε περισσότερα

Αντικειµενοστρεφής Προγραµµατισµός

Αντικειµενοστρεφής Προγραµµατισµός 16 η διάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη

Διαβάστε περισσότερα

Σχεσιακό Μοντέλο Δεδομένων

Σχεσιακό Μοντέλο Δεδομένων Σχεσιακό Μοντέλο Δεδομένων Παύλος Εφραιμίδης Βάσεις Δεδομένων Σχεσιακό Μοντέλο Δεδομένων 1 Μοντέλα Δεδομένων Μοντέλα Δεδομένων Σχεσιακό Ιεραρχικό Δικτυακό Tο κυρίαρχο μοντέλο δεδομένων στις σύγχρονες βάσεις

Διαβάστε περισσότερα

Τύποι Δεδομένων. Κατηγορίες Τύπων Δεδομένων ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός Κων/νος Φλώρος

Τύποι Δεδομένων. Κατηγορίες Τύπων Δεδομένων ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός Κων/νος Φλώρος Τύποι Δεδομένων Κατηγορίες Τύπων Δεδομένων ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός Κων/νος Φλώρος Κατηγορίες Τύπων Δεδομένων(α) Τύπος Δεδομένων Ο τύπος των δεδομένων είναι μια περιγραφή των

Διαβάστε περισσότερα

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 1 Εισαγωγή Μοντελοποίηση Στα προηγούμενα μαθήματα: Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με

Διαβάστε περισσότερα

Δομημένος Προγραμματισμός (ΤΛ1006)

Δομημένος Προγραμματισμός (ΤΛ1006) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής

Διαβάστε περισσότερα

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

Περιεχόμενα. Γαβαλάς Δαμιανός Τρέχον status της HTML Δικτυακά Πολυμέσα ΙΙ Διάλεξη #2 η : Βασικές έννοιες σχεδιασμού στο web Γαβαλάς Δαμιανός dgavalas@aegean.gr Περιεχόμενα Τρέχον status της HTML Μετάβαση από την HTML στην XHTML Κλέ Καλές πρακτικές συγγραφής

Διαβάστε περισσότερα

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις 2 Ανατομία ενός προγράμματος

Διαβάστε περισσότερα

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης Η συνάρτηση printf() Η συνάρτηση printf() χρησιμοποιείται για την εμφάνιση δεδομένων στο αρχείο εξόδου stdout (standard output stream), το οποίο εξ ορισμού συνδέεται με την οθόνη Η συνάρτηση printf() δέχεται

Διαβάστε περισσότερα

Κεφάλαιο 10 ο Υποπρογράµµατα

Κεφάλαιο 10 ο Υποπρογράµµατα Κεφάλαιο 10 ο Υποπρογράµµατα Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Η αντιµετώπιση των σύνθετων προβληµάτων και η ανάπτυξη των αντίστοιχων προγραµµάτων µπορεί να γίνει µε την ιεραρχική σχεδίαση,

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 13 η Δομές & Ενώσεις Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή

Διαβάστε περισσότερα

Γιάννης Σαμωνάκης. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 4 - PHP)

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

Διαβάστε περισσότερα

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

Ο ΗΓΟΣ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΚΜΗΡΙΩΣΗΣ ΚΑΙ ΙΑΛΕΙΤΟΥΡΓΙΚΟΤΗΤΑΣ Ο ΗΓΟΣ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΚΜΗΡΙΩΣΗΣ ΚΑΙ ΙΑΛΕΙΤΟΥΡΓΙΚΟΤΗΤΑΣ Κέντρο Πολιτισµικής Πληροφορικής Ινστιτούτο Πληροφορικής ΙΤΕ Επιµέλεια: Πάνος Κωνσταντόπουλος Χρυσούλα Μπεκιάρη Μάρτιν Ντέρ Επιχειρησιακό Πρόγραµµα

Διαβάστε περισσότερα

Ηλεκτρονικοί Υπολογιστές

Ηλεκτρονικοί Υπολογιστές ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 5: Εντολές Αντικατάστασης, Συναρτήσεις και Σχόλια στη C++ Ζαχαρούλα Ανδρεοπούλου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Εντολές εισόδου - εξόδου. Εισαγωγή στη C++

Εντολές εισόδου - εξόδου. Εισαγωγή στη C++ Εντολές εισόδου - εξόδου Εισαγωγή στη C++ Το πρώτο πρόγραμμα //my first program #include using namespace std; int main(){ cout

Διαβάστε περισσότερα

Εισαγωγη στην html. Η δομή μιας ιστοσελίδας (αρχείο html) Η βασική δομή ενός αρχείου html είναι η εξής: <html> <head>

Εισαγωγη στην html. Η δομή μιας ιστοσελίδας (αρχείο html) Η βασική δομή ενός αρχείου html είναι η εξής: <html> <head> Εισαγωγη στην html Ο παγκόσμιος ιστός (αγγ.: World Wide Web ή www) είναι η πιο δημοφιλής υπηρεσία που μας παρέχει το Διαδίκτυο (Internet) και είναι ένα σύστημα διασυνδεδεμένων πληροφοριών (κειμένου, εικόνας,

Διαβάστε περισσότερα

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 2 ο Τύποι Δεδοµένων Δήλωση Μεταβλητών Έξοδος Δεδοµένων Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Μνήµη και Μεταβλητές Σχέση Μνήµης Υπολογιστή και Μεταβλητών Η µνήµη (RAM) ενός

Διαβάστε περισσότερα

. Μεθοδολογία Προγραμματισμού. Abstract Κλάσεις και Interfaces. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014

. Μεθοδολογία Προγραμματισμού. Abstract Κλάσεις και Interfaces. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014 .. Μεθοδολογία Προγραμματισμού Abstract Κλάσεις και Interfaces Νικόλαος Πεταλίδης Τμήμα Μηχανικών Η/Υ ΤΕΙ Κεντρικής Μακεδονίας Εισαγωγή Εαρινό Εξάμηνο 2014 Ν. Πεταλίδης (ΤΕΙ Κεντρικής Μακεδονίας) Μεθοδολογία

Διαβάστε περισσότερα

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 2ο Αναπαράσταση Δεδομένων

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 2ο Αναπαράσταση Δεδομένων Εισαγωγή στην επιστήμη των υπολογιστών Υπολογιστές και Δεδομένα Κεφάλαιο 2ο Αναπαράσταση Δεδομένων 1 2.1 Τύποι Δεδομένων Τα δεδομένα σήμερα συναντώνται σε διάφορες μορφές, στις οποίες περιλαμβάνονται αριθμοί,

Διαβάστε περισσότερα

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις 3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις 5 Απριλίου 01 1 Πίνακες Είδαμε ότι δηλώνοντας μία μεταβλητή κάποιου συγκεκριμένου τύπου δεσμεύουμε μνήμη κατάλληλη για να αποθηκευτεί μία οντότητα

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων Εισαγωγή Βάσεις Δεδομένων Εισαγωγή Σκοποί ενότητας Εκμάθηση Συστημάτων Διαχείρισης Βάσεων Δεδομένων Δημιουργία E-R διαγραμμάτων 2 Περιεχόμενα ενότητας Συστήματα Διαχείρισης Βάσεων Δεδομένων Διάγραμμα οντοτήτων

Διαβάστε περισσότερα

Βάσεις δεδομένων. (2 ο μάθημα) Ηρακλής Βαρλάμης

Βάσεις δεδομένων. (2 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (2 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Μοντελοποίηση δεδομένων Μοντέλο Οντοτήτων Συσχετίσεων Παραδείγματα Διαγραμματικές τεχνικές Συμβολισμοί Τριαδικές συσχετίσεις 2

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ 9.1 Εντολές Εισόδου/εξόδου Στην Pascal, 1. Tα δεδομένα των προγραμμάτων λαμβάνονται: είτε από το πληκτρολόγιο είτε από ένα αρχείο με τη χρήση των διαδικασιών read και readln,

Διαβάστε περισσότερα

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

ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Δεύτερη Διάλεξη Βασικά στοιχεία της γλώσσας προγραμματισμού C Μία γλώσσα προγραμματισμού όπως και μια ανθρώπινη γλώσσα μπορεί να μελετηθεί ως προς το αλφάβητό της,

Διαβάστε περισσότερα

Προγραμματισμός Ι. Δομές & Ενώσεις. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών

Προγραμματισμός Ι. Δομές & Ενώσεις. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών Δομές & Ενώσεις Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Προγραμματισμός Δ. Τσελίκας Ι 1 Δομές (Structures) Δομή (structure) στη C είναι μία συλλογή από μεταβλητές οποιουδήποτε

Διαβάστε περισσότερα

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

FORTRAN και Αντικειμενοστραφής Προγραμματισμός FORTRAN και Αντικειμενοστραφής Προγραμματισμός Παραδόσεις Μαθήματος 2016 Δρ Γ Παπαλάμπρου Επίκουρος Καθηγητής ΕΜΠ georgepapalambrou@lmentuagr Εργαστήριο Ναυτικής Μηχανολογίας (Κτίριο Λ) Σχολή Ναυπηγών

Διαβάστε περισσότερα

Μοντέλο Οντοτήτων-Συσχετίσεων

Μοντέλο Οντοτήτων-Συσχετίσεων Μοντέλο Οντοτήτων-Συσχετίσεων 1 Εισαγωγή Σχεδιασμός μιας εφαρμογής ΒΔ: Βήματα 1. Συλλογή και Ανάλυση Απαιτήσεων (requirement analysis) Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές θα κτιστούν πάνω στα

Διαβάστε περισσότερα

Βάσεις Δεδομένων. Μιχάλης Μαλιάππης

Βάσεις Δεδομένων. Μιχάλης Μαλιάππης Βάσεις Δεδομένων Μιχάλης Μαλιάππης Βασικές Έννοιες Βάσεων Δεδομένων Βάση Δεδομένων (Database) είναι ένα σύνολο δεδομένων που σχετίζονται μεταξύ τους. Δεδομένα τα οποία δεν σχετίζονται μεταξύ τους δεν μπορούν

Διαβάστε περισσότερα

Βασικές Αρχές Προγραμματισμού

Βασικές Αρχές Προγραμματισμού Βασικές Αρχές Προγραμματισμού Κεφάλαιο 2 ΗγλώσσαC Ιστορική Αναδρομή ΗανάπτυξητηςC ξεκίνησε το 1972 στα εργαστήρια Bell από τον Dennis Ritchie με σκοπό την ανάπτυξη ενός λειτουργικού συστήματος για τον

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Εισαγωγή στη Python Νικόλαος Ζ. Ζάχαρης Αναπληρωτής

Διαβάστε περισσότερα

2. Το Μοντέλο Οντοτήτων- Συσχετίσεων

2. Το Μοντέλο Οντοτήτων- Συσχετίσεων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 2. Το Μοντέλο Οντοτήτων- Συσχετίσεων Σχεδιασμός Βάσεων Δεδομένων Χρήστος Δουλκερίδης 2017-18 Σχεδίαση Βάσεων

Διαβάστε περισσότερα

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

Μαθηματικά Λογισμικά και Γλώσσες Αναπαράστασης Γνώσης Μαθηματικά Λογισμικά και Γλώσσες Γεώργιος Χρ. Μακρής 20 Απριλίου 2015 Γλώσσες Σήμανσης (Annotation ή Markup Languages) Για την αποθήκευση δομημένης πληροφορίας χρησιμοποιούνται γλώσσες σήμανσης. Η δομημένη

Διαβάστε περισσότερα

Υπολογιστικά Συστήματα

Υπολογιστικά Συστήματα Υπολογιστικά Συστήματα Ενότητα 3: Βασικά στοιχεία της γλώσσας προγραμματισμού Visual Basic for Applications (VBA) Σαπρίκης Ευάγγελος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα