«Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report):...

50
«Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους Κατανόηση της χρήσης και του ρόλου της γλώσσας XML στην επικοινωνία των πληροφοριακών συστημάτων και στη προτυποποίηση των ηλεκτρονικών εγγράφων. Παραδείγματα ηλεκτρονικών εγγράφων Document Modelling 1

description

«Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους Κατανόηση της χρήσης και του ρόλου της γλώσσας XML στην επικοινωνία των πληροφοριακών συστημάτων και στη προτυποποίηση των ηλεκτρονικών εγγράφων. Παραδείγματα ηλεκτρονικών εγγράφων. Στόχοι και Περιεχόμενο. - PowerPoint PPT Presentation

Transcript of «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report):...

Page 1: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

1

«Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

Κατανόηση της χρήσης και του ρόλου της γλώσσας XML στην επικοινωνία των

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

εγγράφων. Παραδείγματα ηλεκτρονικών εγγράφων

Document Modelling

Page 2: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

2Document Modelling

Στόχοι και Περιεχόμενο

Στόχος Η απόκτηση γνώσεων σε θέματα μορφοποίησης και

μεταφοράς (μεταξύ συστημάτων) ηλεκτρονικών εγγράφων, μέσω του συνδυασμού θεωρίας και παραδειγμάτων

Περιεχόμενο XML: Τι είναι; Μια πρώτη προσέγγιση της γλώσσας

XML Κατανόηση της χρήσης και του ρόλου της στην

επικοινωνία των πληροφοριακών συστημάτων και στη προτυποποίηση των ηλεκτρονικών εγγράφων

Δείτε αυτό το webinar μέχρι τέλους... Μετά,

Ρωτήστε αυτά που θέλετε τον/την Εκπαιδευτή/τρια σας Κάνετε ένα post στο Forum!

Page 3: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

3Document Modelling

Τι περιλαμβάνει η Ανάπτυξη;

Εισαγωγή στις εφαρμογές Πληροφορικής ενός Δήμου και στην ανάγκη της μεταξύ τους σύνδεσης Ανάλυση των εγγράφων ενός Δήμου και η μετατροπή τους

σε ηλεκτρονικά έγγραφα Αναπαράσταση των ηλεκτρονικών εγγράφων με κοινό

τρόπο Εισαγωγή στη γλώσσα XML

Χρήση της XML για αναπαράσταση ηλεκτρονικών εγγράφων

Βασικά στοιχεία της XML Αναπαράσταση των ηλεκτρονικών εγγράφων σε

φόρμες και templates Εισαγωγή στις «schema γλώσσες». Περιγραφή της XSD

language Μετατροπή των εγγράφων ενός Δήμου με τη χρήση

σχημάτων (XSD) σε ηλεκτρονικά έγγραφα, και προτυποποίηση

Page 4: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

4

ΛΕΞΕΙΣ ΚΛΕΙΔΙΑ

Ηλεκτρονικά έγγραφα, XML (eXtensible Markup Language), Προτυποποίηση εγγράφων, τύποι

δεδομένων, Έγγραφα ηλεκτρονικής διακυβέρνησης, Σχήματα εγγράφων, γλώσσα

περιγραφής σχημάτων XML (XML Schema Description Language -XSD)

Document Modelling

Page 5: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

5

Μετάβαση στην ψηφιακή εποχήΠως παράγονται τα ηλεκτρονικά έγγραφα; Ποιά είναι η χρησιμότητά τους;

Document Modelling

Page 6: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

6Document Modelling

Πληροφοριακά Συστήματα σε έναν Δήμο

Κάθε Δήμος διαθέτει μια σειρά από εφαρμογές Πληροφορικής Πρωτόκολλο Δημοτολόγιο Οικονομική Διαχείριση κλπ.

Στις προηγούμενες (υπο)Ενότητες είδαμε «νέα» συστήματα Πληροφορικής που πρόκειται να εισαχθούν στην λειτουργία των Δήμων Συστήματα Επιχειρησιακής Νοημοσύνης Συστήματα Διαχείρισης Επιχειρησιακών Διαδικασιών Συστήματα Παρακολούθησης Επιχειρησιακών Διαδικασιών

