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

Σχετικά έγγραφα
Σημασιολογικός Ιστός (Semantic Web) - XML

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

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

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

Περιεχόμενα. Λίγα λόγια από το συγγραφέα... 7

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

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

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

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

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

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

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

Πληροφορική Τμήμα Σχεδιασμού & Τεχνολογίας Ξύλου & Επίπλου Αντώνιος Καραγεώργος Ευανθία Τσιλιχρήστου. Μάθημα 5 ο Τεχνολογίες Διαδικτύου: HTML I

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

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

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

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

TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο)

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

TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο)

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

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

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

1. O FrontPage Explorer

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

Σπουδές CAD, Πληροφορικής, Οικονομίας, Διοίκησης και D.T.P. με Σύστημα διδασκαλίας facetoface

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

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

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

Γαβαλάς αµιανός

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

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

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

Περιεχόμενα. Πρόλογος...11

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

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

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

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

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Εισαγωγή στην HTML (1)

Ποιες είναι οι κύριες ετικέτες που χρησιμοποιεί η HTML για την περιγραφή της συνολικής δομής μιας ιστοσελίδας;

Η γλώσσα προγραμματισμού C

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

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

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

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

Ref.: SLWS 1 5Copyright 2005 The European Computer Driving Licence Foundation Ltd Σελίδα 1 από 7

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Τεχνολογίες Διαδικτύου (Εξασκηθείτε στην HTML)

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008

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

CSS. Εισαγωγή & Βασικές έννοιες. Cascading Style Sheets. Επικαλυπτόμενα φύλλα στυλ

Σχεδιασμός και Ανάπτυξη Ιστοτόπων. ΕΠΑ.Λ. ΑΛΙΜΟΥ Τομέας Πληροφορικής Κ. Φλώρος

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

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

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

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

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

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

1 Συστήματα Αυτοματισμού Βιβλιοθηκών

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

TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο) Διδάσκων: Ανδρέας Γιαννακουλόπουλος Επιστημονικός συνεργάτης Εργαστηρίου: Στέλλα Λάμπουρα

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

Θέματα Προγραμματισμού Διαδικτύου ~ PHP ~

Στην τεχνολογία των CSS, οι κανόνες στυλ (style

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

1. <body> 2. <header> 3. <h1> My Page </h1> 4. </header> 5. <section>

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor

ΔΗ Μ Ι Ο ΥΡ Γ Ι Α W I K I με τ η χρήση τ η ς υπ ηρεσίας h t t p : / id ot.com /

TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο)

ΒΑΣΙΚΕΣ ΑΡΧΕΣ ΣΧΕΔΙΑΣΜΟΥ ΕΦΑΡΜΟΓΩΝ

Τεχνικός Εφαρμογών Πληροφορικής

Κεφάλαιο 4 HyperText Markup Language - HTML. Προγραμματιστικά εργαλεία για το διαδίκτυο Φίλιππος Κουτσάκας, Πολύγυρος 2013

<a href=" στο κείμενο</a>.

Βάσεις Δεδομένων Ι 6. Ιδιότητες πεδίων. Τμήμα Διοίκησης Επιχειρήσεων (Μεσολόγγι) ΤΕΙ Δυτικής Ελλάδας

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

Υπερκείμενο / Υπερμέσα

7-22 Οκτωβρίου Μία γιορτή δημιουργίας με κώδικα. Europe Code Week

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

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

Προγραμματισμός I (Θ)

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

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

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

Κεφάλαιο 11: Εισαγωγή στην HTML. Εφαρμογές Πληροφορικής Κεφ. 11 Καραμαούνας Πολύκαρπος

Θέματα Προγραμματισμού Διαδικτύου ~ CSS ~

Περιεχόμενα. Μέρος 1: Βασικές έννοιες Πληροφορικής και επικοινωνιών Μέρος 2: Χρήση υπολογιστή και διαχείριση αρχείων Πρόλογος...

Αρχεία Ένα αρχείο αποτελείται από μία σειρά ομοειδών δεδομένων που ονομάζονται λογικές εγγραφές (logical record)

Τι είναι η HTML; Τί είναι οι ετικέτες (tags); Πώς είναι μια ετικέτα (tag);

ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet.

Σχεδίαση και Ανάπτυξη Ιστότοπων

Μερικές άλλες χρήσιμες εντολές

Εισαγωγή σε HTML και CSS. Παναγιώτης Τσαρχόπουλος

Βασικά στοιχεία του CSS

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ

Εισαγωγή στην PHP. ΕΣΔ 516 Τεχνολογίες Διαδικτύου. Περιεχόμενα. Περιεχόμενα. ΕΣ 516: Τεχνολογίες ιαδικτύου. ΕΣ 516: Τεχνολογίες ιαδικτύου

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

Σχεδίαση Βάσεων Δεδομένων

Transcript:

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

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων XML Δημιουργία και εμφάνιση εγγράφων XML

Δημιουργία εγγράφου XML Text editor για τη δημιουργία του εγγράφου Inventory.xml

