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

Transcript
Page 1: ΝΕΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δ.Π.Θ.xml - 1

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

XMLΗ HTML αποτέλεσε την πρώτη και κύρια γλώσσα

δημιουργίας ιστοσελίδων από την έναρξη λειτουργίας του παγκόσμιου ιστού

Η ΧΜL είναι μια νέα γλώσσα προγραμματισμού η οποία σχεδιάστηκε αργότερα και ειδικά για τη

ομοιόμορφη και κανονικοποιημένη μετάδοση των πληροφοριών στο Διαδίκτυο

Η ανάπτυξη της γλώσσας XML ξεκίνησε το 1996Προέρχεται από το eXtensible Markup Language

(Επεκτάσιμη Γλώσσα Σήμανσης) και έχει οριστεί από την ομάδα XML Working Group της Κοινοπραξίας του

Παγκόσμιου Ιστού (World Wide Web Consortium, ή αλλιώς W3C) το Φεβρουάριο του 1998

Page 2: ΝΕΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δ.Π.Θ.xml - 2

Η XML είναι μια μεταγλώσσα (metalanguage),

δηλαδή γλώσσα η οποία περιγράφει άλλες γλώσσες.

Ένα πρόγραμμα XML χρησιμεύει για να περιγράφει τα δεδομένα τα οποία βρίσκονται στο αρχείο.

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

δυναμική περιγραφή της πληροφορίας η οποία βρίσκεται τοποθετημένη σε μια ιστοσελίδα

Η XML μοιάζει πάρα πολύ με την HTML.

Η μεγαλύτερη διαφορά τους βρίσκεται εξ ορισμού στο γεγονός ότι η XML είναι πιο αυστηρή στη χρήση των

ετικετών (tags).

Page 3: ΝΕΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δ.Π.Θ.xml - 3

Tα κυριότερα πλεονεκτήματα της XML

• Είναι ανεξάρτητη τόσο του λειτουργικού συστήματος όσο και του δημιουργού ή προμηθευτή της

• Είναι αυτοπεριγραφική και εύκολα επεκτάσιμη. Μπορεί να χρησιμοποιηθεί για τη δημιουργία νέων γλωσσών προγραμματισμού

• Δεν χρειάζεται καμία προηγούμενη εμπειρία για να κατανοηθεί το περιεχόμενο ενός εγγράφου XML

• Έχει μια δενδροειδή δομή η οποία επιτρέπει να περιγράψουμε εύκολα κάθε πρόβλημα πληροφορικής

• Μεταφέρεται εύκολα επειδή υποστηρίζει όλες τις γραμματοσειρές και γλώσσες

• Ένα έγγραφο XML μπορεί να χρησιμοποιηθεί από όλες τις εφαρμογές οι οποίες υποστηρίζουν ένα συντακτικό αναλυτή (parser) ο οποίος θα αναλύσει τον κώδικα της XML

Page 4: ΝΕΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δ.Π.Θ.xml - 4

Βασικές έννοιες • Οι περισσότεροι φυλλομετρητές προσπαθούν να

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

• H γλώσσα XML απαιτεί όλες οι ετικέτες να εμφανίζονται σε ζεύγη και προειδοποιεί όταν δεν υπάρχει η τελική ή η αρχική ετικέτα

Π.χ. η ετικέτα <BR> στην XML εμφανίζεται σαν <BR> </BR> ή σαν <BR/>

• Στη γλώσσα XML όλες οι τιμές των ιδιοτήτων (attribute values) πρέπει να τοποθετούνται υποχρεωτικά μέσα σε διπλά εισαγωγικά

Π.χ. <COLOR value="red"></COLOR> Στη γλώσσα XML οι ετικέτες είναι μοναδικές και ευπαθείς

στους χαρακτήρες (case sensitive). Δηλαδή, η ετικέτα <Name> δεν είναι ίδια με την ετικέτα <name>