Όλα αυτές οι εφαρμογές και αυτά τα συστήματα Δημιουργούν Έγγραφα και Αναφορές (Reports) Συνεργάζονται μεταξύ τους για να ανταλλάξουν δεδομένα και αυτή

η επιτυγχάνεται με την ανταλλαγή «μηνυμάτων». Τι είναι αυτά τα «μηνύματα»; Ένα σύνολο δεδομένων με συγκεκριμένη δομή Ικανά να «διαβαστούν» και να κατανοηθούν από Συστήματα

Πληροφορικής, δηλαδή από μηχανές που προφανώς δεν διαθέτουν την ανθρώπινη ικανότητα ερμηνείας

Page 7: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

7Document Modelling

Ηλεκτρονικά Έγγραφα (e-documents)

Έγγραφα & Αναφορές (Reports) που παράγονται από εφαρμογές και συστήματα Πληροφορικής

Mηνύματα επικοινωνίας ανάμεσα σε τέτοιες εφαρμογές και συστήματα

... αποτελούν ηλεκτρονικά έγγραφα

Page 8: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

8Document Modelling

Η πρώτη γνωριμία με το ηλεκτρονικό έγγραφο

Ας δούμε τι είναι το ηλεκτρονικό έγγραφο “An electronic document is any electronic media content

(other than computer programs or system files) that are intended to be used in either an electronic form or as printed output.” Wikipedia

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

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

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

(διάταξη, μέγεθος κλπ) ώστε ένα έγγραφο να είναι κατανοητό από τον άνθρωπο που το χρησιμοποιεί

Και όλα αυτά κάτω από ένα κοινό πρότυπο (standard)

Page 9: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

9Document Modelling

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

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

Γιατί ένα κοινό πρότυπο;Όλα τα πληροφοριακά συστήματα του δήμου

και όχι μόνο, παράγουν και τροφοδοτούνται με ηλεκτρονικά έγγραφα

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

Χρειάζονται έναν κοινό τρόπο μεταφοράς και περιγραφής των δεδομένων

Το πρότυπο αυτό είναι η XML!!!

Page 10: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

10Document Modelling

Παράδειγμα: Πιστοποιητικό Γέννησης

Ας πάρουμε το παράδειγμα ενός πιστοποιητικού γέννησης που αποτελεί ένα έγγραφο της υπηρεσίας δημοτολογίου Τα δεδομένα είναι τα στοιχεία

του ατόμου για τον οποίο εκδίδεται το πιστοποιητικό

Η παρουσίαση είναι ο τρόπος που θα εμφανιστούν στο χαρτί τα δεδομένα (δηλαδή το template που έχει ο δήμος και το οποίο δεν αλλάζει)

Σε ένα ηλεκτρονικό έγγραφο προσθέτουμε και την περιγραφή των δεδομένων

Page 11: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

11Document Modelling

Δεδομένα και Περιγραφή των Δεδομένων

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

την απαραίτητη πληροφορία (δεδομένα) για να σχηματιστεί το έγγραφο.

Για την μεταφορά και την συγκέντρωση των δεδομένων από όλα αυτά τα συστήματα απαιτείται ένα κοινό πρότυπο Πρότυπο που πρέπει να “καταλαβαίνουν” όλα τα συστήματα Πρότυπο που να περιγράφει τα δεδομένα που μεταφέρονται Πρότυπο που τελικά να περιγράφει τη δομή και την πληροφορία

του τελικού ηλεκτρονικού εγγράφου

Όλες οι παραπάνω λειτουργίες ενσωματώνονται στο πρότυπο που λέγεται XML

Page 12: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

12

Εισαγωγή στην XMLΒασικά στοιχεία και σύνταξη της XML

Document Modelling

Page 13: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

13Document Modelling

Τι είναι η XML (eXtensible Markup Language)

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

