Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Εισαγωγή στην XML Μ. ΓΑΒΑΛΑΣ. Περιεχόμενα HTML και XML Σε τι χρησιμεύει η XML Πως γράφουμε XML Παραδείγματα XML Έγκυρη XML: DTDs και XML-Schema Παραδείγματα.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Εισαγωγή στην XML Μ. ΓΑΒΑΛΑΣ. Περιεχόμενα HTML και XML Σε τι χρησιμεύει η XML Πως γράφουμε XML Παραδείγματα XML Έγκυρη XML: DTDs και XML-Schema Παραδείγματα."— Μεταγράφημα παρουσίασης:

1 Εισαγωγή στην XML Μ. ΓΑΒΑΛΑΣ

2 Περιεχόμενα HTML και XML Σε τι χρησιμεύει η XML Πως γράφουμε XML Παραδείγματα XML Έγκυρη XML: DTDs και XML-Schema Παραδείγματα σχημάτων Επεξεργασία της XML  Μοντέλο DOM 19/4/2015 Εισαγωγή στην XML 2

3 HTML Hyper Text Markup Language Ένα HTML αρχείο είναι ένα αρχείο κειμένου που περιέχει ετικέτες-markup tags Οι ετικέτες περιγράφουν στο πρόγραμμα πλοήγησης πώς θα εμφανίζει τη σελίδα Τα HTML αρχεία έχουν κατάληξη htm ή html. Μπορούν να δημιουργηθούν σε έναν απλό επεξεργαστή κειμένου. 19/4/2015 Εισαγωγή στην XML 3

4 Παράδειγμα Παράδειγμα Το πρώτο μου αρχείο. Κεφάλαιο 1ο 19/4/2015 Εισαγωγή στην XML 4

5 Ετικέτες HTML Χρησιμοποιούνται για να δηλώσουν τα στοιχεία (elements) της HTML. Βρίσκονται μεταξύ των. Συνήθως βρίσκονται σε ζεύγη ( π. χ. και ), όπου η πρώτη ονομάζεται ετικέτα αρχής και η δεύτερη ετικέτα τέλους. Το κείμενο που βρίσκεται ανάμεσα στις ετικέτες αποτελεί το περιεχόμενο του στοιχείου. Δεν παίζουν ρόλο τα κεφαλαία στα ονόματα των ετικετών ( δεν είναι case sensitive). Μπορεί να περιέχουν χαρακτηριστικά (attributes) που προσδιορίζουν καλύτερα τα στοιχεία. π. χ.. 19/4/2015 Εισαγωγή στην XML 5

6 Τι είναι η XML EXtensible Markup Language. Είναι δηλωτική γλώσσα όπως η HTML. Είναι επεκτάσιμη. Οι ετικέτες της XML δεν είναι προκαθορισμένες. Καθορίζονται από το χρήστη. Η XML είναι αυτο - περιγραφική. Η XML σχεδιάστηκε για να περιγράφει τα δεδομένα. Χρησιμοποιεί αρχεία (DTDs και XML-Schema) για να περιγράψει τη δομή των δεδομένων. Σχεδιάστηκε για να συμπληρώσει την HTML και όχι να την αντικαταστήσει. 19/4/2015 Εισαγωγή στην XML 6

7 Η χρήση της XML Η XML χρησιμοποιείται για να αποθηκεύσουμε και να οργανώσουμε τα δεδομένα όχι για την παρουσίαση των δεδομένων (HTML). Η XML χρησιμοποιείται για ανταλλαγή δεδομένων. ◦ H πληροφορία στις ΒΔ έχει συγκεκριμένη δομή. ◦ Στην HTML σελίδα, χάνει τη δομή της. ◦ Σε ένα XML έγγραφο, διατηρείται μια δομή η οποία μπορεί να ξανα - αποθηκευθεί σε ΒΔ. Η XML χρησιμοποιείται για αποθήκευση δεδομένων. ◦ Τα XML αρχεία μπορούν να αντικαταστήσουν τις ΒΔ. Αρκεί να υπάρχουν τρόποι να κάνουμε επερωτήσεις και ενημερώσεις. 19/4/2015 Εισαγωγή στην XML 7