Page 5: ΝΕΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δ.Π.Θ.xml - 5

Ανάλογα με τις απαιτήσεις των φυλλομετρητών ένα πρόγραμμα ΧΜL μπορεί να χαρακτηριστεί ως

• «σωστά διατυπωμένο» (well-formed) ή • «έγκυρο» (valid)

Ένα σωστά διατυπωμένο πρόγραμμα ΧΜL είναι ένα πρόγραμμα το οποίο είναι σύμφωνο με τη σύνταξη της ΧΜL. Δηλαδή, πρέπει να υπακούει στους ακόλουθους κανόνες της ΧΜL,

• Να έχει ένα αρχικό στοιχείο (root element)• Για κάθε στοιχείο να υπάρχει μια τελική ετικέτα • Κάθε ετικέτα να είναι ευπαθής στους χαρακτήρες• Όλα τα στοιχεία πρέπει να είναι καλώς δομημένα• Οι τιμές των ιδιοτήτων να περιέχονται σε διπλά εισαγωγικά

Ένα έγκυρο πρόγραμμα είναι ένα πρόγραμμα ΧΜL το οποίο είναι σωστά διατυπωμένο και περιέχει μια κατάλληλη δήλωση DTD (Document Type Definition) η οποία περιγράφει αναλυτικά τη δομή του προγράμματος

Page 6: ΝΕΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δ.Π.Θ.xml - 6

σωστά διατυπωμένο έγκυρο πρόγραμμα

<?xml version="1.0» encoding="ISO-8859-7"?>

<note>

<to>Περικλή

</to>

<from>Δημήτρη

</from>

<heading>Υπενθύμιση

</heading>

<body>Θυμήσου αύριο τη συνάντηση μας

</body>

</note>

<?xml version="1.0" encoding="ISO-8859-7"?>

<!DOCTYPE note SYSTEM "InternalNote.dtd">

<note>

<to>Περικλή

</to>

<from>Δημήτρη

</from>

<heading>Υπενθύμιση

</heading>

<body>Θυμήσου αύριο τη συνάντησή μας

</body>

</note>

Page 7: ΝΕΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δ.Π.Θ.xml - 7

Πρακτικές χρήσεις και εφαρμογές της XML• CDF (Channel Definition Format) Επιτρέπει τον ορισμό καναλιών. Τα κανάλια

είναι ιστοσελίδες οι οποίες προωθούνται αυτόματα σε εγγεγραμμένους συνδρομητές

• CML (Chemical Markup Language) Επιτρέπει τη μορφοποίηση χημικών τύπων • MathML (Mathematical Markup Language) Επιτρέπει τη μορφοποίηση

μαθηματικών τύπων • Μusic (Music Markup Language) Επιτρέπει τη συγγραφή μουσικής παρτιτούρας• OFX (Open Financial eXchange) Επιτρέπει την επεξεργασία και ανταλλαγή

πληροφοριών οικονομικού περιεχομένου• SMIL (Synchronized Multimedia Integration Language) Επιτρέπει την περιγραφή

παρουσιάσεων με πολυμέσα• SOAP (Simple Object Access Protocol) Επιτρέπει την επικοινωνία μεταξύ

εφαρμογών στο Διαδίκτυο. Τα αποστελλόμενα μηνύ ματα είναι ανεξάρτητα από τα λειτουργικά συστήματα, τα DOM και τις γλώσσες προγραμματισμού που χρησιμοποιούνται

• HML (theological Markup Language) Αναπαριστά πληροφορίες θεολογικού περιεχομένου

• VML (Vector Markup Language) Επιτρέπει την επεξεργασία και αποθήκευση διανυσματικών γραφικών

• XCL (XML Court Interface) Επιτρέπει την αρχειοθέτηση νομικών εγγράφων και ανταλλαγή νομικών πληροφοριών.