ανταλλαγή πληροφορίας Εφαρμογές στις βάσεις δεδομένων Και φυσικά… δεν είναι γλώσσα προγραμματισμού

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

δεδομένων και μόνο ενώ η XML με την μεταφορά και την περιγραφή

Page 14: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

14Document Modelling

Μια μικρή ιστορική αναδρομή στις Markup γλώσσες

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

τρόπου παρουσίασης αυτής της πληροφορίας με τρόπο απλό κατανοητό αλλά και ταυτόχρονα «φιλικό» προς τον άνθρωπο Η χρήση απλών κειμένων χωρίς δομή (επικεφαλίδες,

πίνακες, στήλες, χρώματα κλπ) απωθούσε τον άνθρωπο Επίσης η χρήση άλλων προτύπων όπως αρχεία εγγράφων

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

Η γλώσσα που προτάθηκε για να καλύψει αυτές τις ανάγκες ήταν η HTML (HyperText Markup Language) Γλώσσα Μορφοποίησης Κειμένου

Page 15: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

15Document Modelling

Μια μικρή ιστορική αναδρομή στις Markup γλώσσες

Η HTML δημιουργήθηκε για τις ανάγκες επικοινωνίας ανθρώπου – μηχανής Και η γέννησή της δημιούργησε τον παγκόσμιο ιστό που

είναι ένας απέραντος τόπος εύρεσης και παρουσίασης πληροφορίας

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

καλύπτει τις παραπάνω ανάγκες Ουσιαστικά η XML αποτελεί μια χρονική επέκταση της

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

μεταξύ συστημάτων

Page 16: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

16Document Modelling

Βασικά στοιχεία τηςXML (eXtensible Markup Language) (1)

Η XML έχει δυο βασικά συστατικά Element (στοιχείο)

Ένα element ορίζεται από ένα tag (ετικέτα) έναρξης και ένα tag (ετικέτα) λήξης το οποίο αναπαρίσταται <tag> … </tag>

Το κάθε “tag” περιγράφει και μια πληροφορία Πχ <firstname> Γιώργος </ firstname > Εδώ ορίζεται ότι το μικρό όνομα (firstname) είναι Γιώργος

Attribute (χαρακτηριστικό) Ένα Attribute ορίζει μια ιδιότητα που έχει ένα

element Και ορίζεται με μια τριπλέτα «όνομα=“τιμή”» Πχ <firstname language=“GR”> Γιώργος </firstname > Εδώ ορίζεται ότι η πληροφορία “Όνομα” (firstname) είναι

στα ελληνικά (language=“GR”)

Page 17: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

17Document Modelling

Βασικά στοιχεία τηςXML (eXtensible Markup Language) (2)

Με τα δυο αυτά συστατικά μπορούμε να περιγράψουμε οποιαδήποτε πληροφορία με μια ημι-δομημένη μορφή ακολουθώντας μερικούς κανόνες Κάθε “element” μπορεί να περιέχει

attributes (κανένα ή περισσότερα) Elements (κανένα ή περισσότερα) Κείμενο

Η δυνατότητα φωλιασμένων elements επιτρέπει τη δημιουργία ιεραρχικών δομών για την περιγραφή των δεδομένων Πχ Μια διεύθυνση περικλείει τα στοιχεία Οδός, Αριθμός,

Ταχυδρομικός κώδικας, Πόλη κλπ Δηλαδή είναι μια δομή (ή ένας τύπος) δεδομένων που αποτελείται

από άλλα δεδομένα Επίσης επιτρέπει την ομαδοποίηση μιας πληροφορίας σε

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

όλα τα παραπάνω

Page 18: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

18Document Modelling

Ας δούμε μια ταχυδρομική διεύθυνση από την “πλευρά” της XML…

Μια τυπική ταχυδρομική διεύθυνση περιέχει Αριθμός Οδός Ταχυδρομικός κώδικας Πόλη Χώρα