8 Παράδειγμα John Bill Greetings Hi John! Η πρώτη γραμμή δηλώνει την έκδοση της XML για το συγκεκριμένο έγγραφο. Μπορεί να περιέχει πληροφορίες για την κωδικοποίηση (encoding) του εγγράφου. Η δεύτερη γραμμή ορίζει το πρώτο στοιχείο του εγγράφου ( τη ρίζα του ) που είναι μοναδικό. Οι υπόλοιπες 4 γραμμές ορίζουν τα στοιχεία που βρίσκονται κάτω από τη ρίζα (to, from, heading, and body). Η τελευταία γραμμή κλείνει το στοιχείο στη ρίζα. ( 19/4/2015 Εισαγωγή στην XML 8 note toheadingfrombody

9 Σύνταξη της XML Όλα τα στοιχεία (elements) της XML πρέπει να έχουν ετικέτα κλεισίματος ◦ Στην HTML ορισμένα στοιχεία δεν έχουν τέτοια ετικέτα :  Παράγραφος 1  Παράγραφος 2 ◦ Στην XML αυτό θα γίνει :  Παράγραφος 1  Παράγραφος 2 Οι ετικέτες της XML είναι case sensitive ◦ Η ετικέτα είναι διαφορετική από την  Λάθος  Σωστό 19/4/2015 Εισαγωγή στην XML 9

10 Σύνταξη της XML Τα elements στην XML πρέπει να είναι σωστά φωλιασμένα. ◦ Στην HTML η παρακάτω δήλωση είναι σωστή :  This text is bold and italic ◦ Στην XML η σωστή σύνταξη είναι :  This text is bold and italic Όλα τα XML έγγραφα πρέπει να έχουν μία ρίζα. ◦ Η ρίζα πρέπει να είναι μοναδική. Όλα τα υπόλοιπα στοιχεία θα βρίσκονται φωλιασμένα σ ’ αυτήν. Οι τιμές των Attributes πρέπει να βρίσκονται σε εισαγωγικά. ◦ Τα elements μπορούν να έχουν attributes όπως στην HTML.  Λάθος  Σωστό 19/4/2015 Εισαγωγή στην XML 10

11 XML Attributes Τα attributes χρησιμοποιούνται για να περιγράψουν καλύτερα τα elements της XML. Περιέχονται πάντα στην αρχική ετικέτα του element σε ζευγάρια της μορφής : όνομα =" τιμή ”. ◦ Στην HTML:  ◦ Στην XML:  Συνήθως η πληροφορία που παρέχεται στα attributes εξυπηρετεί τη δομή της XML αλλά και τα προγράμματα που επεξεργάζονται τη δομή των XML αρχείων και όχι τους αναγνώστες. ( π. χ. το id στο στοιχείο person) 19/4/2015 Εισαγωγή στην XML 11

12 Elements ή Attributes; Τα attributes έχουν περισσότερους περιορισμούς όσο αφορά στον τύπο που πρέπει να έχουν τα δεδομένα που περιέχουν, για το λόγο αυτό τα elements χρησιμοποιούνται συχνότερα Πληροφορία ως Attribute: Anna Smith Και ως Element: female Anna Smith 19/4/2015 Εισαγωγή στην XML 12

13 Εμφάνιση XML στον browser Ορθή ΧΜ L (note.xml) John Bill Greetings Hi John! Λάθος XML (note_error.xml) John Bill Greetings Hi John! 19/4/2015 Εισαγωγή στην XML 13

14 Μελέτη περίπτωσης Κάθε υπάλληλος θα είναι ένα employee element. …... … Φτιάξτε ένα xml αρχείο για έναν υπάλληλο. 19/4/2015 Εισαγωγή στην XML 14

15 Παραδείγματα Κατάλογος CDs – Κατάλογος φυτών (cd_catalog.xml) Empire Burlesque Bob Dylan USA Columbia Hide your heart Bonnie Tylor UK CBS Records (plant_catalog.xml) Bloodroot Sanguinaria canadensis 4 Mostly Shady $ Columbine Aquilegia canadensis 3 Mostly Shady $ /4/2015 Εισαγωγή στην XML 15

16 Μελέτη περίπτωσης Φτιάξτε ένα xml αρχείο με 2 υπαλλήλους Κάθε αρχείο XML πρέπει να έχει υποχρεωτικά ένα μόνο κεντρικό (root) element. Βάλτε τα δύο employee μέσα σε ένα element organization. 19/4/2015 Εισαγωγή στην XML 16

17 Έγκυρη XML DTDs – XML Schema

18 DTD - Document Type Definition Καθορίζει τη δομή των XML εγγράφων. Είτε περιέχεται στο XML έγγραφο, είτε υπάρχει ως αρχείο (.dtd) και καλείται από το XML. Ομάδες ανθρώπων συμφωνούν σε ένα DTD για να ανταλλάσσουν δεδομένα. 19/4/2015 Εισαγωγή στην XML 18

19 Εξωτερικό DTD XML αρχείο με εξωτερικό DTD John Bill Greetingsr Hi John! Το DTD αρχείοDTD 19/4/2015 Εισαγωγή στην XML 19

20 Εσωτερικό DTD XML αρχείο με εσωτ. DTD: XML αρχείο John Bill Greetingsr Hi John! !ELEMENT note ◦ Το στοιχείο "note" περιέχει 4 στοιχεία : "to,from,heading,body". !ELEMENT to ◦ Το στοιχείο "to" είναι τύπου "CDATA". Περιέχει δηλαδή κείμενο !ELEMENT from ◦ Το στοιχείο "from" είναι επίσης τύπου "CDATA" Το ίδιο τα heading και body. 19/4/2015 Εισαγωγή στην XML 20

21 Δομικά στοιχεία του DTD Στοιχεία - Elements. ◦ Παραδείγματα HTML elements: "body", "table". ◦ Παραδείγματα XML elements: "note", "message". ◦ Μπορούν να περιέχουν κείμενο, άλλα elements ή να είναι κενά ( "hr", "br", “img”). Χαρακτηριστικά - Attributes. ◦ Παρέχουν επιπλέον πληροφορία για τα στοιχεία. ◦ Βρίσκονται στην αρχική ετικέτα των στοιχείων. ◦ Έρχονται σε ζεύγη όνομα / τιμή. ◦ Παράδειγμα : 19/4/2015 Εισαγωγή στην XML 21

22 Δομικά στοιχεία του DTD Δεδομένα - PCDATA ◦ PCDATA σημαίνει means parsed character data. Δεδομένα δηλαδή που έχουν εσωτερική δομή και το πρόγραμμα επεξεργασίας μπορεί να τα χρησιμοποιήσει. ◦ Αν το κείμενο (PCDATA) έχει ετικέτες αυτές θα διαβαστούν κανονικά. Κείμενο - CDATA ◦ CDATA σημαίνει character data. Δεδομένα που δεν έχουν εσωτερική δομή ( απλό κείμενο ) ◦ Αν το κείμενο (CDATA) έχει ετικέτες, αυτές θα αγνοηθούν από το πρόγραμμα επεξεργασίας που θα τις θεωρήσει κείμενο. Οντότητες - Entities ◦ Είναι μεταβλητές που αντιπροσωπεύουν κάποιους ειδικούς χαρακτήρες. ◦ < ( ), & (&), " ("), ' (‘) 19/4/2015 Εισαγωγή στην XML 22