Ανατομία εγγράφου XML 2 βασικά μέρη Πρόλογος Στοιχείο εγγράφου (document element) ή αλλιώς Βασικό στοιχείο (root element)

Ανατομία εγγράφου XML Πρόλογος <?xml version="1.0"?> Δήλωση XML Στοιχείο εγγράφου (Βασικό στοιχείο) <!-- File Name: Inventory.xml --> <INVENTORY> <BOOK> <TITLE>The Adventures of Huckleberry Finn</TITLE> <AUTHOR>Mark Twain</AUTHOR> <BINDING>mass market paperback</binding> <PAGES>298</PAGES> <PRICE>$5.49</PRICE> </BOOK> <BOOK> </BOOK> </INVENTORY> Σχόλιο Στοιχεία ένθετα στο στοιχείο εγγράφου

Πρόλογος <?xml version="1.0"?> (ή <?xml version= 1.0?>) <!-- File Name: Inventory.xml --> Σημείωση: τα αλφαριθμητικά σε εισαγωγικά που περιέχονται στη σήμανση XML κυριολεκτικά αλφαριθμητικά μπορούν να περικλείονται είτε σε μονά είτε σε διπλά εισαγωγικά

XML δήλωση Η πρώτη γραμμή ενός XML αρχείου <?xml version="versionnumber" [encoding="encodingvalue"] [standalone="yes no"]?> version e.g. 1.0 encoding προαιρετική τιμή - προεπιλεγμένη UTF-8 standalone Δηλώνει αν το XML αρχείο δεν εξαρτάται από άλλα XML αρχεία για να είναι έγκυρο ή όχι Εξ ορισμού η τιμή είναι yes (δηλ. ανεξάρτητο αρχείο)

XML δήλωση Η XML δήλωση είναι προαιρετική αν και η προδιαγραφή της γλώσσας την αναφέρει ως υποχρεωτική Εμφανίζεται πάντα στην αρχή του εγγράφου

Πρόλογος <?xml version="1.0"?> <!-- File Name: Inventory.xml --> 2 η γραμμή ΚΕΝΗ Ο επεξεργαστής XML τις αγνοεί Check inventory.xml 3 η γραμμή ΣΧΟΛΙΟ Διευκολύνει την ανάγνωση του εγγράφου! Ο επεξεργαστής XML αγνοεί ότι είναι μεταξύ <!- - και --> (οποιοδήποτε κείμενο εκτός από -- ) Ο πρόλογος μπορεί επίσης να περιλαμβάνει: Δήλωση είδους εγγράφου καθορίζει τη δομή και το είδος του εγγράφου Εντολές επεξεργασίας (πληροφορίες που ο XML επεξεργαστής μεταβιβάζει στην εφαρμογή) π.χ. Εντολή επεξεργασίας για σύνδεση φύλλου στυλ στο έγγραφο XML

Σημείωση... / XML Parser Η επεξεργασία των XML αρχείων γίνεται με τη χρήση XML Parsers (επεξεργαστές XML) Ο επεξεργαστής XML είναι η μονάδα του λογισμικού που διαβάζει το έγγραφο XML και επιτρέπει την προσπέλαση των περιεχομένων του Όταν εμφανίζουμε ένα έγγραφο XML στον Internet Explorer, τότε ο browser παρέχει και τον επεξεργαστή της XML! Ένας Parser ελέγχει αν ένα XML αρχείο είναι well formed ή συντακτικά ορθό

Στοιχείο εγγράφου Το στοιχείο εγγράφου περιέχει επιπλέον στοιχεία Λογική δομή εγγράφου XML Πληροφορίες εγγράφου πχ πληροφορίες σχετιλά με το βιβλίο (τίτλοι, ονόματα συγγραφέων, τιμές) Ετικέτα αρχής Περιεχόμενο Δεδομένα χαρακτήρων Άλλα στοιχεία ένθετα / δεδομένα σήμανσης Συνδυασμός και των δύο Ετικέτα τέλους

Στοιχείο εγγράφου Στοιχείο εγγράφου: INVENTORY Ετικέτα αρχής: <INVENTORY> Περιεχόμενο 8 ένθετα στοιχεία του BOOK Ετικέτα τέλους: </INVENTORY> Ας θυμηθούμε λίγο HTML Στοιχείο εγγράφου παρόμοιο με στοιχείο BODY αλλά εδώ το ορίζουμε με όποιο συντακτικά σωστό όνομα θέλουμε!

Ανατομία εγγράφου XML Ετικέτα αρχής Ένθετα στοιχεία Ετικέτα τέλους Τύπος <BOOK> <TITLE>The Adventures of Huckleberry Finn</TITLE> <AUTHOR>Mark Twain</AUTHOR> <BINDING>mass market paperback</binding> <PAGES>298</PAGES> <PRICE>$5.49</PRICE> </BOOK> <BOOK> </BOOK> Δεδομένα χαρακτήρων Κάθε στοιχείο του BOOK περιλαμβάνει με τη σειρά του έναν ένθετο αριθμό στοιχείων Τύπος στοιχείου το όνομα που εμφανίζεται στην αρχή Εδώ τα ένθετα στοιχεία έχουν μόνο δεδομένα χαρακτήρων

