• Nenhum resultado encontrado

Δημιουργία προφίλ χρηστών (User profiles) για τους εγγεγραμμένους χρήστες του ιστοχώρου του Τ.Ε.Ι. Καβάλας και έκφραση πολιτικών ελέγχου πρόσβασης με χρήση XML

N/A
N/A
Protected

Academic year: 2023

Share "Δημιουργία προφίλ χρηστών (User profiles) για τους εγγεγραμμένους χρήστες του ιστοχώρου του Τ.Ε.Ι. Καβάλας και έκφραση πολιτικών ελέγχου πρόσβασης με χρήση XML"

Copied!
173
0
0

Texto

(1)

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

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α

ΘΕΜΑ:

« ΔΗΜΙΟΥΡΓΙΑ ΠΡΟΦΙΛ ΧΡΗΣΤΩΝ (USER PROFILES) ΓΙΑ ΤΟΥΣ ΕΓΓΕΓΡΑΜΜΕΝΟΥΣ ΧΡΗΣΤΕΣ ΤΟΥ ΙΣΤΟΧΩΡΟΥ ΤΟΥ Τ.Ε.Ι. ΚΑΒΑΛΑΣ ΚΑΙ

ΕΚΦΡΑΣΗ ΠΟΛΙΤΙΚΩΝ ΕΛΕΓΧΟΥ ΠΡΟΣΒΑΣΗΣ ΜΕ ΧΡΗΣΗ .XML . »

ΣΥΝΤΑΚΤΗΣ – ΣΠΟΥΔΑΣΤΗΣ : ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΡΙΑ : ΔΙΟΝΥΣΙΟΣ ΑΡΓΥΡΟΣ ΚΩΝΣΤΑΝΤΙΝΑ ΣΤΟΥΠΑ

ΚΑΒΑΛΑ

04 Δεκεμβρίου 2005

(2)

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΑΡΓΥΡΟΥ ΔΙΟΝΥΣΙΟΥ

ΜΕ ΘΕΜΑ

«ΔΗΜΙΟΥΡΓΙΑ ΠΡΟΦΙΛ ΧΡΗΣΤΩΝ (USER PROFILES) ΓΙΑ ΤΟΥΣ ΕΓΓΕΓΡΑΜΜΕΝΟΥΣ ΧΡΗΣΤΕΣ ΤΟΥ ΙΣΤΟΧΩΡΟΥ ΤΟΥ Τ.Ε.Ι. ΚΑΒΑΛΑΣ ΚΑΙ

ΕΚΦΡΑΣΗ ΠΟΛΙΤΙΚΩΝ ΕΛΕΓΧΟΥ ΠΡΟΣΒΑΣΗΣ ΜΕ ΧΡΗΣΗ .XML .»

(3)

Π Ε Ρ Ι Ε Χ Ο Μ Ε Ν Α

Ε Ι Σ Α Γ Ω Γ Η………...8

ΚΕΦΑΛΑΙΟ 1ο E x t e n s i b l e M a r k u p L a n g u a g e (XML)

1.1. Εισαγωγικά……….………....……13

1.2. Προέλευση και στόχοι (Origin and goals) ………17

1.3. Τι είναι η XML; ………..…….……….…17

1.4. Ανάλυση της ονομασίας της XML. ……….………18

1.5. Η κύρια διαφορά μεταξύ XML και HTML ………19

1.6. Η XML σε 10 σημεία……….………..20

1.6.1. H XML είναι μία γλώσσα για τη δόμηση δεδομένων………….20

1.6.2. Η XML θυμίζει λίγο την HTML……….20

1.6.3. Η XML είναι κείμενο αλλά δεν προορίζεται για ανάγνωση……….21

1.6.4. Η XML είναι "φλύαρη" γλώσσα……….21

(4)

1.6.5. Η XML συνδυάζει διαφορετικές τεχνολογίες……….22

1.6.6. Η XML είναι καινούρια όχι, όμως, εντελώς καινούρια………22

1.6.7. Η XML οδηγεί την HTML σε XHTML………..23

1.6.8. Η XML επιδέχεται συνδυασμό διαφορετικών μορφών………23

1.6.9. Η XML αποτελεί τη βάση του RDF και του Σημασιολογικού Ιστού………23

1.6.10. Η XML δεν χρειάζεται άδεια χρήσης, λειτουργεί ανεξαρτήτως συστήματος υλικού και τυγχάνει ευρείας υποστήριξης………24

1.7. Γιατί χρειαζόμαστε την XML; ……….25

1.8. Μερικά πράγματα που πρέπει να γνωρίζουμε για την XML……….27

1.8.1. Η XML δεν κάνει τα πάντα….………..…..27

1.8.2. Η XML είναι ελεύθερη και επεκτάσιμη. ………28

1.8.3. Η XML είναι ένα συμπλήρωμα της HTML. ………....28

1.8.4. Η XML στη μελλοντική ανάπτυξη του Ιστού. ………..28

1.9. DTD και διάταξη XML. ……….29

1.10. DTD………30

1.11. PHP ………..31

1.11.1. Τι είναι PHP; ……….31

1.11.2. Τι είναι ένα PHP αρχείο; ……….32

1.11.3. Γιατί PHP; ………32

1.12. Τι είναι η MySQL; ……….………32

(5)

ΚΕΦΑΛΑΙΟ 2ο U s e r p r o f i l e

2.1. Εισαγωγή……….……33

2.2. Προφίλ Χρήστη – user profile……….……33

2.3. Χρήστης – user……….….……33