Ας δούμε μια διεύθυνση σε XML<Address>    <Number>12</Number>    <Street>Ηρώων Πολυτεχνείου </Street>    <ZipCode> 12345</ZipCode>    <City> Αθήνα</City>    <Country> Χώρα</Country></Address>

Page 19: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

19Document Modelling

Άλλο ένα παράδειγμα με XML…

Ένα μήνυμα στο ηλεκτρονικό ταχυδρομείο αποτελείται από τα εξής πεδία Αποστολέας Παραλήπτης Θέμα μηνύματος Μήνυμα

Ας το δούμε σε XML<Mail>    <From>[email protected]</From>    <To>[email protected]</To>    <Subject> Ένα mail σε XML</Subject>    <Body> Αυτό είναι ένα mail στέλνει ο “sender” στον “receiver” με θέμα «Ένα mail σε XML» και περιγράφεται με XML δομή</Body></Mail>

Page 20: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

20Document Modelling

Ένα πιο σύνθετο παράδειγμα με XML…

Το παρακάτω παράδειγμα περιγράφει την παραγγελία ενός προϊόντος Όνομα προϊόντος και τη γλώσσα περιγραφής Η τιμή του προϊόντος και το νόμισμα Διεύθυνση αποστολής (είδος διεύθυνσης και γλώσσα γραφής)

Οδός αριθμός Ταχυδρομικός κώδικας

Ας το δούμε σε XML<product> <name language=“Greek”>Βιβλίο XML</name> <price currency=“Euro”> 40.12 </price> <address format=“XL1245” language=“Greek”> <street>31 Πανεπιστημίου</street> <zip>15112</zip> </address></product>

Page 21: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

21Document Modelling

Η XML δημιουργεί μια δενδρική αναπαράσταση των εγγράφων

elementsattributes

Μια άλλη ιδιότητα της XML είναι η αναπαράσταση των εγγράφων σε δενδρική μορφή Κάθε element είναι ένας κόμβος που περιέχει «υπο» κόμβους Οι «υπο» κόμβοι είναι άλλα elements ή attributes Τα attributes δεν μπορεί να περιέχουν «υπό» κόμβους Το κάθε XML έγγραφο έχει έναν και μόνο έναν αρχικό κόμβο

Το παρακάτω παράδειγμα δείχνει μια περιγραφή ενός προϊόντος που παραγγείλαμε…

product

pricename

language currency

street zip

format language

address

Page 22: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

22Document Modelling

Για ποιο λόγο όμως πρέπει να χρησιμοποιούμε XML

Ουσιαστικά “προετοιμάζουμε” την πληροφορία ώστε να μπορεί να μεταφερθεί από ένα σύστημα σε ένα άλλο Δίνουμε μια δομημένη μορφή στα δεδομένα

Ιεράρχηση, περιγραφή Αυτό όμως δεν είναι αρκετό…

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

Πχ το όνομα μπορεί εμείς να το περιγράψουμε με το element <name> ενώ αντίστοιχα κάποιος άλλος με το element <Firstname>

Στη συνέχεια θα δούμε πως μπορούμε να δημιουργήσουμε μια κοινή “γλώσσα” περιγραφής των δεδομένων

Page 23: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

23

XML SchemaΜια “γλώσσα” περιγραφής και προτυποποίησης εγγράφων

Document Modelling

Page 24: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

24Document Modelling

Τι πετυχαίνουμε με την προτυποποίηση των εγγράφων;

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

Αυτοί οι κανόνες ορίζονται ώστε τα συστήματα να καταλαβαίνουν το “νόημα” των δεδομένων που περιέχουν

Και αναφέρονται… Στη δομή της πληροφορίας Στη σειρά την οποία κατέχουν τα δεδομένα στο

έγγραφο Και στη ιεράρχηση των δεδομένων

Page 25: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

25Document Modelling

Γιατί προτυποποίηση;

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

χρησιμοποιούμε πρότυπα “templates” για τα έγγραφα που συναλλάσουμε μεταξύ μας ή με τους πολίτες