Ανατομία εγγράφου XML Τύπος Τύπος <TITLE>The Adventures of Huckleberry Finn</TITLE> Ετικέτα αρχής Περιεχόμενο (Δεδομένα χαρακτήρων) Ετικέτα τέλους

Μερικοί βασικοί κανόνες Το έγγραφο πρέπει να περιέχει ένα μόνο στοιχείο ανωτάτου επιπέδου (το στοιχείο εγγράφου ή βασικό στοιχείο). Όλα τα υπόλοιπα στοιχεία πρέπει να είναι ένθετα σε αυτό. Η ένθεση των στοιχείων πρέπει να είναι σωστή. Αυτό σημαίνει ότι, αν ένα στοιχείο ξεκινάει μέσα σε κάποιο άλλο, πρέπει και να τελειώνει μέσα σε αυτό. Κάθε στοιχείο πρέπει να έχει ετικέτα αρχής και ετικέτα τέλους. Σε αντίθεση με την HTML, η XML δεν επιτρέπει να παραλείπεται η ετικέτα τέλους Το όνομα του στοιχείου στην ετικέτα αρχής πρέπει να είναι ίδιο ακριβώς με εκείνο της ετικέτας τέλους

Μερικοί βασικοί κανόνες Στα ονόματα των στοιχείων γίνεται διάκριση κεφαλαίων και πεζών χαρακτήρων Αυτό συμβαίνει με όλο το κείμενο που γράφεται σε XML. Για παράδειγμα, το στοιχείο που ακολουθεί δεν είναι συντακτικά σωστό, επειδή το όνομα της ετικέτας αρχής δεν είναι όμοιο με εκείνο της ετικέτας τέλους: <TITLE>Leaves of Grass</Title> <! -- μη επιτρεπτό στοιχείο -->

Το συντακτικό της XML 1/2 Κάθε tag πρέπει να κλείνει <message> Welcome XML! Τα tags είναι case sensitive (no) Το <message> είναι διαφορετικό από το <Message> Τα tags πρέπει να είναι εμφωλευμένα σωστά <mymessage> <message> Welcome XML </mymessage> </message> (no) Άδεια tags <Name/>

Το συντακτικό της XML 2/2 Όλα τα XML αρχεία πρέπει να έχουν ένα και μόνο root tag! Όλες οι τιμές των ιδιοτήτων πρέπει να βρίσκονται ανάμεσα σε εισαγωγικά <message date= 12/01/2004 > Εισαγωγή σχολίων όπως στην HTML <!-- this is a comment --> (yes)

XML Elements 1/2 Ένα XML αρχείο είναι επεκτάσιμο Νέα στοιχεία μπορούν να προστεθούν <mymessage> <message>welcome to XML!</message> <date>6/12/2004</date> </mymessage> Σχέσεις μεταξύ των XML elements mymessage root element and parent element of message & date περιέχει ένα ή περισσότερα ένθετα στοιχεία message & date siblings & child elements of mymessage περιέχονται στο γονικό στοιχείο

XML Elements 2/2 Το περιεχόμενο των elements ποικίλλει Άλλα elements (child elements) Μεικτό περιεχόμενο κείμενο & elements Μόνο κείμενο Άδειο element Δεν υπάρχει περιορισμός στο βάθος του εμφωλιασμού στοιχείων Τα ονόματα των elements Μπορούν να περιέχουν γράμματα, αριθμητικά ψηφία και άλλους χαρακτήρες Δεν μπορούν να αρχίζουν με αριθμητικό ή σημείο στίξης Δεν μπορούν να αρχίζουν με τα γράμματα xml (ή XML ή Xml) Δεν μπορούν να περιέχουν κενά

Εμφάνιση εγγράφου XML Άνοιγμα εγγράφου ΧΜL κατευθείαν στον Internet Explorer, όπως ακριβώς με μια ιστοσελίδα HTML Αν το έγγραφο XML δεν είναι συνδεδεμένο με κάποιο φύλλο στυλ, ο Internet Explorer εμφανίζει το πλήρες έγγραφο, μαζί με σήμανση (π.χ. ετικέτες, σχόλια), στοιχεία χαρακτήρων Ο Internet Explorer κωδικοποιεί με χρώματα τα διάφορα μέρη του εγγράφου για να κάνει πιο εύκολη την αναγνώρισή τους Εμφανίζει το στοιχείο εγγράφου ως συμπτύξιμο / επεκτάσιμο δένδρο, ώστε να δείξει με σαφήνεια τη λογική δομή του εγγράφου με διάφορα επίπεδα λεπτομερειών

Εμφάνιση εγγράφου XML Σύνδεση εγγράφου XML με κάποιο φύλλο στυλ ΤΟΤΕ εμφάνιση από τον Internet Explorer μόνο των δεδομένων χαρακτήρων των στοιχείων του εγγράφου Μορφοποίηση ακολουθώντας τους κανόνες που έχουν οριστεί στο φύλλο στυλ Διάφορα φύλλα στυλ: Φύλλο επάλληλων στυλ (CSS ο ίδιος τύπος φύλλου στυλ που χρησιμοποιείται και στις σελίδες HTML) Φύλλο στυλ XSL (Extensible Stylesheet Language - Επεκτάσιμη Γλώσσα Φύλλων Στυλ) χρησιμοποιεί το συντακτικό της ΧΜL και μπορεί να χρησιμοποιηθεί μόνο σε έγγραφα XML.