2.4. Ορισμένο προφίλ χρήστη. ……….36

2.5. Τύποι Προφίλ Χρηστών……….37

2.5.1. Τοπικό προφίλ (Local Profile). ………..37

2.5.2. Κινητό - Περιπλανώμενο Προφίλ (Roaming Profile)……….37

2.5.3. Υποχρεωτικό προφίλ (Mandatory Profile)……….38

2.6. Οι επιφάνειες διεπαφής. ……….………38

2.7. Χρησιμότητα επιφάνειας διεπαφής. ………..…38

2.7.1 Τύποι……….………39

2.7.1.1. User interfaces που είναι κοινά σε διάφορους τομείς εκτός των υπολογιστών γραφείου:……….39

2.7.1.2. Άλλοι τύποι user interfaces……….40

2.7.2 Η ιστορία………41

2.7.3 Μορφές και τρόποι (Modalities and modes)………41

(6)

2.8. Οι πράκτορες διασύνδεσης και πληροφοριών

(Interface - Info Agents) ………42

2.9. Το user profile στο web………44

ΚΕΦΑΛΑΙΟ 3ο A c c e s s C o n t r o l

3.1. Τι σημαίνει Access Control και Authentication (επικύρωση);………...45

3.2. Νέος όρος………..………….46

3.3. Τύποι ελέγχων πρόσβασης……….48

3.4. Πόσο ασφαλές είναι; ……….………50

3.5. Πώς ο λειτουργεί o έλεγχος πρόσβασης……….…51

3.5.1. περίληψη της διαδικασίας…..………..……52

3.5.2. Περιορισμοί πρόσβασης διευθύνσεων IP………53

3.5.3. Άδειες κεντρικών υπολογιστών δικτύου-Web Server Permissions…54 3.5.4. Τι περιλαμβάνουν τα επίπεδα άδειας Ιστού ………55

3.6. Περιγραφή σχεδίου και εφαρμογής ενός επεξεργαστή ελέγχου πρόσβασης για τα έγγραφα XML………56

3.6.1. Περίληψη……….………….….…56

3.6.2. Εισαγωγή………..…….………56

3.6.3. Προδιαγραφή έγκρισης………..……….…61

(7)

3.6.3.1. Βασισμένες στη συλλογή εναντίον βασισμένων στην

περίπτωση εγκρίσεων……….61

3.6.3.2. Eγκρίσεις oοργανώσεων ευρείας κλίμακας εναντίον εγκρίσεις συγκεκριμένων sites. ……….……..…62

3.6.3.3. Έγγραφες εγκρίσεις εναντίον των εγκρίσεων στοιχείων/χαρακτηριστικών……….…….63

3.6.3.4. Υποστήριξη εξαίρεσης (άδειες και αρνήσεις)……….63

3.6.3.5. Σκληρές και μαλακές δηλώσεις (που αποκλείουν τις εξαιρέσεις και που γεμίζουν τα κενά)……….64

3.6.4. Εγκρίσεις……….……….65

3.6.4.1. Προσδιορισμός των αντικειμένων έγκρισης μέσω των εκφράσεων πορείας………...………69

3.6.4.2. Προσδιορίζοντας θέματα έγκρισης……….….71

3.6.4.3. Επιβολή έγκρισης……….……….72

3.7. Οδηγίες σχεδίου και υλοποίησης – εφαρμογής. ……….…76

3.7.1. Εσωτερικό μοντέλο στοιχείων – δεδομένων. ………..……….…78

3.8. Φάσεις εκτέλεσης. ……….……….79

Parsing Tree labeling Transformation Unparsing 3.9. Απόδοση και εναποθήκευση……….……..……….81

3.10. Σχετικό παράδειγμα……….………...82

3.11. Ο ρόλος της κρυπτογράφησης……….83

(8)

3.12. XML/XSL επεξεργασία, από την μεριά των κεντρικών υπολογιστών..….84

Ένα παράδειγμα………..………84

3.13. Οργάνωση στοιχείων: DTD και έγγραφα………..….………..…….85

3.13.1. Προδιαγραφές έγκρισης. ……….……….….89

3.13.2. Πολιτική οργάνωσης……….89

3.13.3. Μορφή εγγράφων………..91

3.13.4. Συμπεράσματα παραδείγματος……..……….93

3.14. Κανόνες ελέγχου πρόσβασης………..94

3.14.1. Δείγμα ελέγχου πρόσβασης………94

lists – variables - tag syntaxes………..95

Παράρτημα - Γλωσσάρι………….………..……102

Βιβλιογραφία………106

(9)

Ε Ι Σ Α Γ Ω Γ Η

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

Ο Thomas Powers γράφει, «αυτό το περιβάλλον, στο οποίο αναγκαζόμαστε να προσαρμοζόμαστε στην τεχνολογία αντί της τεχνολογίας να προσαρμόζεται σε μας, σημαίνει ότι οι εφαρμογές, οι ιστοχώροι, και οι συσκευές περιορίζονται σε αυτό που μπορούν να κάνουν για μας.»1 και μας υπομένουν ακόμα, θα προσέθετα εγώ…

Τα παραπάνω αποτελούν φυσικά κομμάτι των Υπηρεσιών Ιστού (ή του Διαδικτύου), των λεγόμενων web services, αλλά στ’ αλήθεια, τι σημαίνει ο όρος αυτός;

Τι είναι οι Υπηρεσίες Ιστού ;