• XFDL (Extensible Forms Description Language). Επιτρέπει τη δημιουργία και διαχείριση φορμών στο Διαδίκτυο προσαρμοσμένων στις εμπορικές συναλλαγές. Oι φόρμες μπορεί να περιλαμβάνουν και ψηφιακές υπογραφές για να γίνουν νομικά δεσμευτικές

Page 8: ΝΕΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δ.Π.Θ.xml - 8

Ονoματοδοσία

Στην XML δεν υπάρχουν απαγορευμένα ονόματα

• Ένα νέο όνομα πρέπει να αρχίζει με κάποιο γράμμα (συμπεριλαμβανόμενων και των μη λατινικών χαρακτήρων) ή το χαρακτήρα υπογράμμισης ( _ ) και όχι με αριθμό ή κάποιο σημείο στίξης

• Μετά τον πρώτο χαρακτήρα επιτρέπονται οι αριθμοί όπως και οι χαρακτήρες μείον ( - ) και τελεία ( . )

• Ένα όνομα δεν πρέπει να περιέχει κενούς χαρακτήρες ούτε το χαρακτήρα : παρά μόνο σε ειδικές περιπτώσεις

• Ένα όνομα δεν πρέπει να αρχίζει με την έκφραση xml ούτε με κεφαλαία ούτε με μικρά γράμματα

• Δεν πρέπει να υπάρχει κενό διάστημα μετά το σύμβολο <. Αμέσως μετά, πρέπει να ακολουθεί το όνομα του στοιχείου

• Πριν από το σύμβολο > μπορεί να υπάρχει ένας κενός χαρακτήρας

Π.χ.

ΣΩΣΤΗ ΧΡΗΣΗ : <my.name>, <end>, <root>

ΛΑΝΘΑΣΜΕΝΗ ΧΡΗΣΗ : <xml-tag>, <123-name>, <my tag>

Page 9: ΝΕΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δ.Π.Θ.xml - 9

Σήμανση και περιεχόμενο

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

Υπάρχουν τέσσερα είδη σήμανσης τα οποία μπορούν να εμφανιστούν σε ένα έγγραφο XML:

• στοιχεία (element)• ιδιότητες (attribute)• αναφορές οντοτήτων (entity)• δήλωση σημείωσης (notation)

Page 10: ΝΕΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δ.Π.Θ.xml - 10

• Τα στοιχεία είναι η πιο κοινή μορφή σήμανσης. Οροθετημένα από τα σύμβολα < και > προσδιορίζουν τη φύση του περιεχομένου το οποίο περιβάλλουν

• Ιδιότητες είναι τα ζεύγη όνομα-τιμή, τα οποία εμφανίζονται μέσα στις ετικέτες μετά από το όνομα του στοιχείου.

Π.χ. η γραφή: < div class="preface" > δείχνει ότι το στοιχείο div συνοδεύεται από την ιδιότητα class

η οποία έχει τιμή το preface

• Οι οντότητες μπορούν να χρησιμοποιηθούν για πολλούς και διαφορετικούς λόγους.

Π.χ. για να αντικαταστήσουν τους χαρακτήρες οι οποίοι δεν μπορούν να πληκτρολογηθούν ή να αντικαταστήσουν το πλήρες όνομα μιας επιχείρησης. Έτσι, αν καθορίσουμε μια οντότητα με όνομα w3 για να αντιπροσωπεύει το URL του W3Cconsortium, όταν χρησιμοποιήσουμε την οντότητα w3, τότε θα αντικατασταθεί από το κείμενο http://www.w3.org/

Page 11: ΝΕΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δ.Π.Θ.xml - 11

<?xml version="1.0"?>

<!DOCTYPE message SYSTEM "/xmlstuff/dtds/message.dtd"

[ <!ENTITY client "Κύριε Καράκο">

<!ENTITY phone “<number>2541079000</number>">

]

>

<message>

<opening>Αγαπητέ &client;</opening> <body>μπορείτε να καλέσετε το&phone;

για να εξυπηρετηθείτε. &client;,