Εμφάνιση εγγράφου XML Inventory.xml Αλλαγή επιπέδου λεπτομέρειας

Εντοπισμός σφαλμάτων Πριν ο Internet explorer εμφανίσει το έγγραφο, ο ενσωματωμένος αναλυτής/επεξεργαστής XML αναλύει τα περιεχόμενα του εγγράφου Έλεγχος για το αν το έγγραφο είναι σωστά διατυπωμένο δεν ελέγχει την εγκυρότητα του εγγράφου! Αν σφάλμα, τότε σελίδα μηνύματος σφάλματος! Αλλαγή Inventory.xml

Δημιουργία σωστά διατυπωμένων εγγράφων XML Σωστά διατυπωμένο έγγραφο (well-formed document): είναι εκείνο που πληροί τα απαραίτητα κριτήρια ενός συμβατού εγγράφου XML Εύκολη η δημιουργία του! Σε αντίθεση με το έγκυρο (valid) έγγραφο XML: ένα έγγραφο που δεν είναι μόνο σωστά διατυπωμένο αλλά ακολουθεί ένα σύνολο πιο αυστηρών περιορισμών Περιλαμβάνει και δήλωση είδους εγγράφου στον πρόλογο του εγγράφου

Τα μέρη ενός σωστά διατυπωμένου εγγράφου XML

Δημιουργία XML αρχείου για την παρακάτω παραγγελία

Δημιουργία XML αρχείου για την παρακάτω παραγγελία

Προσθήκη στοιχείων στο έγγραφο Ιεραρχική δενδρική μορφή με ένθετα στοιχεία ΟΠΩΣΔΗΠΟΤΕ ένα στοιχείο ανωτάτου επιπέδου το στοιχείο εγγράφου ή βασικό στοιχείο και όλα τα υπόλοιπα στοιχεία να είναι ένθετα σε αυτό

Ανατομία ενός στοιχείου Το όνομα που εμφανίζεται στην ετικέτα αρχής και στην ετικέτα τέλους (π.χ. TITLE) είναι γνωστό ως τύπος ή γενικό αναγνωριστικό του στοιχείου (generic identifier ή Gl). To όνομα αυτό αντιπροσωπεύει ένα ορισμένο είδος ή τάξη στοιχείων, και όχι κάποιο συγκεκριμένο στοιχείο. Έτσι, το έγγραφο μπορεί να περιέχει περισσότερα από ένα στοιχεία με το ίδιο όνομα τύπου

Επιλογή ονόματος στοιχείου Το όνομα πρέπει να ξεκινάει με κάποιο γράμμα ή με χαρακτήρα υπογράμμισης (_), ακολουθούμενο από το μηδέν ή από επιπλέον γράμματα, ψηφία, τελείες (.), παύλες (-), ή χαρακτήρες υπογράμμισης Στην προδιαγραφή της XML, αναφέρεται ότι τα ονόματα στοιχείων που αρχίζουν με το πρόθεμα xml (με οποιονδήποτε συνδυασμό κεφαλαίων ή πεζών χαρακτήρων) διατίθενται μόνο για προτυποποίηση

Ονόματα στοιχείων Έγκυρα ονόματα στοιχείων Μη έγκυρα ονόματα στοιχείων ΣΗΜΕΙΩΣΗ: Σύμφωνα με την προδιαγραφή της XML, η άνω και κάτω τελεία (:) χρησιμοποιείται στον προσδιορισμό χώρων ονομάτων (namespaces). Με τους χώρους ονομάτων διαφοροποιούνται στοιχεία που έχουν το ίδιο όνομα.

Well-formed? Τμήμα 1 <myelement /> Τμήμα 2 < myelement /> Τμήμα 3 <myelement / > Τμήμα 4 <myelement/ > Τμήμα 5 <myelement/> YES! NO!!! NO!!! NO!!! YES!

Τύποι περιεχομένου στοιχείων Ένθετα στοιχεία. Τα στοιχεία INVENTORY και BOOK έχουν και τα δύο ως περιεχόμενό τους ένθετα στοιχεία Δεδομένα χαρακτήρων. Κείμενο που εκφράζει το πληροφοριακό περιεχόμενο ενός στοιχείου, π.χ. κάποιος συγκεκριμένος τίτλος βιβλίου στο στοιχείο TITLE

Παράδειγμα Παράδειγμα περιεχομένου που αποτελείται και από δεδομένα χαρακτήρων και από ένα ένθετο στοιχείο Όταν προσθέτετε δεδομένα χαρακτήρων σε ένα στοιχείο, μπορείτε να παρεμβάλετε όποιους χαρακτήρες θέλετε, εκτός από την αριστερή αγκύλη (<), το εμπορικό "και" (&), ή την αλφαριθμητική ακολουθία ]]>