Ο όρος υπηρεσίες Ιστού διαφαίνεται πολύ τον τελευταίο καιρό, υπάρχει το W3C εργαστήριο σε υπηρεσίες Ιστού, και οι μεγάλοι φορείς βιομηχανίας όπως η ΙΒΜ, η Microsoft και η Sun που έχουν αναγγείλει τις στρατηγικές υπηρεσιών Ιστού.

Στο παρακάτω άρθρο θα χρησιμοποιήσουμε έναν καθορισμό των υπηρεσιών Ιστού που πάρθηκε από ένα σεμινάριο υπηρεσιών Ιστού της ΙΒΜ :

Οι υπηρεσίες Ιστού είναι μια νέα φυλή εφαρμογών Ιστού. Περιγράφονται από μόνες τους, είναι ανεξάρτητες και αρθρωτές (αποτελούνται από υπο- κομμάτια) εφαρμογές που μπορούν να δημοσιευθούν, να βρεθούν, και να επικαλεσθούν πέρα από τον Ιστό.

1 http://www.meryl.net/blog/archives/000199.php

(10)

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

Με άλλα λόγια, είναι διαλειτουργικές δομικές μονάδες για την κατασκευή εφαρμογών. Για παράδειγμα, μπορούμε να φανταστούμε μια διανεμημένη ψηφιακή υποδομή βιβλιοθήκης που στηρίζεται στις υπηρεσίες Ιστού και παρέχει λειτουργίες όπως η διανεμημένη αναζήτηση, η επικύρωση, εσωτερικά αιτήματα δανεισμού, μεταφράσεις εγγράφων και πληρωμή.

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

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

Οι υπηρεσίες Ιστού είναι επομένως μια βασική τεχνολογία στη διευκόλυνση των επιχειρησιακών προτύπων για να κινηθούν από B2C (επιχείρηση στον καταναλωτή) προς B2B (επιχείρηση στην επιχείρηση).

Οι απαιτήσεις ασφάλειας για τις υπηρεσίες Ιστού υπαγορεύονται από τα περιβάλλοντα εμπιστοσύνης, είτε είναι ενδοδίκτυο ή B2B ή B2C, κ.λπ.

Για B2B χρειάζεται όχι μόνο αξιοπιστία αλλά και υπευθυνότητα.

Η αρχιτεκτονική των υπηρεσιών Ιστού είναι το πεδίο της W3C Ομάδας Αρχιτεκτονικής Εργασίας Υπηρεσιών Ιστού. 2

2 Article Title: "An Introduction to Web Services

Author: Tracy Gardner Publ. Date: 02/10/2001 Publication: Ariadne Issue 29 Originating URL: http://www.ariadne.ac.uk/issue29/gardner/intro.html

(11)

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

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

Το κύριο πλεονέκτημα των υπηρεσιών Ιστού είναι ότι είναι βασισμένες στα πρότυπα βιομηχανίας. Οι υπηρεσίες περιγράφονται σε XML και επικοινωνούν πέρα από την υπάρχουσα υποδομή HTTP. Η ένωση XML και HTTP διαμορφώνει ένα από τα νέα τσιτάτα της βιομηχανίας:

« Απλό πρωτόκολλο πρόσβασης αντικειμένου (Simple Object Access Protocol (SOAP)) ».3

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

Το 2001-2002, οι υπηρεσίες Ιστού υπήρξαν ένα τσιτάτο χρησιμοποιούμενο επανειλημμένα και που θεωρούταν ότι είναι μια από τις πιο ¨καυτές¨ νέες τεχνολογίες.4

3 http://www.webreference.com/js/column96

4 http://www.w3.org/DesignIssues/WebServices.html

(12)

Πιστοποίηση για Υπηρεσίες Διαδικτύου.

Θεωρούμε την επικύρωση της υπηρεσίας Ιστού όπως την πόρτα στο σπίτι μας. Πρέπει να είναι αρκετά ανοιχτή για να επιτρέψει στους ανθρώπους να μπουν μέσα, αλλά μόνο εάν έχουν χτυπήσει πρώτα.

Απομακρυνόμενοι από τις καρτεσιανές αναλογίες, η επικύρωση είναι η διαδικασία όπου το πρόσωπο που ζητά να χρησιμοποιήσει την υπηρεσία Ιστού είναι πραγματικά το πρόσωπο που υποστηρίζει ότι είναι.

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

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

Γιατί ο Ιστός χρειάζεται την ταυτότητα; Ο Ιστός αρχικά σχεδιάστηκε για ανοικτή πρόσβαση στα έγγραφα κειμένων. Το HTTP αναπτύχθηκε ως άνευ υπηκοότητας τεχνολογία. Από τότε, ο Ιστός έχει γίνει πιο περίπλοκος με ιδέες για προσαρμογή και εξατομίκευση, επίσης, με γνώση για το με ποιους απασχολείται κάποιος, και με διαχείριση φήμης.

Οι προκλήσεις περιλαμβάνουν μυστικότητα (ποιος καταφέρνει να δει ή να χρησιμοποιήσει πληροφορίες) καταλήγοντας με πολλούς κωδικούς σε ξεχωριστούς λογαριασμούς. 6

5 http://www.developerfusion.co.uk/show/3451 Introduction by Bruce Johnson on Web Services

6 http://swiki.dlese.org/nsdl2003/33.print

(13)

Web Services Περιγραμματικά.

Τι είναι υπηρεσίες Ιστού;

• Οι υπηρεσίες Ιστού είναι τμήματα εφαρμογής.

• Οι υπηρεσίες Ιστού επικοινωνούν τη χρησιμοποίηση των ανοικτών πρωτοκόλλων.

