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

Σχετικά έγγραφα
ΝΤUA. Τεχνολογία Πολυμέσων

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

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

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

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

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

Βάζειρ Γεδομένων και Παγκόζμιορ Ιζηόρ. Τερλνινγίεο XML

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

«ΕΙΔΙΚΑ ΘΕΜΑΣΑ ΣΟΝ ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΤΠΟΛΟΓΙΣΩΝ» Κεφάλαιο 4: Αντικειμενοςτρεφήσ Προγραμματιςμόσ

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

Γλωσσική Τεχνολογία. HTML/XML Processing HTTP Services

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

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

Πληροφοριακά Συστήματα Διοίκησης

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

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

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

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

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

Πληροφοριακά Συστήματα Διοίκησης

Βάσεις Δεδομένων. Εισαγωγή για το Εργαστήριο. Δρ. Τιάκας Ελευθέριος. Τμήμα Πληροφορικής ΑΠΘ

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

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

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

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

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

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

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

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

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

Extensible Markup Language (XML) 1.0

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

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

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

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

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

ΚΕΦΑΛΑΙΟ Web Services

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III

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

ΠΡΟΧΩΡΗΜΕΝΑ ΘΕΜΑΤΑ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ

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

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

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

Εισαγωγή στις ΤΠΕ ΙΙ Γιάννης Βρέλλης ΠΤΔΕ-Πανεπιστήμιο Ιωαννίνων. World Wide Web. Παγκόσμιος Ιστός

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

ΑΝΑΠΑΡΑΣΤΑΣΗ ΚΕΙΜΕΝΟΥ

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

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

Δημοσίευση στο Διαδίκτυο

Ellogon: Μία Πλατφόρμα Επεξεργασίας Φυσικής Γλώσσας. Γεώργιος Πετάσης

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

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

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

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED σχεδιασμός ιστοσελίδας ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ

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

Σήμανση και Μορφοποίηση: HTML και CSS

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

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

Εισαγωγή στην Αριθμητική Ανάλυση

Ανάπτυξηλογισμικού υλοποίησης του ανοικτού πρότυπου EPCALEv1.1 για εφαρμογές RFID

Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών

Εργαστήριο 6. Προγραμματιστικές Εφαρμογές στο Διαδίκτυο. Στόχος. Προετοιμασία περιβάλλοντος εργασίας. a) Εκκίνηση XAMPP

Γραφικά υπολογιστών Εργαστήριο 9 Κλάσεις στην Python. Σκοπός της 9ης άσκησης είναι να μάθουμε αντικειμενοστρεφή προγραμματισμό στην Python.

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

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

Οδηγίες για προσθήκη Web Frames Tools to the Quick Access Bar σε μεταγενέστερη έκδοση του Word

Διαδικτυακές Εφαρμογές Ενότητα 1: JPA

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

MICROSOFT INTERNET LOCATOR SERVER

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

2. ΕΙΣΑΓΩΓΗ ΣΤΗΝ HTML ΓΙΩΡΓΟΣ ΓΙΑΝΝΑΚΑΚΗΣ, ΜΑΝΩΛΗΣ ΤΣΙΚΝΑΚΗΣ

1. O FrontPage Explorer

Προγραμματισμός διαδικτυακών εφαρμογών με PHP

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

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

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

(Blended Executive Learning)

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ & ΤΕΧΝΟΛΟΓΙΑΣ Θ.Ε. ΠΛΗ23 «Τηλεματική, Διαδίκτυα και Κοινωνία»

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

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

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ & ΤΕΧΝΟΛΟΓΙΑΣ Θ.Ε. ΠΛΗ23 «Τηλεματική, Διαδίκτυα και Κοινωνία»

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

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

Transcript:

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

5. Διάλεξη 5: XML

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

Προσπάθειες Πρώτη γενναία προσπάθεια: Η SGML- Standard Generalized Markup Language Η γλώσσα αυτή είχε τα γενικά χαρακτηριστικά που απαιτούνταν αλλά ήταν πολύπλοκη στη χρήση Γέννησε δύο άλλες γλώσσες, την HTML και την XML.

Τι είναι η XML; Ακόμη, είναι επεκτάσιμη extensible και παραμετροποίησιμη. Μπορεί δηλαδή ο προγραμματιστής να καθορίσει τα δικά του στοιχεία, να καθορίσει τη δομή του περιεχομένου της κωδικοποίησης. Για παράδειγμα, άλλα στοιχεία θα έχει ένας κώδικας xml που θα περιγράφει τη δομή ενός κειμένου χημείας και άλλα ένας κώδικας που περιγράφει τα χαρακτηριστικά των αποθηκευμένων βιβλίων. Markup- ή καλύτερα metamarkup language. Στον ίδιο τον κώδικα περιγράφεται η δομή και το περιεχόμενο των δεδομένων. Περιγραφή των σχέσεων μεταξύ των δεδομένων.