23 DTD - Elements Πώς δηλώνουμε ένα element ◦ Κενά elements ◦ Elements με δεδομένα. Δηλώνουμε τον τύπο δεδομένων. ◦ Αν το #PCDATA περιέχει elements πρέπει και αυτά να δηλωθούν. 19/4/2015 Εισαγωγή στην XML 23

24 DTD - Elements (2) Elements που περιέχουν άλλα elements. ◦ Δηλώνουμε το όνομα των παιδιών μέσα σε παρένθεση : ◦ Και ακολουθεί η δήλωση των στοιχείων παιδιών. ◦ Παράδειγμα : Τα στοιχεία παιδιά πρέπει να εμφανίζονται στο XML έγγραφο με την ίδια σειρά που εμφανίζονται στην παρένθεση. 19/4/2015 Εισαγωγή στην XML 24

25 Το πλήθος των sub-elements Ένα element εμφανίζεται ακριβώς μία φορά () Παράδειγμα : Ένα element εμφανίζεται τουλάχιστον μία φορά (+) Παράδειγμα : Ένα element εμφανίζεται καμία ή περισσότερες φορές (*) Παράδειγμα : Ένα element εμφανίζεται καμία ή μία φορά (?) Παράδειγμα : Γενικό παράδειγμα : 19/4/2015 Εισαγωγή στην XML 25