• Οι υπηρεσίες Ιστού είναι ανεξάρτητες και περιγράφονται από μόνες τους.

• Οι υπηρεσίες Ιστού μπορούν να ανακαλυφθούν χρησιμοποιώντας UDDI.

• Οι υπηρεσίες Ιστού μπορούν να χρησιμοποιηθούν από άλλες εφαρμογές XML.

Πώς λειτουργούν;

• Η βασική πλατφόρμα υπηρεσιών Ιστού είναι η XML συν το HTTP.

• Το πρωτόκολλο HTTP είναι το χρησιμοποιημένο πρωτόκολλο Διαδικτύου.

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

Στοιχεία πλατφόρμων υπηρεσιών Ιστού

SOAP (Simple Object Access Protocol) : απλό πρωτόκολλο πρόσβασης αντικειμένου.

UDDI (Universal Description, Discovery and Integration) : καθολική περιγραφή, ανακάλυψη και ολοκλήρωση.

WSDL (Web Services Description Language) : γλώσσα περιγραφής υπηρεσιών Ιστού. 7

7 http://www.w3schools.com/webservices/ws_intro.asp

(14)

Κ ΕΦΑΛΑΙΟ 1

Extensible Markup Language (XML)

1.1. Εισαγωγικά

Σε ένα κόσμο όπου οι πληροφορίες παρέχονται μέσω του παγκόσμιου διαδικτύου, τα έγγραφα πρέπει να είναι ευκόλως προσβάσιμα, μεταφέρσιμα και ευέλικτα. Πρέπει επίσης να είναι ανεξάρτητα οποιουδήποτε συστήματος και περιεχομένου. Οι γενικευμένες γλώσσες έχουν τέτοια χαρακτηριστικά , παρέχοντας στα έγγραφα αυτά μια δυνατότητα η οποία δεν υπάρχει σε άλλες γλώσσες περιγραφής εγγράφων. Η HTML είναι προβληματική και περιοριστική γλώσσα. Η XML έλυσε πολλά από τα προβλήματα που αντιμετώπισαν οι σχεδιαστές του web και είναι υπεύθυνη για την XHTML, μια ανασχεδιασμένη HTML. Θα χρησιμοποιείται για πολλά χρόνια επειδή προσφέρει αποτελεσματικές και δυναμικές πολυμεσικές λύσεις.

Αν ποτέ υπάρξει ένας υποψήφιος για «την πιο αναπτυσσόμενη τεχνολογία»

κατά τη διάρκεια της πρόσφατης δεκαετίας του '90 και της τρέχουσας δεκαετίας, θα είναι η XML (αν και η Java θα ήταν στενός υποψήφιος για τον τίτλο). Η αναπτυσσόμενη αυτή γλώσσα σχεδιάστηκε να ικανοποιήσει πολλές ανάγκες δίνοντας στα έγγραφα ένα μεγαλύτερο επίπεδο προσαρμοστικότητας στο στυλ και τη δομή από αυτό που υπήρχε παλαιότερα στην HTML. Η XML προσφέρει στους σχεδιαστές της HTML τη δυνατότητα να προσθέτουν περισσότερα στοιχεία στη γλώσσα. Δεν αναφέρεται μονάχα στους σχεδιαστές του web αλλά σε οποιονδήποτε ασχολείται με εκδόσεις.

(15)

Στην πραγματικότητα, η XML είναι markup γλώσσα για έγγραφα που περιέχουν δομημένες πληροφορίες. Markup γλώσσα είναι ένας μηχανισμός που καθορίζει δομές σε ένα έγγραφο. Oι δομημένες πληροφορίες περιλαμβάνουν περιεχόμενο και κάποιες διευκρινίσεις για το ρόλο που παίζει το περιεχόμενο. Σχεδόν όλα τα έγγραφα έχουν την ίδια δομή (σχήμα 1.1.).

Σχήμα 1.1. : Η λογική δομή ενός XML εγγράφου.

Η XML είναι κάτι περισσότερο από markup language είναι metalanguage, δηλαδή μια γλώσσα που χρησιμοποιείται για να καθορίσει νέες markup γλώσσες. Η XML συμπληρώνει και δεν αντικαθιστά την HTML. Ενώ η HTML χρησιμοποιείται στη διατύπωση και την εμφάνιση των δεδομένων η XML αναπαριστά τη συναφή έννοια των δεδομένων.

(16)

Στην HTML τα tags είναι προκαθορισμένα ενώ η XML παρέχει τη δυνατότητα να καθορίζουν οι χρήστες τα tags και τις δομημένες μεταξύ τους σχέσεις.

Τα XML έγγραφα δεν είναι πολύπλοκα αλλά απλά και πολύ αποτελεσματικά.

Το διδακτικό υλικό της well-formed XML αναλύει τη δημιουργία των XML εγγράφων, η οποία είναι κατά κάποιο τρόπο ίδια με την HTML καθώς επιτρέπει τη μη δομημένη δημιουργία εγγράφου. Η valid XML είναι πιο σύνθετη. Απαιτεί την ύπαρξη ενός Document Type Definition πριν να γραφεί το έγγραφο αλλά παρέχει μια γενική δομή με βάση την οποία τη δημιουργούμε.

Η γλώσσα προγραμματισμού XML περιγράφει μια κατηγορία πληροφοριών (data objects) που καλούνται XML έγγραφα (documents) καθώς επίσης περιγράφει τμηματικά τη συμπεριφορά των προγραμμάτων που τα επεξεργάζονται.