Τι είναι η XML; Τι δεν είναι η XML- δεν κάνει τα πάντα. Δεν περιέχονται στοιχεία παρουσίασης. Δεν είναι μια γλώσσα προγραμματισμού. Δεν είναι ούτε πρωτόκολλο μεταφοράς δεδομένων, αλλά ούτε βάση δεδομένων. Αλλά, τι προσφέρει; Διαχειρίσιμα δεδομένα portable data

Διαχείριση δεδομένων ; Ένας web browser Ένας επεξεργαστής-διορθωτής κειμένου, Μία βάση δεδομένων που αποθηκεύει αρχεία δεδομένων (Microsoft SQL Server stores xml data in a new record) Ένα σχεδιαστικό πρόγραμμα, Ένα πρόγραμμα που «βλέπει» τον κώδικα σαν μια μορφή οικονομικού κειμένου Ένα πρόγραμμα διαμοίρασης πληροφοριών που παίρνει τις νέες πληροφορίες Ένα πρόγραμμα που έχουμε γράψει μόνοι μας (σε Java, C, Python) και κάνει ότι του πούμε εμείς στα δεδομένα, Οτιδήποτε άλλο.

Ελαστικότητα Συμπέρασμα: Η XML είναι μια εξαιρετικά ελαστική δομή κωδικοποίησης δεδομένων. XML is an extremely flexible format for data.(harold and Means, 2002, σελ.8) Στην πραγματικότητα, η XML είναι κατάλληλη για την αποθήκευση και ανταλλαγή κάθε είδους δεδομένων που μπορεί να κωδικοποιηθεί σε μορφή κειμένου. Είναι ακατάλληλη για την κωδικοποίηση δεδομένων πολυμέσων, όπως οι φωτογραφίες, ο ήχος, το βίντεο και άλλες μορφές πολύπλοκης παράστασης δεδομένων. Επιτρέπει την επαναχρησιμοποίηση ή επανα-οργάνωση των δεδομένων.

HTML Χρησιμοποιεί tags ανάμεσα στο κείμενο......για να περιγράψει το layout της σελίδας <p> <b>alan</b>, 42 years, <i>agb@abc.com</i> Δεν διευκολύνει άλλα προγράμματα να κατανοήσουν την δομή και το περιεχόμενο μιας σελίδας Ο wrapper «σπάει» αν το italic <i> αλλάξει σε teletype <t> Το πρόβλημα είναι οτι σχεδιάστηκε ειδικά για να περιγράψει την παρουσίαση και όχι το περιεχόμενο Καθένας θα ήθελε να υπάρχει «ένα ακόμη tag» στην HTML προκειμένου να βοηθηθεί η δική του εφαρμογή

XML Σχεδιάστηκε ειδικά για να περιγράψει το περιεχόμενο (content) και όχι την παρουσίαση μιας σελίδας Βασικές διαφορές από την HTML Μπορεί κανείς να ορίσει νέα tags κατά βούληση Τα tags μπορούν να εφωλιασθούν δομικά σε οποιοδήποτε βάθος Ενα έγγραφο XML μπορεί προαιρετικά να περιέχει μια περιγραφή της γραμματικής του Τα tags δομούν το περιεχόμενο <person><name>kostas</name> </person> Το πως θα εμφανιστούν ορίζεται ξεχωριστά από κάποιο stylesheet (XSL)

XML (2) Βασικό συστατικό της XML είναι το element Κείμενο που περικλείεται από ένα ζεύγος tags Start-tag και end-tag (markups)

Εlements και tags Τι μπορεί να υπάρχει ανάμεσα στα start-tag και end-tag; Απλό κείμενο Αλλα elements Οποιοδήποτε μίγμα των δύο παραπάνω! Τα tags στην XML: Ορίζονται από τους χρήστες, δεν υπάρχουν προκαθορισμένα tags όπως στην HTML Ανοίγουν και κλείνουν πάντα με την «σωστή» σειρά (σαν παρενθέσεις) Εξαίρεση: empty tag, πχ. <married/> (το / στο τέλος) <married/> = <married></married> Element, element content, και subelement

XML attributes Ενα element μπορεί να περιέχει μηδέν ή περισσότερα attributes Δεν σχετίζονται με τα attributes στις σχεσιακές βάσεις Περιγράφουν ιδιότητες (properties) του element <product> <name language= French >trompette no 6</name> <price currency= Euro > 420.12 </price> <address format= XL1245 language= French > <street>31 rue Croix-Bosset</street> <zip>92874</zip> </address> </product> Οπως και τα elements, τα attributes ορίζονται από τον χρήστη

Attributes και elements Διαφορές με elements: Η τιμή του attribute είναι πάντα ένα string σε εισαγωγικά, ενώ το element μπορεί να περιέχει άλλα elements Ενα element μπορεί να έχει το πολύ ένα attribute με ένα όνομα, ενώ μπορεί να έχει πολλά subelements με το ίδιο όνομα Τα attributes: Φανερώνουν την καταγωγή της XML σαν document markup γλώσσας Εισάγουν κάποια δυσκολία στην ανταλλαγή πληροφορίας: αναπαράσταση σαν attribute ή σαν subelement; <person name= Alan age= 42 email= agb@abc.com /> <person age= 42 > <name>alan</name> <email>agb@abc.com</email> </person>