σας ευχαριστούμε πολύ.

</body>

</message>

Page 12: ΝΕΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δ.Π.Θ.xml - 12

Τμήμα CDATA

• CDATA είναι ένα αρκτικόλεξο για την έκφραση «Character data» η οποία σημαίνει «όχι σήμανση».

• Ουσιαστικά, προειδοποιείται ο αναλυτής (parser) ότι αυτό το τμήμα του εγγράφου δεν περιέχει καμία σήμανση και πρέπει να αντιμετωπιστεί ως κανονικό κείμενο

Π.χ. αν θέλουμε να εμφανίσουμε την ακόλουθη γραμμή της εντολής ενός προγράμματος γλώσσας C:

*pred = &def;

τότε, μπορούμε να σχηματίσουμε το τμήμα CDATA του προγράμματος με τον ακόλουθο τρόπο

<![CDATA[ *pred = &def;

]]>

Page 13: ΝΕΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δ.Π.Θ.xml - 13

Ορισμός τύπου εγγράφου DTD (Document Type Definition).

• Ένα πρόγραμμα XML ουσιαστικά, περιέχει ένα συγκεκριμένο πλήθος ετικετών τις οποίες ορίζει αυθαίρετα ο προγραμματιστής.

• Οι ετικέτες αυτές ορίζουν την ιεραρχία του προγράμματος

Π.χ. <?xml version="1.0" encoding="ISO-8859-1"?> <catalog> <car> <marc>Renault</marc> <model>Clio</model> </car> <car > <marc>Audi</marc> <model>A4      <type>Break      <motor>Diesel</motor>      </type> </model> </car > </catalog>

Page 14: ΝΕΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δ.Π.Θ.xml - 14

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

• Με τη δήλωση του DTD καθορίζουμε τη δομή του εγγράφου την οποία θα χρησιμοποιήσει ο φυλλομετρητής για να ελέγξει την εγκυρότητα και τη σωστή διατύπωση του προγράμματος.

• Μια δήλωση DTD δεν είναι μια απαραίτητη ανάγκη αλλά επειδή η XML συνήθως περιγράφει ηλεκτρονικές ανταλλαγές και πολλές φορές εμπορικές συναλλαγές θεωρείται σκόπιμο να υπάρχει ένα κοινό λεξιλόγιο.

• Ένα έγκυρο πρόγραμμα υποχρεωτικά περιέχει μια δήλωση DTD.

Page 15: ΝΕΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δ.Π.Θ.xml - 15

Η δήλωση ενός τύπου εγγράφου DTD έχει την εξής γενική μορφή:<!DOCTYPE Όνομα_αρχικού_στοιχείου

DTD >

Π.χ. <!DOCTYPE catalog