Τα XML έγγραφα αποτελούνται από μονάδες αποθήκευσης που καλούνται entities (οντότητες), οι οποίες περιέχουν πληροφορίες αναλυμένες ή μη. Οι αναλυμένες πληροφορίες αποτελούνται από χαρακτήρες (characters) οι οποίοι συνθέτουν character data και άλλοι οι οποίοι συνθέτουν markup. Η μορφή markup κωδικοποιεί την περιγραφή της τελικής αποθήκευσης του εγγράφου καθώς και τη λογική δομή.

Ένα λογισμικό μοντέλο που καλείται επεξεργαστής XML χρησιμοποιείται να διαβάζει XML έγγραφα και παρέχει πρόσβαση στο περιεχόμενο και τη δομή τους. Υποτίθεται ότι ο επεξεργαστής XML λειτουργεί εκ μέρους ενός άλλου μοντέλου που καλείται application (εφαρμογή). Αυτή η προδιαγραφή περιγράφει την απαιτούμενη συμπεριφορά του επεξεργαστή και συγκεκριμένα πως θα πρέπει να διαβάζει τα XML δεδομένα και ποιες πληροφορίες πρέπει να παρέχει στην εφαρμογή.

(17)

Σχήμα 1.2. : Πώς παρουσιάζεται ένα αρχείο XML στον Internet Explorer

(18)

1.2. Τι είναι η XML;

Η XML σχεδιάστηκε με σκοπό να περιγράψει τα στοιχεία και να εστιάσει στο τι είναι.

Η HTML σχεδιάστηκε στο να επιδεικνύει στοιχεία και στο να εστιάζει στο πώς αυτά παρουσιάζονται.

• Η ονομασία προέρχεται από το EXtensible Markup Language

• Η XML είναι μια γλώσσα παρόμοια με την HTML.

• Η XML είχε ως σκοπό να περιγράψει στοιχεία

• Οι ετικέτες XML δεν προκαθορίζονται. Πρέπει να καθορίσουμε τις ετικέτες.

• Η XML χρησιμοποιεί έναν καθορισμένο τύπων εγγράφων (DTD) ή μια διάταξη XML για να περιγράψει τα στοιχεία – δεδομένα.

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

1.3. Η κύρια διαφορά μεταξύ XML και HTML

Η XML είχε ως σκοπό να μεταφέρει στοιχεία - δεδομένα.

Η XML δεν είναι μια αντικατάσταση για την HTML.

Μαζί με την HTML σχεδιάστηκαν για διαφορετικούς σκοπούς:

Η XML είχε ως σκοπό να περιγράψει στοιχεία και να εστιάσει στο τι είναι στοιχείο.

Η HTML σχεδιάστηκε στο να επιδεικνύει στοιχεία και να εστιάζει στο τρόπο με τον οποίο εμφανίζονται.

Η HTML είναι για την επίδειξη των πληροφοριών, ενώ XML είναι για την περιγραφή των πληροφοριών.

(19)

1.4. Ανάλυση της ονομασίας της XML.

Extensible

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

Markup

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

Εντούτοις, η XML μας επιτρέπει να καθορίσουμε το σύνολο των ετικετών μας.

Language

Γλώσσα. Η XML είναι μια γλώσσα που είναι πολύ όμοια με την HTML. Είναι πιο ευέλικτη από την HTML επειδή μας επιτρέπει να δημιουργήσουμε τις δικές μας ετικέτες. Εντούτοις, είναι σημαντικό να συνειδητοποιηθεί ότι η XML δεν είναι μόνο μια γλώσσα, η XML είναι μια μεταγλώσσα (meta-language), μια γλώσσα που μας επιτρέπει να δημιουργήσουμε ή να καθορίσουμε άλλες γλώσσες.

Παραδείγματος χάριν, με την XML μπορούμε να δημιουργήσουμε άλλες γλώσσες, όπως RSS, MathML (μια μαθηματική γλώσσα σήμανσης), και ακόμη και εργαλεία όπως XSLT 8.

8 http://www.sitepoint.com/article/really-good-introduction-xml

(20)

1.5. Προέλευση και στόχοι (Origin and goals)

Η γλώσσα XML αναπτύχθηκε από μια Ομάδα Εργασίας της XML κάτω από την καλή κηδεμονία του διεθνούς οργανισμού World Wide Web Consortium (W3C) το 1996. Εδραιώθηκε από τον John Bosak της Sun Microsystems με την

ενεργή συμμετοχή μιας XML Ομάδας Ειδικού Ενδιαφέροντος (που οργανώθηκε από τον οργανισμό W3C).

Οι προσχεδιασμένοι στόχοι της XML είναι:

1. Πρέπει να είναι εύχρηστη στο Internet.

2. Πρέπει να υποστηρίζει μεγάλη ποικιλία από εφαρμογές.

3. Πρέπει να είναι συμβατή με την SGML.

4. Να είναι εύκολο να γράφονται προγράμματα που επεξεργάζονται XML έγγραφα.

5. Ο αριθμός των προαιρετικών χαρακτηριστικών στην XML να είναι όσο το δυνατόν πιο μικρός, ιδανικό επίπεδο το μηδέν.

6. Τα XML έγγραφα θα πρέπει να είναι ευανάγνωστα.

7. Ο σχεδιασμός XML θα πρέπει να προετοιμάζεται γρήγορα.

8. Ο σχεδιασμός XML θα πρέπει να είναι τυπικός και περιεκτικός.

9. Τα XML έγγραφα θα πρέπει να δημιουργούνται εύκολα.

10. Η περιεκτικότητα στον XML συμβολισμό είναι μικρής σημασίας. 9