Τύποι περιεχομένου στοιχείων Αναφορές γενικής οντότητας ή αναφορές χαρακτήρων - στοιχείο που περιλαμβάνει και τα δύο: Ενότητες CDATA. Η ενότητα CDATA είναι ένα μπλοκ κειμένου όπου τοποθετούμε όποιους χαρακτήρες θέλουμε εκτός από την ακολουθία ]]> - στοιχείο που περιέχει ενότητα CDATA

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

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

Δημιουργία διαφορετικών τύπων στοιχείων Προσθήκη επιπλέον στοιχείων (Inventory03.xml): Σχόλιο σε στοιχείο ως μέρος του περιεχομένου του (INVENTORY) ο browser δεν εμφανίζει το κείμενο του σχολίου Κενό στοιχείο με το όνομα COVER_IMAGE, στην αρχή κάθε στοιχείου του BOOK δίνει οδηγία στην εφαρμογή XML να εμφανίσει τη συγκεκριμένη εικόνα του εξωφύλλου του βιβλίου. (Η ιδιότητα Source περιέχει το όνομα του αρχείου εικόνας.) Όμως, για να χρησιμοποιηθεί αυτό, χρειάζεται ένα φύλλο στυλ XSL και όχι το απλό CSS Το στοιχείο TITLE για το Moby Dick περιέχει και δεδομένα χαρακτήρων και θυγατρικό στοιχείο (SUBTITLE) Ο browser εμφανίζει τα δεδομένα χαρακτήρων και το θυγατρικό στοιχείο σε μία και μόνη γραμμή, χρησιμοποιώντας την ίδια μορφοποίηση (που ορίζει το στοιχείο TITLE)

Εγγραφο 1 <book1> <isbn>1234567890</isbn> <name>introduction to XML > 2013<</name> </book1> Εγγραφο 2 <book1> <Isbn>1234567890</isbn> <Name>Introduction to XML >2013<</Name> </book1> Εγγραφο 3 <1_book> <isbn>1234567890</isbn> <name>introduction to XML>2013<</name> </1_book> Εγγραφο 4 <book> <isbn>1234567890 <name> </isbn>introduction to XML>2013< </name> </book> Well-formed? YES! NO!!! NO!!! NO!!!

Well-formed? Εγγραφο 1 <course>html&php</course > Εγγραφο 2 <course> HTML version (<<5>>) </course> NO!!! NO!!! Εγγραφο 3 <course>html "v05" </course> YES! Εγγραφο 4 <course/ > NO!!!

XML attributes/ιδιότητες Τα XML elements μπορούν να περιέχουν attributes (ιδιότητες) στο αρχικό tag Τα attributes παρέχουν περισσότερες πληροφορίες για τα elements <file type="gif">computer.gif</file> Η τιμή ενός attribute πρέπει να βρίσκεται είτε σε μονά είτε σε διπλά εισαγωγικά Οι επιπλέον πληροφορίες για ένα element μπορούν να αποθηκευτούν είτε ως attribute είτε ως child element

Προσθήκη ιδιοτήτων σε στοιχεία Ζεύγος ονόματος-τιμής που συνδέεται με το στοιχείο Το στοιχείο PRICE περιλαμβάνει μια ιδιότητα που ονομάζεται Type και για την οποία ορίζεται η τιμή retail: <PRICE Type="retail" >$10. 95</PRICE> Το στοιχείο BOOK περιλαμβάνει δύο ιδιότητες: τις Category και Display <ΒΟΟΚ Category="fiction" Display=" emphasize" > <TITLE>The Marble Faun</TITLE> <AUTHOR>Nathaniel Hawthorne</AUTHOR> <BINDING>trade paperback</binding> <PAGES>473</PAGES> <PRICE>$10. 95</PRICE> </B00K>

Προσθήκη ιδιοτήτων σε στοιχεία To παρακάτω κενό στοιχείο περιλαμβάνει μια ιδιότητα που ονομάζεται Source και δείχνει το όνομα του αρχείου το οποίο περιέχει την εικόνα που πρόκειται να εμφανιστεί: <COVER_IMAGE Source="Faun.gif"/>

Προσθήκη ιδιοτήτων σε στοιχεία Εναλλακτική λύση που δίνει τη δυνατότητα να συμπεριλαμβάνουμε πληροφορίες σε ένα στοιχείο Τοποθέτηση όγκου δεδομένων που θέλουμε να εμφανίσουμε στο περιεχόμενο του στοιχείου Χρησιμοποίηση ιδιοτήτων για να αποθηκεύσουμε διάφορα χαρακτηριστικά του στοιχείου που δεν έχουμε απαραιτήτως σκοπό να εμφανίσουμε

Ιδιότητες στην XML Διαφορετικοί τρόποι κωδικοποίησης πληροφορίας σε XML με χρήση στοιχείων και ιδιοτήτων: Παράδειγμα 1: <φοιτητής ΑΜ = "12345"> <όνομα> Νίκος </όνομα> <επώνυμο> Νικολάου </επώνυμο> </φοιτητής> Παράδειγμα 2: <φοιτητής> <ΑΜ> 12345 </ΑΜ> <όνομα> Νίκος </όνομα> <επώνυμο> Νικολάου </επώνυμο> </φοιτητής> Παράδειγμα 3: <φοιτητής ΑΜ = "12345" όνομα = "Νίκος" επώνυμο="νικολάου"/>