Πχ οι αιτήσεις που συμπληρώνουν οι πολίτες για διάφορα θέματα έχουν συγκεκριμένο “template” Αυτές είναι προσχεδιασμένες και προεκτυπωμένες φόρμες που

συμπληρώνει ο πολίτης Και φυσικά δεν περιέχουν δεδομένα

Τα σχήματα των εγγράφων χρησιμοποιούνται για την ταχύτερη επεξεργασία των θεμάτων στα οποία αναφέρονται Μια αίτηση για τραπεζοκαθίσματα έχει συγκεκριμένο “template” για

την εξυπηρέτηση του υπαλλήλου. Πάνω στη φόρμα ξέρει που θα βρει τα στοιχεία του αιτούντος την

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

μόνο για την ανάγνωση της αίτησης!!!

Page 26: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

26Document Modelling

Η φόρμα της αίτησης τραπεζοκαθισμάτων

Ο Δήμος Λαρισαίων χρησιμοποιεί αυτή τη “φόρμα” αίτησης για τα τραπεζοκαθίσματα. Τα δεδομένα συμπληρώνονται σε συγκεκριμένα πεδία: Επώνυμο Όνομα Κλπ

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

Αυτή η “φόρμα” βοηθά τον υπάλληλο να διεκπεραιώσει το αίτημα με σύντομο «μηχανικό» τρόπο

Ξέρει που είναι τι Και ταυτόχρονα αποφεύγεται η

πιθανότητα η αίτηση να συμπληρώνεται από τον πολίτη με έναν “άναρχο” τρόπο

Page 27: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

27Document Modelling

Ας επανέλθουμε στα ηλεκτρονικά έγγραφα

Όπως είπαμε και προηγουμένως η προτυποποίηση των εγγράφων συμβαίνει όχι μόνο στον πραγματικό κόσμο αλλά και στον “ηλεκτρονικό κόσμο”.

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

παράγωγων αυτής Αυτά τα παράγωγα ονομάζονται «γλώσσες σχημάτων» ή «schema

languages» Η πιο διαδεδομένη γλώσσα σχημάτων είναι η “XML Schema

Description Language” Η δημιουργία ενός σχήματος XSD στηρίζεται στους βασικούς

κανόνες της XML Ουσιαστικά ένα XSD σχήμα αποτελεί ένα συντακτικό που

περιγράφει τον τρόπο που θα ταξινομηθούν τα δεδομένα σε ένα XML έγγραφο

Page 28: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

28Document Modelling

XSD XML Schema Definition Language

Γλώσσα Προτυποποίησης Εγγράφων Ένα σύνολο κανόνων (οι βασικοί κανόνες της XML και μερικοί επιπρόσθετοι

κανόνες) Ορίζουν την δομή και τη μορφή των εγγράφων Ορίζει μια δομή δεδομένων

Ένα XSD σχήμα δεν περιέχει δεδομένα!!! XML έγγραφα περιέχουν πληροφορίες Τα XML έγγραφα υπακούουν στους κανόνες που ορίζονται σε XSD Schemas Δηλαδή κάθε XML έγγραφο που μεταφέρει δεδομένα για μια συγκεκριμένη

εφαρμογή, έχει τα δεδομένα ταξινομημένα με συγκεκριμένη σύνταξη που ορίζεται από ένα schema

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

XML

XML

XSD

XSD

Page 29: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

29Document Modelling

Ποιοι είναι οι βασικοί κανόνες για τη δημιουργία ενός XSD σχήματος

Πάντα αρχικά υπάρχει ένα «element» εκκίνησης (root) το οποίο υποδηλώνει και την οντότητα του σχήματος <xs:schema> … </xs:schema>

Αυτό το αρχικό “element” περιέχει: Δηλώσεις από άλλα «elements»

<element name=“name" type=“type“/> Δηλώσεις «attributes»

<attribute name=“name" type=“type"/>

Κάθε “element” αποτελεί και έναν τύπο δεδομένων (Ορίζει δηλαδή τι δομή και το περιεχόμενου ενός δεδομένου ή μιας ομάδας δεδομένων). Ανάλογα με την πολυπλοκότητα των δεδομένων υπάρχουν Ορισμοί απλών τύπων (simple types)