9 http://www.it.uom.gr/project/xml/Home%20Page.htm

(21)

1.6. Η XML σε 10 σημεία

1.6.1. H XML είναι μία γλώσσα για τη δόμηση δεδομένων

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

1.6.2. Η XML θυμίζει λίγο την HTML

Η XML, όπως η HTML, χρησιμοποιεί ετικέτες (tags) (λέξεις μέσα σε γωνιακές αγκύλες '<' και '>') και γνωρίσματα (τύπου όνομα = "τιμή"). Σε αντίθεση με την HTML η οποία διευκρινίζει τη σημασία κάθε ετικέτας και γνωρίσματος και συχνά προσδιορίζει πως θα εμφανίζεται σε φυλλομετρητή το κείμενο το οποίο περιλαμβάνεται σε αυτά, η XML χρησιμοποιεί ετικέτες μόνο για να οριοθετήσει κομμάτια δεδομένων και αφήνει την ερμηνεία των δεδομένων στη εφαρμογή που τα διαβάζει. Εν ολίγοις, εάν δείτε "<p>" σε αρχείο XML, μην βιαστείτε να συμπεράνετε ότι είναι παράγραφος (p = paragraph). Ανάλογα με το κείμενο, ενδέχεται να είναι τιμή (p = price), παράμετρος (p = parameter), πρόσωπο (p = person), το γράμμα π (p = a p) ή ακόμα και κάτι που δεν αρχίζει καν από π (p)!

(22)

1.6.3. Η XML είναι κείμενο αλλά δεν προορίζεται για ανάγνωση

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

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

1.6.4. Η XML είναι "φλύαρη" γλώσσα

Η XML εμφανίζεται υπό μορφή κειμένου και χρησιμοποιεί ετικέτες για την οριοθέτηση των δεδομένων και για τον λόγο αυτό τα αρχεία XML είναι σχεδόν πάντα μεγαλύτερα σε έκταση από συγκρίσιμα αρχεία σε δυαδική μορφή. Πρόκειται για συνειδητή επιλογή των σχεδιαστών της XML. Τα πλεονεκτήματα ενός αρχείου υπό μορφή κειμένου είναι ολοφάνερα (δείτε χαρακτηριστικό 3) και τα μειονεκτήματα αντισταθμίζονται συνήθως σε άλλο επίπεδο. Η χωρητικότητα του σκληρού δίσκου δεν είναι τόσο ακριβή όσο παλαιότερα και προγράμματα όπως το zip και το gzip μπορούν να συμπιέσουν αρχεία αποτελεσματικά και γρήγορα. Επιπρόσθετα, πρωτόκολλα επικοινωνίας όπως τα πρωτόκολλα μόντεμ και το HTTP/1.1, το οποίο είναι το πρωτόκολλο πυρήνας του Ιστού, μπορούν να συμπιέσουν πολύ εύκολα αρχεία με μεγάλη ταχύτητα μεταφοράς και το ίδιο αποτελεσματικά όσο και τα δυαδικά αρχεία.

(23)

1.6.5. Η XML συνδυάζει διαφορετικές τεχνολογίες

Η XML 1.0 είναι η προδιαγραφή που ορίζει τι είναι οι "ετικέτες" και τα

"γνωρίσματα". Πέρα από την XML 1.0, "η οικογένεια XML" είναι ένα διαρκώς αναπτυσσόμενο σύνολο λειτουργικών μονάδων οι οποίες προσφέρουν χρήσιμες υπηρεσίες για τη διεκπεραίωση σημαντικών έργων τα οποία ανακύπτουν συχνά. H Xlink περιγράφει έναν προκαθορισμένο τρόπο εισαγωγής υπερσυνδέσμων σε αρχεία XML. Τα XPointer και τα XFragments είναι συντακτικά υπό διαμόρφωση για την υπόδειξη θέσεων ενός εγγράφου XML. Το XPointer μοιάζει λίγο με URL αλλά αντί να υποδεικνύει έγγραφα στον Ιστό, υποδεικνύει κομμάτια πληροφοριών ενός εγγράφου XML. Το CSS, η γλώσσα μορφοποίησης σελίδων, είναι δυνατό να εφαρμοστεί σε XML όπως και σε HTML. Το XSL είναι προηγμένη γλώσσα (advanced language) μορφοποίησης σελίδων. Βασίζεται στο XSLT, μία γλώσσα μετασχηματισμού η οποία χρησιμοποιείται για την αναδιάταξη, την πρόσθεση και την διαγραφή ετικετών και γνωρισμάτων. Το DOM είναι ένα προκαθορισμένο σύνολο λειτουργιών για τη διαχείριση αρχείων XML (και HTML) από μία γλώσσα προγραμματισμού. Οι XML διατάξεις επιτρέπουν στους κατασκευαστές λογισμικού να ορίσουν με ακρίβεια τις δομές των δικών τους μορφών XML. Υπάρχουν αρκετά εργαλεία και λειτουργικές μονάδες τα οποία βρίσκονται υπό διαμόρφωση ή είναι ήδη διαθέσιμα. Μπορείτε να ενημερώνεστε για ό,τι καινούριο στη σελίδα του W3C's technical reports page.

1.6.6. Η XML είναι καινούρια όχι, όμως, εντελώς καινούρια