26 DTD - Attributes Στο DTD, τα attributes δηλώνονται σε ένα ATTLIST. Που καθορίζει το element που θα περιέχει τ o συγκεκριμένο attribute, το όνομα του attribute, τον τύπο του και μια σταθερή τιμή Ο τύπος του χαρακτηριστικού (attribute-type) μπορεί να είναι : 19/4/2015 Εισαγωγή στην XML 26

27 DTD – Attributes(2) Η σταθερή τιμή (default-value) μπορεί να είναι : 19/4/2015 Εισαγωγή στην XML 27

28 DTD – Attributes - Παράδειγμα ◦ DTD: ◦ XML: ◦ DTD: ◦ XML: ◦ DTD: ◦ XML: 19/4/2015 Εισαγωγή στην XML 28

29 Μελέτη περίπτωσης Φτιάξτε το αρχείο org.dtd που θα περιγράφει τη δομή των XML αρχείων σας Ένας οργανισμός έχει πολλούς υπαλλήλους 19/4/2015 Εισαγωγή στην XML 29

30 XML Schema Το XML Schema χρησιμοποιείται αντί για το DTD. ◦ Υποστηρίζει πολλούς τύπους δεδομένων ◦ Είναι επεκτάσιμο Τα αρχεία έχουν κατάληξη.xsd Υπάρχει αναφορά από το root element του XML στο xsd 19/4/2015 Εισαγωγή στην XML 30

31 Τα στοιχεία της XML-Schema ComplexType ◦ Καθορίζει τον τύπο και το περιεχόμενο ενός στοιχείου, καθώς και τα παιδιά που μπορεί να περιέχει SimpleType ◦ Καθορίζει τον τύπο και το περιεχόμενο ενός χαρακτηριστικού. Attribute ◦ Δηλώνει ότι ένα στοιχείο μπορεί να περιέχει το συγκεκριμένο χαρακτηριστικό που δηλώθηκε προηγούμενα σε ένα SimpleType. Element ◦ Δηλώνει ότι ένα στοιχείο μπορεί να περιέχει το συγκεκριμένο υπο - στοιχείο που δηλώθηκε προηγούμενα σε ένα ComplexType. 19/4/2015 Εισαγωγή στην XML 31

32 Ερώτηση – order.xml order.xml Ποιο είναι το σχήμα του παρακάτω XML εγγράφου ; John Dim book /4/2015 Εισαγωγή στην XML 32

33 Απάντηση - order.xsd order.xsd 19/4/2015 Εισαγωγή στην XML 33

34 19/4/2015 Εισαγωγή στην XML 34

35 DOM Το δέντρο της XML