Περιέχουν απλό κείμενο χωρίς “markup” Ορισμοί σύνθετων τύπων (complex types)

Περιέχουν άλλους τύπους (σύνθετους και απλούς) και απλό κείμενο

Page 30: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

30Document Modelling

Απλοί τύποι δεδομένων στα XSD σχήματα

Ένας απλός τύπος δεδομένων είναι ένα απλό “element” το οποίο περιέχει μόνο κείμενο.

Δεν περιέχει ούτε attributes ούτε elements <xs:element name=“FirstName" type="xs:string"/> Το “name” περιγράφει το είδος της πληροφορίας που περιέχει το

element ενώ το “type” ορίζει τον τύπο δεδομένων που περιέχει το element. Δηλαδή το συγκεκριμένο element ορίζει ένα όνομα ανθρώπου και το πεδίο είναι κείμενο «string»

<xs:element name=“age" type="xs:int"/> Το συγκεκριμένο element ορίζει την ηλικία ενός ανθρώπου και το

πεδίο είναι ακέραιος αριθμός «string» Οι απλοί τύποι δεδομένων συνήθως περιγράφουν δεδομένα που

είναι απλά κείμενα (string), αριθμοί (int, double, κλπ), ημερομηνίες (date, dateTime) ή δεδομένα τύπου ναι όχι (boolean)

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

Page 31: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

31Document Modelling

Σύνθετοι τύποι δεδομένων

Ένας σύνθετος τύπος δεδομένων είναι ένα “element” που περιέχει άλλα “elements” ή/και άλλα ”attributes” Και αποκαλείται “complex element”

Επίσης όταν σε έναν απλό τύπο δεδομένων εισαγάγουμε έναν περιορισμό (πχ για το προηγούμενο παράδειγμα της ηλικίας εισάγουμε τον περιορισμό από 0 έως 100) αυτός πλέον περιγράφεται με έναν σύνθετο τύπο δεδομένων

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

Page 32: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

32Document Modelling

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

Η πρώτη κατηγορία είναι οι εντολές αλληλουχίας Όλα τα στοιχεία χωρίς καθορισμένη σειρά

<all> … </all> Ένα από μια λίστα στοιχείων

<choice> … </choice> Αλληλουχία στοιχείων με συγκεκριμένη σειρά

<Sequence> … </Sequence>

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

minOccurs Μέγιστος αριθμός εμφανίσεων ενός στοιχείου

maxOccurs Για παράδειγμά αν το κάποιος έχει δύο ονόματα θα

μπορούσαμε να γράψουμε <xs:element name=“FisrtName" type="xs:string"

minOccurs="0" maxOccurs=“2"/>

Page 33: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

33Document Modelling

Ας δούμε ένα παράδειγμα περιγραφής μιας ταχυδρομικής διεύθυνσης

Μια τυπική ταχυδρομική διεύθυνση περιέχει Αριθμός Οδός Ταχυδρομικός κώδικας Πόλη Χώρα

Το σχήμα που περιγράφει την ταχυδρομική διεύθυνση είναι το παρακάτω

<xs:element name="address"><xs:complexType>

<xs:sequence><xs:element name="Number"

type="xs:int"/><xs:element name="Street"

type="xs:string"/><xs:element name="ZipCode"

type="xs:int"/><xs:element name="City"

type="xs:string"/><xs:element name="Country"

type="xs:string"/></xs:sequence>

</xs:complexType></xs:element>

Page 34: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

34

Μετατροπή ενός εγγράφου του Δημοσίου... Σε ηλεκτρονικό

Document Modelling

Page 35: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

35Document Modelling

Αίτησης χορήγησης άδειας για την κατάληψη κοινόχρηστου χώρου (τραπεζοκαθίσματα)

Page 36: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

36Document Modelling

Πως μετατρέπουμε ένα έγγραφο σε ηλεκτρονική μορφή;

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