Η ανάπτυξη της XML ξεκίνησε το 1996. Από το Φεβρουάριο του 1998 η XML αποτελεί Σύσταση του W3C. Ίσως, λοιπόν να θεωρήσετε ότι η XML δεν έχει ωριμάσει ακόμα τεχνολογικά. Στην πραγματικότητα, όμως, η τεχνολογία XML δεν είναι τόσο καινούρια. Πριν από την XML υπήρχε η SGML, η οποία αναπτύχθηκε στις αρχές της δεκαετίας του '80, τυποποιήθηκε από τον ISO το 1986, και χρησιμοποιήθηκε ευρέως σε προγράμματα με εκτεταμένη τεκμηρίωση. Η ανάπτυξη της HTML ξεκίνησε το 1990. Οι σχεδιαστές της XML επέλεξαν τα καλύτερα τμήματα της SGML, χρησιμοποίησαν την εμπειρία που είχαν αποκτήσει κατά την ανάπτυξη της HTML και παρήγαγαν μία γλώσσα η οποία δεν είναι λιγότερο ισχυρή από την SGML αλλά είναι πιο κανονικοποιημένη και πολύ πιο εύχρηστη. Βλέπετε, λοιπόν, είναι δύσκολο να διακρίνει κανείς την εξελικτική από την επαναστατική πρόοδο... Αξίζει να σημειωθεί, τέλος, ότι ενώ η SGML χρησιμοποιείται κυρίως για τεχνική τεκμηρίωση, και πολύ λιγότερο για δεδομένα άλλου είδους, για την XML ισχύει ακριβώς το αντίθετο.

(24)

1.6.7. Η XML οδηγεί την HTML σε XHTML

Μία από τις εφαρμογές XML υπάρχει υπό μορφή εγγράφου: πρόκειται για την XHTML του W3C, το διάδοχο της HTML. Η XHTML διαθέτει αρκετά κοινά στοιχεία με την HTML. Το συντακτικό, όμως, έχει αλλάξει έτσι ώστε να συμβαδίζει με τους κανόνες της XML. Τα έγγραφα με βάση την XML χρησιμοποιούν το συντακτικό της XML ,με ορισμένους, όμως, περιορισμούς (π.χ., η XHTML επιτρέπει "<p>", όχι όμως "<r>"); και πρόσθεση σημασίας στο συντακτικό (η XHTML λέει ότι το "<p>"

σημαίνει "paragraph" (παράγραφος), και όχι "price" (τιμή) ή "person" (πρόσωπο) και όχι κάτι άλλο).

1.6.8. Η XML επιδέχεται συνδυασμό διαφορετικών μορφών

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

Ωστόσο, επειδή δύο διαφορετικές μορφές, οι οποίες έχουν αναπτυχθεί ανεξάρτητα, ενδέχεται να διαθέτουν στοιχεία ή γνωρίσματα με το ίδιο όνομα, πρέπει να αποδοθεί ιδιαίτερη προσοχή κατά το συνδυασμό των δύο μορφών (το "<p>" μπορεί να σημαίνει

"paragraph" (παράγραφος) στη μία μορφή και "person" (πρόσωπο) στην άλλη). Για την αποφυγή σύγχυσης ονομάτων κατά το συνδυασμό μορφών, η XML παρέχει ένα μηχανισμό namespace. Παραδείγματα μορφών με βάση την XML οι οποίες χρησιμοποιούν namespaces είναι η XSL και η RDF. Η διάταξη XML σχεδιάστηκε με στόχο να επιδείξει την ικανότητα υποστήριξης συνδυασμών στο επίπεδο ορισμού δομών εγγράφου XML καθιστώντας εφικτό το συνδυασμό δύο σχημάτων και την παραγωγή τρίτου το οποίο αντιπροσωπεύει δύο συγχωνευμένες δομές εγγράφου.

1.6.9. Η XML αποτελεί τη βάση του RDF και του Σημασιολογικού Ιστού

Ο Σκελετός Περιγραφής Πόρων του W3C (Resource Description Framework) (RDF) είναι μία μορφή κειμένου XML η οποία υποστηρίζει περιγραφή πόρων και εφαρμογές μεταδεδομένων, όπως οι κατάλογοι μουσικής, οι συλλογές φωτογραφιών και οι βιβλιογραφίες. Για παράδειγμα, το RDF έχει τη δυνατότητα να

(25)

χρησιμοποιώντας πληροφορίες από μία προσωπική λίστα επαφών. Στη συνέχεια, ο πελάτης ηλεκτρονικού ταχυδρομείου σας (mail client), μπορεί να αποστείλει μηνύματα σε όσους εμφανίζονται στις φωτογραφίες ειδοποιώντας τους ότι οι φωτογραφίες τους έχουν δημοσιευθεί στον Ιστό. Όπως συμβαίνει και στα συγχωνευμένα έγγραφα (integrated documents) HTML, τα συστήματα μενού και τις φόρμες αιτήσεων για την έναρξη του αρχικού Ιστού, το RDF συνδυάζει εφαρμογές και πράκτορες σε έναν ενιαίο Σημασιολογικό Ιστό. Και, βέβαια, όπως οι άνθρωποι έχουν συμφωνήσει να χρησιμοποιούν κοινές ονομασίες για τις σημασίες των λέξεων που χρησιμοποιούν όταν επικοινωνούν, έτσι και οι υπολογιστές χρειάζονται μηχανισμούς οι οποίοι να ορίζουν κοινά ονόματα για τους όρους ώστε να είναι εφικτή η αποτελεσματική επικοινωνία. Οι επίσημες περιγραφές όρων που ανήκουν σε ένα συγκεκριμένο νοηματικό πεδίο (για παράδειγμα αυτό των αγορών ή των κατασκευών) ονομάζονται οντολογίες και συνιστούν σημαντικό τμήμα του Σημασιολογικού Ιστού. Οι οντολογίες του RDF, και η αναπαράσταση των διαφόρων σημασιών ώστε οι υπολογιστές να διευκολύνουν τους ανθρώπους στην εκτέλεση διαφόρων εργασιών αποτελούν μέρος της Δραστηριότητας Σημασιολογικού Ιστού Semantic Web Activity.