Χρήση στοιχείων αντί ιδιοτήτων! Γιατί να αποφεύγετε τις ιδιότητες; Δεν μπορούν να περιέχουν πολλαπλές τιμές Δεν είναι εύκολα επεκτάσιμα Δεν περιγράφουν δομές Διαχειρίζονται δύσκολα από προγράμματα Είναι δύσκολος ο έλεγχός τους με βάση ένα DTD Πότε να χρησιμοποιείτε ιδιότητες; Για πληροφορίες που δεν είναι σχετικές με τα δεδομένα Για την ανάθεση ID στα στοιχεία

Κανόνες για τη δημιουργία ιδιοτήτων Μια προδιαγραφή ιδιότητας αποτελείται από ένα όνομα ακολουθούμενο από = και από την τιμή της ιδιότητας Το όνομα πρέπει να αρχίζει με γράμμα ή χαρακτήρα υπογράμμισης (_) και στη συνέχεια να ακολουθεί μηδέν ή άλλα γράμματα, ψηφία, τελείες (.), παύλες (-), ή χαρακτήρες υπογράμμισης (_) Σύμφωνα με την προδιαγραφή XML, τα ονόματα ιδιοτήτων που αρχίζουν με το πρόθεμα "xml" (σε οποιονδήποτε συνδυασμό κεφαλαίων ή πεζών) "διατίθενται μόνο για προτυποποίηση" Ένα συγκεκριμένο όνομα ιδιότητας μπορεί να εμφανιστεί μόνο μία φορά στην ίδια ετικέτα αρχής ή στην ετικέτα κενού στοιχείου (ενώ ένα στοιχείο μπορεί να διαθέτει υποστοιχεία με το ίδιο όνομα, δεν επιτρέπεται σε περισσότερες από μία ιδιότητές του να έχουν το ίδιο όνομα!) Η σειρά εμφάνισης των ιδιοτήτων ενός στοιχείου δεν παίζει κανένα ρόλο σε αντίθεση με τη σειρά εμφάνισης των στοιχείων

Ονόματα ιδιοτήτων Έγκυρα ονόματα ιδιοτήτων Μη έγκυρα ονόματα ιδιοτήτων <! -- Επανάληψη ονόματος ιδιότητας στην ίδια ετικέτα: --> <ΑΝΙΜΑΤΙΟΝ FileName=" Waldo1.ani" FileName="Waldo2.ani" > <LIST 1stPlace="Sam"> <!-- Δεν επιτρέπεται ψηφίο ως πρώτος χαρακτήρας --> <ΙΤΕΜ A: Category="cookware"> ΣΗΜΕΙΩΣΗ: Σύμφωνα με την προδιαγραφή της XML, η άνω και κάτω τελεία (:) χρησιμοποιείται στον προσδιορισμό χώρων ονομάτων (namespaces). Με τους χώρους ονομάτων διαφοροποιούνται στοιχεία που έχουν το ίδιο όνομα.