[ <!ELEMENT catalog (car)*>

<!ELEMENT car (marc*, model*)><!ELEMENT model (type*)><!ELEMENT type (motor*)><!ELEMENT marc(#PCDATA)><!ELEMENT motor(#PCDATA)>

] >

Page 16: ΝΕΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δ.Π.Θ.xml - 16

<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE catalog

[<!ELEMENT catalog (car)*><!ELEMENT car (marc*, model*)><!ELEMENT model (type*)><!ELEMENT type (motor*)><!ELEMENT marc(#PCDATA)><!ELEMENT motor(#PCDATA)> ] >

<catalog> <car> <marc>Renault</marc> <model>Clio</model> </car> <car > <marc>Audi</marc> <model>A4      <type>Break      <motor>Diesel</motor>      </type> </model> </car > </catalog>

Page 17: ΝΕΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δ.Π.Θ.xml - 17

Άν έχουμε αποθηκεύσει το περιεχόμενου του DTD

στο αρχείο first.dtd και στη διεύθυνση:

http://www.test.gr/first.dtd

τότε, η δήλωση τύπου του εγγράφου DTD θα πρέπει να γίνει:

<!DOCTYPE catalog SYSTEM “http://www.test.gr/first.dtd” >

Page 18: ΝΕΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δ.Π.Θ.xml - 18

Συντακτικός αναλυτής

• Οι πληροφορίες οι οποίες περιέχονται μέσα στις ετικέτες της XML εξάγονται με τη βοήθεια των συντακτικών αναλυτών (parsers) και η επεξεργασίας τους επιτυγχάνεται χάρις σε δύο API (Application Programmation Interface):

• To SAX (Simple API for XML) • To DOM (Document Object Model)

Ο συντακτικός αναλυτής υποστηρίζει όλες τις αναγκαίες διαδικασίες για να διασχίσουμε τους κόμβους της δενδροειδούς μορφής ενός προγράμματος XML.

Page 19: ΝΕΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δ.Π.Θ.xml - 19

Εμφάνιση ενός αρχείου XML

Έστω το πρόγραμμα:

<?xml version="1.0" encoding="ISO-8859-7"?>

<book>

<title>Παράδειγμα XML</title>

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

<para>Τι είναι HTML</para>

<para>Τι είναι XML</para>

</chapter>

<chapter>Η σύνταξη της XML

<para>Όλες οι ετικέτες πρέπει να εμφανίζονται σε ζεύγη</para>

<para>Πρέπει να υπάρχει αρχική και τελική ετικέτα</para>

</chapter>

</book>

Page 20: ΝΕΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δ.Π.Θ.xml - 20

Page 21: ΝΕΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δ.Π.Θ.xml - 21

Συνεπτυγμένη εμφάνιση

Page 22: ΝΕΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δ.Π.Θ.xml - 22

Ημι-συνεπτυγμένη εμφάνιση

Page 23: ΝΕΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δ.Π.Θ.xml - 23

Αν προκαλέσουμε ένα σφάλμα, π.χ. αφαιρέσουμε τη γραμμή </chapter>

Page 24: ΝΕΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δ.Π.Θ.xml - 24

• Για να είναι δυνατή η εμφάνιση του περιεχομένου του προγράμματος θα πρέπει να συνδέσουμε κάποιο φύλλο ύφους στο πρόγραμμα.

• Εάν προετοιμάσουμε ένα φύλλο ύφους και το αποθηκεύσουμε με όνομα bookcss.css στον ίδιο υποκατάλογο όπου έχουμε αποθηκεύσει το αρχείο 69.xml τότε, θα πρέπει να προσθέσουμε την ακόλουθη εντολή στο πρόγραμμα

<?xml-stylesheet type="text/css" href="bookcss.css"?>

• Η εντολή αυτή επιτρέπει στο φυλλομετρητή να μορφοποιήσει τα δεδομένα των στοιχείων του προγράμματος και να εμφανίσει το περιεχόμενο στην οθόνη.

• Τοποθετείται αμέσως μετά την πρώτη γραμμή του προγράμματος δηλαδή, μετά την εντολή δήλωσης της γλώσσας XML, και συνδέει το φύλλο ύφους με το πρόγραμμα.

Page 25: ΝΕΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δ.Π.Θ.xml - 25

• title• { font-weight:Bold;• font-size:18pt;• display:block;• margin-left:15pt• }• chapter• {• font-style:italic;• display:block• }• para• {• font-style:normal;• display:block;• margin-left:12pt • }

Page 26: ΝΕΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δ.Π.Θ.xml - 26

Μετά την εκτέλεση, στην οθόνη εμφανίζεται :

Page 27: ΝΕΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δ.Π.Θ.xml - 27

XSL και XSLT

• Ένα φύλλο ύφους CCS (Cascading Style Sheets) χρησιμοποιείται σε συνεργασία με την HTML αλλά δεν έχει τη δυνατότητα να κάνει υπολογισμούς, να τακτοποιήσει (ταξινομήσει) δεδομένα ή/και να συνδυάσει δεδομένα από διάφορες πηγές.

• Το W3C ξεκίνησε την ανάπτυξη μιας πιο πλούσιας έκδοσης φύλλων ύφους γνωστής σαν XSL (Extensible Stylesheet Language) η οποία δανείζεται ιδέες από την DSSSL (Document Style Semantics and Specification Language) και η οποία προέκυψε από τη γλώσσα SGML.

Page 28: ΝΕΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δ.Π.Θ.xml - 28

• Κατά τη διάρκεια της ανάπτυξης της XSL διαπιστώθηκε ότι οι εργασίες οι οποίες απαιτούνται για να προετοιμάσουν ένα έγγραφο XML για να εμφανιστεί σωστά, μπορούν να γίνουν σε δύο σταδία :

• α. της μεταμόρφωσης (transformation)• β. του σχηματισμού (formatting)

Μεταμόρφωση, είναι μια διαδικασία η οποία μετασχηματίζει ένα XML έγγραφο σ’ ένα άλλο.

Σχηματισμός, είναι μια διαδικασία η οποία μετατρέπει τη μεταμορφωμένη δενδροειδή δομή σε μια δισδιάστατη γραφική μορφή.

Για τον έλεγχο του πρώτου σταδίου, δηλαδή τη μεταμόρφωση, αναπτύχθηκε μια νέα γλώσσα προγραμματισμού, η XSLT (Extensible Stylesheet Language Τransformation).

Η ανάπτυξη του δεύτερου σταδίου, δηλαδή ο σχηματισμός, είναι μια υπό εξέλιξη διαδικασία.

Page 29: ΝΕΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δ.Π.Θ.xml - 29

XHTML • Η αυστηρότητα η οποία έλειπε από την HTML έχει

προστεθεί από τη γλώσσα XHTML. • Η έκδοση 1.0. της XHTML αποτέλεσε μια αναδιατύπωση της

έκδοσης 4.0 της γλώσσας HTML ως μιας εφαρμογής σε γλώσσα XML 1.0. η οποία ορίστηκε από την Κοινοπραξία του Παγκόσμιου Ιστού και πρωτοδημοσιεύτηκε στις 26 Ιανουαρίου του 2000.

• Η δεύτερη έκδοση της XHTML 1.0. δημοσιεύτηκε την 1η Αυγούστου 2002 με σκοπό να διορθωθούν κάποιες παραλήψεις οι οποίες διαπιστώθηκαν στην πρώτη δημοσίευση.

• Η XHTML αποτελεί το επόμενο μεγάλο βήμα στη διαρκή εξέλιξη του Διαδικτύου επειδή, βασίζεται στη γλώσσα XML και ταυτόχρονα αναπαράγει και επεκτείνει τη γλώσσα HTML.

• Η XHTML προορίζεται να χρησιμοποιηθεί ως γλώσσα περιεχομένου η οποία θα είναι σύμφωνη με τις γλώσσες XML και HTML.

Page 30: ΝΕΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δ.Π.Θ.xml - 30

Εκδόσεις της ΧHTML • XHTML 1.0 Transitional: (Μεταβατική) Λέγεται μεταβατική

επειδή προορίζεται για την εύκολη μετάβαση από την έκδοση HTML 3.2. Η έκδοση αυτή πρέπει να προτιμάται όταν θέλουμε η ιστοσελίδα να είναι προσπελάσιμη από όσο το δυνατόν περισσότερους χρήστες του Διαδικτύου επειδή υποστηρίζει σχεδόν όλες τις ετικέτες της XHTML ακόμη και αυτές οι οποίες είναι προς διαγραφή.

• XHTML 1.0 Strict: (Αυστηρή) Λέγεται αυστηρή επειδή διαχωρίζει το περιεχόμενο από τον τρόπο εμφάνισης. Προορίζεται για την ανάπτυξη ιστοσελίδων οι οποίες απαιτούν την ικανοποίηση ειδικών προδιαγραφών π.χ. των προδιαγραφών οι οποίες καθορίζονται από δημόσιους φορείς και υπηρεσίες.

• XHTML 1.0 Frameset: (Πλαισιοσύνολο) Η έκδοση αυτή θα πρέπει να χρησιμοποιείται όταν γίνεται χρήση πλαισίων σε μια ιστοσελίδα.

Page 31: ΝΕΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δ.Π.Θ.xml - 31

παράδειγμα προγράμματος σε XHTML

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"

xml:lang="el" lang="el">

<head>

<title>Νέα διεύθυνση</title>

</head>

<body>

<p>Η νέα σελίδα του εργαστηρίου μας βρίσκεται πλέον στη διεύθυνση <a href="http://lab.com/">lab.com</a>

</p>

</body>

</html>

Page 32: ΝΕΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δ.Π.Θ.xml - 32

Το αποτέλεσμα της εκτέλεσης

Page 33: ΝΕΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δ.Π.Θ.xml - 33

Επικύρωση του κώδικα της XHTML Ένα πρόγραμμα (κώδικας) XHTML όταν προσαρμόζει τις

προδιαγραφές της XHTML λέγεται ότι είναι έγκυρο (valid). Αν όλοι οι φυλλομετρητές ακολουθούσαν πιστά τα πρότυπα τότε και τα έγκυρα προγράμματα θα έδιναν ακριβώς τα ίδια αποτελέσματα σε κάθε φυλλομετρητή και σε κάθε πλατφόρμα εργασίας

• Η επικύρωση (validation) μπορεί να υλοποιηθεί εύκολα από την ειδική υπηρεσία του W3C στη διεύθυνση:

http://validator.w3.org/

Όταν μια ιστοσελίδα είναι επικυρωμένη από το W3C τότε, η υπηρεσία επικύρωσης επιστρέφει μια εικόνα, η οποία προς το παρόν είναι η ακόλουθη:

Page 34: ΝΕΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δ.Π.Θ.xml - 34

Σύγκριση XHTML και HTML 4

1. Τα ονόματα όλων των ετικετών και των ιδιοτήτων στην XHTML πρέπει να συντάσσονται υποχρεωτικά μόνο με πεζά γράμματα

2. Επειδή η γλώσσα XML δεν επιτρέπει να απουσιάζουν οι ετικέτες τέλους γι αυτό το λόγο και στην XHTML απαιτούνται οι ετικέτες τέλους ακόμη και για τα κενά διαστήματα

3. Στην ΧHTML όλες οι τιμές των ιδιοτήτων πρέπει να τοποθετούνται ανάμεσα σε διπλά εισαγωγικά (quote), ακόμη και εκείνες οι οποίες είναι αριθμητικές.

4. Στην ΧHTML τα ζευγάρια ιδιότητα-τιμή πρέπει να εμφανίζονται πλήρως

5. Στην XHTML θεωρούνται απαραίτητα και πρέπει πάντα να εμφανίζονται τα τρία βασικά στοιχεία <html>, <head> και <body>. Το ίδιο πρέπει να συμβεί και για τον τύπο εγγράφου DOCTYPE

Page 35: ΝΕΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δ.Π.Θ.xml - 35

DHTML

• Η έκφραση DHTML σημαίνει Dynamic HTML. Σύμφωνα με την εγκυκλοπαίδεια του Διαδικτύου Wikipedia, Dynamic HTML ή DHTML είναι μια μέθοδος δημιουργίας διαλογικών ιστοσελίδων για το Διαδίκτυο με τη χρησιμοποίηση ενός συνδυασμού από στατικές γλώσσες σήμανσης (όπως η HTML), από scripting γλώσσες προγραμματισμού (όπως η JavaScript), από τον καθορισμό της παρουσίασης (π.χ CSS), και τέλος, από πρότυπα αντικείμενα εγγράφων (DOM)

• Πιο απλά, DHTML είναι η αλλαγή των δηλώσεων του ύφους της HTML με τη βοήθεια της JavaScript έτσι ώστε να προκύπτει η σχέση:

DHTML = HTML + CSS + JavaScript

Page 36: ΝΕΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δ.Π.Θ.xml - 36

Web 2.0.Tο Web 2.0. θα βλέπει το Διαδίκτυο σαν πλατφόρμα εργασίας• Κύριοι εκπρόσωποι του Web 2.0 είναι οι εταιρείες οι οποίες

προσφέρουν στοχευόμενη διαφήμιση και οι εταιρείες οι οποίες παρέχουν στους χρήστες τη δυνατότητα να τις χρησιμοποιήσουν σαν πλατφόρμα για τις δικές τους συναλλαγές στο Διαδίκτυο.

• Σ’ αυτή τη λογική κινούνται και πολλές άλλες προσπάθειες όπως η ανοικτή εγκυκλοπαίδεια Wikipedia, η οποία εφαρμόζει τη συλλογική νοημοσύνη και επιτρέπει στους χρήστες του Διαδικτύου να την εμπλουτίσουν εθελοντικά (http://en.wikipedia.org/wiki/Main_Page) καθώς και η διαχείριση και αναζήτηση φωτογραφιών όπου οι χρήστες με το πρόγραμμα Flickr (http://www.flickr.com) ενθαρρύνονται για βέλτιστη κοινωνική συμπεριφορά ανεβάζοντας και κοινοποιώντας προσωπικές ή μη φωτογραφίες.

• Όλες οι υπηρεσίες οι οποίες και χαρακτηρίζουν το Web 2.0 δεν βασίζονται σε νέες τεχνολογίες ή νέα πρωτόκολλα αλλά σε τεχνικές και γλώσσες προγραμματισμού οι οποίες έχουν ήδη δοκιμαστεί και παράλληλα συνεχίζουν να εξελίσσονται.

Page 37: ΝΕΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δ.Π.Θ.xml - 37

AJAX

Ajax : (Asynchronous Javascript And Xml)

Τεχνική η οποία προτάθηκε από τον Jesse James Garrett το Φεβρουάριο του 2005 για την ανάπτυξη βέλτιστων εφαρμογών στο διαδίκτυο.

Page 38: ΝΕΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δ.Π.Θ.xml - 38

Page 39: ΝΕΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δ.Π.Θ.xml - 39

Page 40: ΝΕΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δ.Π.Θ.xml - 40

Σημασιολογικό ΔιαδίκτυοTο επόμενο μεγάλο βήμα εξέλιξης στο Διαδίκτυο αποτελεί το

Σημασιολογικό Διαδίκτυο (Semantic Web).

Το σημασιολογικό Διαδίκτυο προκύπτει από την εκρηκτική ανάπτυξη του παγκόσμιου ιστού και των προβλημάτων πληροφοριακής υπερφόρτισης.

H παγκόσμια ερευνητική κοινότητα τα τελευταία χρόνια κινείται δραστήρια προς την κατεύθυνση της νέας μορφής του Διαδικτύου όπου θα υπάρχει σαφής αναπαράσταση του νοήματος των πληροφοριών και των εγγράφων επιτρέποντας την αυτόματη επεξεργασία τους.

Το σημασιολογικό Διαδίκτυο θα επιτρέπει την ενοποίηση των διαδικτυακών πόρων με τη βοήθεια ειδικών προγραμμάτων γνωστών ως πρακτόρων (agents) .

Οι πράκτορες θα προβαίνουν στο γρήγορο και ακριβή εντοπισμό των πληροφοριών στον παγκόσμιο ιστό και θα διευκολύνουν την επικοινωνία μεταξύ της μεγάλης πληθώρας των ετερογενών ηλεκτρονικών συσκευών οι οποίες κατακλύζουν την αγορά και διαθέτουν πρόσβαση στο Διαδίκτυο.