36 To Document Object Model Είναι ένα προγραμματιστικό εργαλείο για την επεξεργασία HTML και XML εγγράφων Καθορίζει τους τρόπους πρόσβασης και επεξεργασίας ενός εγγράφου. Με το DOM, μπορεί κανείς να δημιουργήσει ένα έγγραφο, να περιηγηθεί τη δομή του, να προσθέσει ή να διαγράψει στοιχεία και χαρακτηριστικά. Υποστηρίζεται από τη Microsoft και τον Internet Explorer. Έχει περισσότερες απαιτήσεις σε μνήμη από το SAX καθώς χρειάζεται να φορτώσει όλο το έγγραφο στη μνήμη για να το επεξεργαστεί. Στη συνέχεια η επεξεργασία είναι ευκολότερη καθώς μπορούμε να έχουμε εύκολη μετακίνηση στα επίπεδα της ιεραρχίας του DOM. 19/4/2015 Εισαγωγή στην XML 36

37 Οι κόμβοι (Node Interface) Ένα πρόγραμμα που ονομάζεται parser διαβάζει τα περιεχόμενα του αρχείου στη μνήμη. Η πληροφορία στη συνέχεια επεξεργάζεται με το (DOM). Το DOM δημιουργεί μια δενδρική δομή ( όψη ) για το αρχείο. Η ρίζα του δένδρου είναι το documentElement, και έχει ένα ή περισσότερα childNodes. Το Node Interface χρησιμοποιείται για να διαβάζουμε ή να γράφουμε τα elements του XML δέντρου. Η ιδιότητα childNodes του documentElement χρησιμοποιείται με μια δομή for/each που δημιουργεί μια λίστα με τους κόμβους. 13 τύποι κόμβων υποστηρίζονται από τον Microsoft XML parser. 19/4/2015 Εισαγωγή στην XML 37

38 Διαχείριση του DOM Ο XMLDOM parser της Microsoft υποστηρίζει :  JavaScript, VBScript, Perl, VB, Java, C++  W3C XML 1.0 και XML DOM  DTD και έλεγχο εγκυρότητας Δημιουργία XML εγγράφου : ◦ Με JavaScript στον IE 5.0: var xmlDoc = new ActiveXObject("Microsoft.XMLDOM") ◦ Με VBScript: set xmlDoc = CreateObject("Microsoft.XMLDOM") ◦ Με VBScript και ASP: set xmlDoc = Server.CreateObject("Microsoft.XMLDOM") 19/4/2015 Εισαγωγή στην XML 38

39 Φόρτωμα αρχείου Από υπάρχον αρχείο : var xmlDoc = new ActiveXObject ("Microsoft.XMLDOM") xmlDoc.async="false" xmlDoc.load("note.xml") //... επεξεργασία Από κείμενο : var text=" " text=text+" John Bill " text=text+" Greetings " text=text+" Hi John! " text=text+" " var xmlDoc = new ActiveXObject("Microsoft.XMLDOM") xmlDoc.async="false" xmlDoc.loadXML(text) //... Επεξεργασία 19/4/2015 Εισαγωγή στην XML 39

40 Πρόσβαση στο DOM Παράδειγμα κώδικα JavaScript που διαβάζει τα δεδομένα από XML αρχείο και τα αναθέτει σε μεταβλητές ενός HTML αρχείου : var xmlDoc = new ActiveXObject("Microsoft.XMLDOM") xmlDoc.async="false" xmlDoc.load("note.xml") nodes = xmlDoc.documentElement.childNodes to.innerText = nodes.item(0).text from.innerText = nodes.item(1).text header.innerText = nodes.item(2).text body.innerText = nodes.item(3).text 19/4/2015 Εισαγωγή στην XML 40

41 Πρόσβαση στο DOM(3) Παράδειγμα κώδικα JavaScript που καλεί τα elements με το όνομά τους. var xmlDoc = new ActiveXObject("Microsoft.XMLDOM") xmlDoc.async="false" xmlDoc.load("note.xml") document.write (xmlDoc.getElementsByTagName("from").item(0).text) 19/4/2015 Εισαγωγή στην XML 41


Κατέβασμα ppt "Εισαγωγή στην XML Μ. ΓΑΒΑΛΑΣ. Περιεχόμενα HTML και XML Σε τι χρησιμεύει η XML Πως γράφουμε XML Παραδείγματα XML Έγκυρη XML: DTDs και XML-Schema Παραδείγματα."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google