Κανόνες για έγκυρες τιμές ιδιοτήτων Η τιμή μιας ιδιότητας είναι μια σειρά χαρακτήρων που οριοθετείται από εισαγωγικά και είναι γνωστή ως αλφαριθμητικό εισαγωγικών ή κυριολεκτικό αλφαριθμητικό (string literal) Η ακολουθία μπορεί να οριοθετηθεί με τη χρήση απλών ( ) ή διπλών (") εισαγωγικών Η ακολουθία δεν μπορεί να περιλαμβάνει τον ίδιο χαρακτήρα εισαγωγικών που χρησιμοποιείται και στην οριοθέτησή της Η ακολουθία μπορεί να περιέχει αναφορές χαρακτήρων ή αναφορές σε γενικές εσωτερικές οντότητες Η ακολουθία δεν μπορεί να περιλαμβάνει το χαρακτήρα < Η ακολουθία δεν μπορεί να περιλαμβάνει το χαρακτήρα &, παρά μόνον ως αρχή μιας αναφοράς χαρακτήρα ή οντότητας.

Τιμές ιδιοτήτων Μη έγκυρες προδιαγραφές ιδιοτήτων <EMPLΟYEE Status=""downsized""> <! -- Όχι εισαγωγικά οριοθέτησης μέσα στο αλφαριθμητικό. --> <ALBUM Type="<CD>"> <! -- 'Οχι < μέσα στο αλφαριθμητικό. --> <WEATHER Forecast="Cold & Windy > <!-- Όχι & παρά μόνο στην αρχή μιας αναφοράς. --> Αν θέλετε να συμπεριλάβετε διπλά εισαγωγικά σε μια τιμή, τότε απλά εισαγωγικά για την οριοθέτηση <EMPLΟYEE Status= "downsized"'> <! -- Έγκυρη τιμή ιδιότητας --> Αν θέλετε να συμπεριλάβετε διπλά εισαγωγικά σε μια τιμή, τότε απλά εισαγωγικά για την οριοθέτηση <CANDIDATE name= W.T. Bill Bagley"> <! -- Έγκυρη τιμή ιδιότητας -->

Παραδείγματα Δημιουργία ενός στοιχείου που περιέχει 2 διαφορετικά attributes <pelatis num="12" paraggelies = "25"> KALOS PELATIS </pelatis> Δημιουργία ενός στοιχείου που περιέχει κενό tag <pelatis num="12" paraggelies = "25 ></pelatis>

Well-formed? Τμήμα 1 <myelement myattribute="value1 <= value2"/> Τμήμα 2 <myelement myattribute="value1 & value2"/> Τμήμα 3 <myelement myattribute="value1 > value2"/> Τμήμα 4 <myelement myattribute="value1'value2"/> NO!!! δεν επιτρέπεται < και & μέσα σε ιδιότητα NO!!! δεν επιτρέπεται < και & μέσα σε ιδιότητα YES! YES!

Τμήμα 1 <myelement myattribute="somevalue"/> Τμήμα 2 <myelement myattribute=somevalue/> Τμήμα 3 <myelement myattribute='somevalue'/> Τμήμα 4 <myelement myattribute="somevalue'/> Τμήμα 5 <myelement myattribute="some'value"/> Τμήμα 6 <myelement myattribute='some"value'/> Well-formed? YES! NO!!! YES! NO!!! YES! YES!

Μετατροπή περιεχομένου σε ιδιότητες Inventory04.xml Σε κάθε στοιχείο BOOK, να μετατρέψετε την πληροφορία του tag BINDING σε ιδιότητα με το όνομα binding Σε κάθε στοιχείο AUTHOR, να προσθέσετε ιδιότητα με όνομα Born για αποθήκευση ημερομηνίας γέννησης συγγραφέα

Προσθήκη σχολίων, εντολών επεξεργασίας & ενοτήτων CDATA Τα σχόλια, οι εντολές επεξεργασίας και οι ενότητες CDATA δεν είναι απαραίτητα για τη δημιουργία ενός σωστά διατυπωμένου (ή έγκυρου) εγγράφου XML. Μπορούν όμως να φανούν χρήσιμα! Με τα σχόλια, κάνουμε το έγγραφο πιο κατανοητό σε εκείνους που θα το διαβάσουν Με εντολές επεξεργασίας, αλλάζουμε τον τρόπο με τον οποίο μια εφαρμογή διαχειρίζεται ή εμφανίζει το έγγραφο Με ενότητες CDATA, συμπεριλαμβάνουμε στα δεδομένα χαρακτήρων ενός στοιχείου σχεδόν οποιονδήποτε συνδυασμό χαρακτήρων

Προσθήκη σχολίων Θυμηθείτε: «τα έγγραφα XML πρέπει να είναι αναγνώσιμα από τον άνθρωπο και σαφή» Τα σχόλια, όσα από αυτά είναι λογικά δομημένα και τοποθετημένα στα κατάλληλα σημεία μπορούν να αυξήσουν σημαντικά την αναγνωσιμότητα και τη σαφήνεια ενός εγγράφου XML

Η μορφή ενός σχολίου Το σχόλιο ξεκινάει με τους χαρακτήρες <!-- και τελειώνει με τους χαρακτήρας --> Ανάμεσα στα δύο όρια, όποιοι χαρακτήρες εκτός από διπλή παύλα (--), ακόμα και αριστερή αγκύλη (<) και εμπορικό "και" (&) Παράδειγμα συντακτικά σωστού σχολίου: <!-- Εδώ μπορείτε να βάλετε οποιοδήποτε κείμενο εκτός από διπλή παύλα. Οι χαρακτήρες < και & επιτρέπονται! -->

Πού μπορείτε να τοποθετήσετε σχόλια Σε οποιοδήποτε σημείο ενός εγγράφου XML έξω από άλλη σήμανση, π.χ. στον πρόλογο του εγγράφου: <?xml version="1.0"?> <!-- Ενα σχόλιο στον πρόλογο. --> <DOCELEMENT> Ενα πολύ απλό έγγραφο XML </DOCELEMENT> Μπορείτε να τα τοποθετήσετε μετά το στοιχείο εγγράφου: <?xml version="1.0"?> <DOCELEMENT> Ενα πολύ απλό έγγραφο XML. </DOCELEMENT> <!-- Αυτό το οχόλιο ακολουθεί το στοιχείο εγγράφου. -->

Πού μπορείτε να τοποθετήσετε σχόλια Μπορείτε επίσης να τα τοποθετήσετε στο περιεχόμενο ενός στοιχείου: <?xml version="1.0"?> <DOCELEMENT> <!-- Αυτό το σχόλιο περιέχεται στο στοιχείο εγγράφου. --> Ενα πολύ απλό έγγραφο XML. </DOCELEMENT>

Παράδειγμα σχολίου Σχόλιο τοποθετημένο στη σήμανση: <? xml version="1. 0"?> <DOCELEMENT <!-- Αυτό είναι ΕΓΚΥΡΟ σχόλιο? --> > Ενα πολύ απλό έγγραφο XML. </DOCELEMENT> ΟΧΙ!!!

Well-formed? Τμήμα 1 <!-- This is a comment -- quite useful one --> Τμήμα 2 <!-- This is a comment: <xml:comment > --> Τμήμα 3 <myelement myattribute="value1 <!-- anotherattribute="value2" - -> /> Τμήμα 4 <!-- This is a comment <--! This is my old comment--> --> NO!!! δεν μπορεί μέσα σε σχόλιο να έχει - - YES! NO!!! δεν μπορεί να είναι μέσα σε tag NO!!! δεν μπορούμε να έχουμε nested σχόλια

Προσθήκη ενοτήτων CDATA ΔΕΝ μπορούμε να προσθέτουμε κατευθείαν στα δεδομένα χαρακτήρων του περιεχομένου ενός στοιχείου αριστερή αγκύλη (<) ή "και" (&) Πώς όμως τα βάζουμε αν θέλουμε οπωσδήποτε? Χρησιμοποίηση αναφοράς χαρακτήρα (< ή &) ή προεπιλεγμένης αναφοράς γενικής οντότητας (< ή &) ΟΜΩΣ αν θέλουμε να προσθέσουμε πολλούς χαρακτήρες < ή &, δύσκολη η χρήση και η ανάγνωση των αναφορών. Οπότε? ΠΙΟ ΕΥΚΟΛΗ η τοποθέτηση του κειμένου σε ενότητα CDATA

Η μορφή μιας ενότητας CDATA Αρχίζει με τους χαρακτήρες <! [CDATA[ και τελειώνει με τους χαρακτήρες ]]> Ανάμεσα πληκτρολογούμε οποιουσδήποτε χαρακτήρες (μεταξύ των οποίων και οι < ή &) εκτός από τους ]]> (τέλος ενότητας CDATA) Όλοι οι χαρακτήρες μέσα σε μια ενότητα CDATA αντιμετωπίζονται ως κυριολεκτικό μέρος των δεδομένων περιεχομένου του στοιχείου, και όχι ως σήμανση XML Πάντα με κεφαλαία η λέξη CDATA!!!