ορίζονται από την XML. Αρχικές δηλώσεις Για κάθε έγγραφο μια και μόνο ρίζα Χρήση elements και attributes Σωστή χρήση των εντολών στοίχισης

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

οντότητα Τεμαχισμός της πληροφορίας που περιέχει το έγγραφο σε

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

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

τύπων δεδομένων Κάτι σαν Lego!!!!

Page 37: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

37Document Modelling

Η προσέγγιση των δομικών πληροφοριακών οντοτήτων

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

προσωπικά στοιχεία ενός ατόμου Κάθε σύνολο σχετιζόμενων δεδομένων απαρτίζουν μια δομική

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

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

Το τελικό έγγραφο προκύπτει με την σύνθεση όλων αυτών των τύπων δεδομένων

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

την κατοικία, το κατάστημα αλλά και για το σημείο τοποθέτησης των τραπεζοκαθισμάτων

Page 38: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

38Document Modelling

Ανάλυση της αίτησης

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

Αναλύοντας αυτά τα στοιχεία μπορούμε να τα ομαδοποιήσουμε σε τέσσερεις κατηγορίες Προσωπικά στοιχεία Στοιχεία καταστήματος Στοιχεία του αιτήματος Διεύθυνση

Κάθε κατηγορία περιέχει και ένα σύνολο συσχετιζόμενης πληροφορίας

Page 39: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

39Document Modelling

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

Προσωπικά στοιχεία Επώνυμο Όνομα Όνομα Πατρός Τηλέφωνο Διεύθυνση

Στοιχεία καταστήματος Επωνυμία ΑΦΜ Διεύθυνση

Αίτημα άδειας Περιγραφή Αιτιολογία Έκταση σε τ.μ Διεύθυνση Έτος άδειας Ημερομηνία άδειας

Διεύθυνση Οδός Αριθμός Πόλη Τ.Κ.

Page 40: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

40Document Modelling

Κατά τη δημιουργία του σχήματος της αίτησης “βλέπουμε” το έγγραφο ως ένα δένδρο

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

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

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

που απαρτίζουν την αίτηση Προσωπικά στοιχεία αιτούντος Στοιχεία του καταστήματος που αναφέρεται η αίτηση Στοιχεία του αιτήματος

Αίτηση

Στοιχεία καταστήματος

Προσωπικά στοιχεία

Στοιχεία Αιτήματος

Page 41: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

41Document Modelling

Κάτω από κάθε δομική πληροφοριακή οντότητα έχουμε τα δεδομένα που συσχετίζονται με αυτή την κατηγορία (1)

Δηλαδή για κάθε κατηγορία δημιουργούμε ένα “υπό” δένδρο με τα δεδομένα που περιέχει1. Προσωπικά στοιχεία2. Στοιχεία καταστήματοςΠροσωπικά στοιχεία

ΕπώνυμοΌνομαΌνομα Πατρός

Τηλέφωνο Διεύθυνση

Στοιχεία Καταστήματος

Επωνυμία ΑΦΜ Διεύθυνση

Page 42: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

42Document Modelling

Κάτω από κάθε δομική πληροφοριακή οντότητα έχουμε τα δεδομένα που συσχετίζονται με αυτή την κατηγορία (2)

Δηλαδή για κάθε κατηγορία δημιουργούμε ένα “υπό” δένδρο με τα δεδομένα που περιέχει Στοιχεία αίτησης Διεύθυνση

Στοιχεία αίτησης

ΑιτιολογίαΠεριγραφή

ΈκτασηΔιεύθυνση

Έτος εφαρμογής Άδειας

Ημερομηνία Αίτησης

Διεύθυνση

Οδός Αριθμός Τ.Κ. Πόλη

Page 43: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

43Document Modelling

Ο σύνθετος τύπος που περιγράφει τη δομική πληροφοριακή οντότητα «διεύθυνση»