1.6.10. Η XML δεν χρειάζεται άδεια χρήσης, λειτουργεί ανεξαρτήτως συστήματος υλικού και τυγχάνει ευρείας υποστήριξης

Η επιλογή της XML ως βάση για το έργο σας, σας προσφέρει πρόσβαση σε μια μεγάλη και διαρκώς αναπτυσσόμενη κοινότητα εργαλείων (ένα από τα οποία μπορεί να εξυπηρετεί πλήρως από μόνο του τις ανάγκες σας) και ειδικών με μεγάλη εμπειρία στις εν λόγω τεχνολογίες. Αν διαλέξετε την XML είναι σαν να διαλέγετε SQL για βάσεις δεδομένων: πρέπει να δημιουργήσετε τη δική σας βάση δεδομένων και τα δικά σας προγράμματα και διαδικασίες για τη διαχείρισή της. Υπάρχουν, όμως, πολλά εργαλεία στη διάθεσή σας και άνθρωποι για να σας βοηθήσουν. Και επειδή η XML δεν χρειάζεται άδεια χρήσης μπορείτε να κατασκευάσετε πάνω της το δικό σας λογισμικό δίχως να πρέπει να πληρώσετε τίποτα σε κανέναν. Επίσης, τυγχάνει ευρείας και ολοένα επεκτεινόμενης υποστήριξης που σημαίνει ότι δεν δεσμεύεστε σε ένα μόνο κατασκευαστή. Η XML δεν είναι πάντα η καλύτερη λύση αλλά αξίζει να τη λάβετε υπόψη σας.10

10 Copyright © 1999-2002 W3C ( MIT, INRIA, Keio), All Rights Reserved.

Last update 17.07.2002

http://www.w3c.gr/office/docs/XML10points.el.htm

(26)

1.7. Γιατί χρειαζόμαστε την XML;

Την χρειαζόμαστε επειδή η HTML έχει σχεδιαστεί με σκοπό να περιγράψει τα έγγραφα για την επίδειξη τους σε μια μηχανή αναζήτησης Ιστού, και όχι για πολλά άλλα. Γίνεται δυσκίνητη εάν θέλουμε να επιδείξουμε τα έγγραφα σε μια κινητή συσκευή ή να κάνουμε κάτι που είναι ελαφρώς περίπλοκο, όπως η μετάφραση του περιεχομένου από γερμανικά στα αγγλικά.

Ο μόνος σκοπός της HTML είναι να επιτρέπει στον καθένα να δημιουργήσει γρήγορα έγγραφα Ιστού που να μπορούν να μοιραστούν με άλλους ανθρώπους. Η XML, απ’ την άλλη, δεν ταιριάζει μόνο στον Ιστό, μπορεί να χρησιμοποιηθεί σε ποικίλα διαφορετικά πλαίσια, μερικά από τα οποία μπορούν να μην έχουν τίποτα που κάνει με τους ανθρώπους που αλληλεπιδρούν με το περιεχόμενο (παραδείγματος χάριν, χρήση XML υπηρεσιών Ιστού για να στείλει τα αιτήματα και τις απαντήσεις εδώ και εκεί).

Η HTML σπάνια παρέχει πληροφορίες για το πώς το έγγραφο είναι δομημένο ή τι σημαίνει. Με απλούς όρους, η HTML είναι μια γλώσσα παρουσίασης, ενώ XML είναι μια γλώσσα στοιχείο-περιγραφής.

Παραδείγματος χάριν, εάν επρόκειτο να πάμε σε οποιοδήποτε site ηλεκτρονικού εμπορίου και ¨κατεβάσουμε¨ μια λίστα προϊόντων, θα παίρναμε πιθανώς κάτι παρεμφερή:

(27)

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

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title>ABC Products</title>

<meta http-equiv="Content-Type"

content="text/html; charset=iso-8859-1" />

</head>

<body>

<h1>ABC Products</h1>

<h2>Product One</h2>

<p>Product One is an exciting new widget that will simplify your life.</p>

<p><b>Cost: $19.95</b></p>

<p><b>Shipping: $2.95</b></p>

<h2>Product Two</h2>

<h3>Product Three</h3>

<p><i>Cost: $24.95</i></p>

<p>This is such a terrific widget that you will most certainly want to buy one for your home and another one for your

office!</p>

</body>

</html>

Ρίχνοντας μια ματιά σε αυτό τον -κατά γενική ομολογία απλό- κώδικα από την προοπτική ενός υπολογιστή. Ένας άνθρωπος μπορεί βεβαίως να διαβάσει το παρόν έγγραφο και να κάνει τα απαραίτητα σημασιολογικά ¨πηδήματα¨ για να το καταλάβει, αλλά ένας υπολογιστής δεν θα μπορούσε.11

11 http://www.sitepoint.com/article/really-good-introduction-xml

Referências

Documentos relacionados

Επομένως του έχουν αποδοθεί οι σημαντικότερες λειτουργίες, μια από αυτές είναι να ελέγχει την βάση δεδομένων που αποθηκεύονται τα στοιχεία των μελών για να μπορεί να γίνεται η καλύτερη