XML Graph Ενα μοντέλο για XML data: XML Graph Οι κόμβοι αντιστοιχούν στα elements Εύκολη η μετατροπή, ιδίως αν έχουμε δένδρο Μπορούμε να έχουμε γράφο; - ΝΑΙ

XML References H XML έχει έναν μηχανισμό ώστε ένα element να μπορεί να «δείχνεται» από περισσότερους από έναν «πατέρες» Ορίζοντας έτσι γράφο αντί για δένδρο Ο μηχανισμός είναι attributes τύπου ID, IDREF, και IDREFS Τα ID αναθέτουν ταυτότητες στα elements Τα IDREF «δείχνουν» στα ID από άλλα elements, οπουδήποτε <state id= s2 idrefs= c2 c7 c12 c32 >Nevada</state>... <city id= c7 > <cname>carson City</cname> <state-of idref= s2 /> </city> Ποιά attributes είναι τύπου ID / IDREF; Πάντως όχι κατ ανάγκη αυτά που λέγονται id / idref Αλλά αυτά που ορίζονται από το DTD (στην συνέχεια)

Διάταξη Tα δύο XML δεν είναι ισοδύναμα: <person><firstname>john</firstname> <lastname>smith</lastname></person> <person><lastname>smith</lastname> <firstname>john</firstname></person> Τα XML attributes δεν είναι διατεταγμένα Τα παρακάτω είναι ισοδύναμα: <person firstname= John lastname= Smith /> <person lastname= Smith firstname= John /> Η απαίτηση για διάταξη δυσκολεύει την αποδοτική διαχείριση των δεδομένων XML Συχνά η διάταξη αγνοείται σε εφαρμογές ανταλλαγής πληροφορίας

Μίξη elements και κειμένου Το παρακάτω επιτρέπεται στην XML Λέμε ότι το person έχει mixed content <person> This is my best friend <name>alan</name> <age>42</age> I am not too sure about the following email <email>agb@abc.com</email> </person> Δείχνει την εγγραφο-κεντρική καταγωγή της XML Κάπως «αφύσικο» από την πλευρά των βάσεων δεδομένων Προτιμούμε το element content

Επιπλέον στοιχεία της XML Εγγραφο-κεντρικά στοιχεία που δεν χρειάζονται στην ανταλλαγή δεδομένων Σχόλια <! this is comment --> Processing Instructions <?xml-stylesheet href= book.css type= text/css?> Αρχική γραμμή <?xml version= 1.0?> Προαιρετικό Document Type Definition (DTD) Ορίζει την γραμματική του κειμένου <?xml version= 1.0?> <!DOCTYPE name [markupdeclarations]> <name> </name> root element

DTD Document Type Definition (DTD): αναπόσπαστο μέρος της XML Προτάθηκε σαν μια γραμματική για τα XML έγγραφα Σε κάποιο βαθμό μπορεί να ιδωθεί σαν σχήμα για δεδομένα μορφοποιημένα σε XML Ενα DTD που περιγράφει δυαδικά δένδρα: <!ELEMENT node (leaf (node, node))> <!ELEMENT leaf (#PCDATA)> Τα DTDs μοιάζουν να ορίζουν τύπους δεδομένων <!DOCTYPE db [ <!ELEMENT db (person*)> <!ELEMENT person (name,age,email)> <!ELEMENT name (#PCDATA)>...]> PCDATA - Parsed Character Data CDATA - (Unparsed) Character Data

Δήλωση attributes στο DTD Σύνδεση των attributes με τα elements στα οποία εμφανίζονται <product> <name language= French department= Music >trompette</name> <price currency= Euro > 420.12 </price> </product> <!ATTLIST name language CDATA #REQUIRED department CDATA #IMPLIED> <!ATTLIST price currency CDATA #IMPLIED> Ορισμός των attributes #REQUIRED υποχρεωτικό, #IMPLIED προαιρετικό Τύπος CDATA = string Τύποι ID, IDREF, IDREFS

Well-formed και valid Well-formed XML έγγραφα Τα tags πρέπει να είναι σωστά εμφωλιασμένα Τα attributes ενός element πρέπει να είναι μοναδικά Valid XML έγγραφο Είναι well-formed Εχει κάποιο DTD Συμμορφώνεται με αυτό το DTD Περιορισμοί του DTD σαν σχήμα για δεδομένα XML Δεν υπάρχουν ατομικοί τύποι (πχ. integer) Δεν υπάρχουν περιορισμοί διαστήματος (πχ. 0-140) Ο τύπος ενος element είναι global (πχ. ίδιο name και σε person και σε course;) Δεν προσδιορίζει τον τυπο των IDREFs