<complexType name="addressType"> <sequence> <element name="street" type="string"></element> <element name="number" type="int"></element> <element name="ZIPCode" type="int"></element> <element name="city" type="string"></element> </sequence></complexType>

Page 44: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

44Document Modelling

Ο σύνθετος τύπος που περιγράφει τη δομική πληροφοριακή οντότητα «Προσωπικά στοιχεία»

<complexType name="PersonalDataType"> <sequence> <element name="LastName" type="string"></element> <element name="FirstName" type="string"></element> <element name="FatherName" type="string"></element> <element name="phone" type="string"></element> <element name="homeaddres" type="tns:addressType"></element> </sequence></complexType>

Page 45: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

45Document Modelling

Ο σύνθετος τύπος που περιγράφει τη δομική πληροφοριακή οντότητα «Στοιχεία Καταστήματος»

<complexType name="companyDataType"> <sequence> <element name="name" type="string"></element> <element name="AFM" type="string"></element> <element name="companyAddress”

type="tns:addressType"></element> </sequence></complexType>

Page 46: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

46Document Modelling

Ο σύνθετος τύπος που περιγράφει τη δομική πληροφοριακή οντότητα «Στοιχεία Αίτησης»

<complexType name="applicationDataType"> <sequence> <element name="Description" type="string"></element> <element name="Reason" type="string"></element> <element name="surface" type="double"></element> <element name="IssueYear" type="string"></element> <element name="applicationDate" type="date"></element> <element name="address" type="tns:addressType"></element> </sequence></complexType>

Page 47: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

47Document Modelling

Ο σύνθετος τύπος που περιγράφει το έγγραφο

<complexType name="applicationType"> <sequence> <element name="personalData" type="tns:PersonalDataType"></element> <element name="companyData" type="tns:companyDataType"></element> <element name="applicationData" type="tns:applicationDataType"></element> </sequence></complexType>

Page 48: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

48Document Modelling

Το ολοκληρωμένο σχήμα της αίτησης (γραφική απεικόνιση με τη χρήση της εφαρμογής Eclipse Birt)

Page 49: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

49Document Modelling

Το ολοκληρωμένο σχήμα της αίτησης (απεικόνιση του XML κώδικα)<?xml version="1.0" encoding="UTF-8"?><schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.org/paradeigma1" xmlns:tns="http://www.example.org/paradeigma1" elementFormDefault="qualified"> <complexType name="applicationType"> <sequence> <element name="personalData" type="tns:PersonalDataType"></element> <element name="companyData" type="tns:companyDataType"></element> <element name="applicationData" type="tns:applicationDataType"></element> </sequence> </complexType> <complexType name="PersonalDataType"> <sequence> <element name="LastName" type="string"></element> <element name="FirstName" type="string"></element> <element name="FatherName" type="string"></element> <element name="phone" type="string"></element> <element name="homeaddres" type="tns:addressType"></element> </sequence> </complexType>

<complexType name="companyDataType"> <sequence> <element name="name" type="string"></element> <element name="AFM" type="string"></element> <element name="companyAddress" type="tns:addressType"></element> </sequence> </complexType> <complexType name="applicationDataType"> <sequence> <element name="Description" type="string"></element> <element name="Reason" type="string"></element> <element name="surface" type="double"></element>

<element name="IssueYear" type="string"></element> <element name="applicationDate" type="date"></element> <element name="address" type="tns:addressType"></element> </sequence> </complexType> <complexType name="addressType"> <sequence> <element name="street" type="string"></element> <element name="number" type="int"></element> <element name="ZIPCode" type="int"></element> <element name="city" type="string"></element> </sequence> </complexType></schema>

Page 50: «Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους

50Document Modelling

ΟΤΑ Επιχειρησιακή Νοημοσύνη Παραγωγή Περιεχομένου:

ΕΑΙΤΥ (ΕΜ9 ATLANTIS Group) http://www.cti.gr

Συγγραφείς

Θ. Εμμανουηλίδης, Π. Καβάσαλης, Γ. Κούζας, Αθ. Μώραλης, Ζ. Πολιτοπούλου