Παραδείγματα <! [ CDATA[ Εδώ μπορείτε να πληκτρολογήσετε οποιουσδήποτε χαρακτήρες εκτός από δύο δεξιές αγκύλες και σύμβολο "μεγαλύτερο από". ]]> <A-SECTION> Παράδειγμα πολύ απλής σελίδας HTML: <! [ CDATA[ <HTML> <HEAD> <TITLE>R. Jones & Sons</TITLE> </HEAD> <B0DY> <P>Welcome to our home page! </P> </BODY> </HTML> ]]> </A-SECTI0N> Πηγαίος κώδικας ή σήμανση ως μέρος των πραγματικών δεδομένων χαρακτήρα ενός στοιχείου και όχι αρχή ένθετου στοιχείου το <HTML>

Παραδείγματα <script> <![CDATA[ function matchwo(a,b) { if (a < b && a < 0) then { return 1 } else { return 0 } } ]]> </ script > CDATA_example.xml

Πού μπορoύμε να τοποθετήσουμε ενότητες CDATA? Σε οποιοδήποτε σημείο εμφανίζονται δεδομένα χαρακτήρων δηλ. στο περιεχόμενο ενός στοιχείου αλλά όχι στη σήμανση της XML Παράδειγμα με σωστά τοποθετημένη ενότητα CDATA: <?xml version="1.0"?> <MUSICAL> <TITLE_PAGE> <! [ CDATA[ <Οklahoma! > By Rogers & Hammerstein ]]> </TITLE_PAGE> <!-- 'Αλλα στοιχεία εδώ... --> </MUSICAL>

Πού μπορoύμε να τοποθετήσουμε ενότητες CDATA? Check CDATA_example what.xml <?xml version="1.0"?> <! [ CDATA[ Illegal! Not within element content!! ]]> <DOC_ELEMENT> <SUB_ELEMENT <! [ CDATA[ Illegal inside markup! ]]> > sub-element content </SUB_ELEMENT> </DOC_ELEMENT>

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων XML Δημιουργία well formed XML εγγράφου Παράδειγμα

Παρακάτω δίνεται ένα HTML έγγραφο. Για ποιο λόγο το έγγραφο αυτό δεν μπορεί να θεωρήθεί well-formed XML έγγραφο; Βρείτε τα σφάλματα και αλλάξτε τη σήμανση με τέτοιο τρόπο ώστε το έγγραφο να μετατραπεί σε well-formed. Το νέο έγγραφο θα πρέπει να περιέχει τα ίδια elements και attributes με το αρχικό. <html> <head> <meta name="informatics.creator" content="julian Rathke"> <meta name="informatics.subject" content="internet Tech Exercise 1"> </head> <title>example doc <body> <p><b><font face="arial,helvetica,univers,zurich BT"> <font size=-1>publications</b> <font></font> <ul> <li>publication A <li>publication B </ul> </body> </html>