ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. Graphical XML Schema

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. Graphical XML Schema"

Transcript

1 ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Graphical XML Schema Της φοιτήτριας Αικατερίνης-Ιωσηφίνα Αρβανιτάκη Αρ. Μητρώου: 06/3128 Επιβλέπων καθηγητής Κεραµόπουλος Ευκλείδης

2 ΠΡΟΛΟΓΟΣ Πτυχιακή εργασία της φοιτήτριας Αικατερίνης-Ιωσηφίνα Αρβανιτάκη Θεσσαλονίκη 2012 Η παρούσα πτυχιακή εργασία πραγµατοποιήθηκε στο Αλεξάνδρειο Τεχνολογικό Εκπαιδευτικό Ίδρυµα Θεσσαλονίκης στο τµήµα Πληροφορικής της Σχολής Τεχνολογικών Εφαρµογών(Σ.Τ.ΕΦ). Στην πτυχιακή µου εργασίας µε θέµα graphical xml schemes αρχικά, στο 1ο κεφάλαιο αναλύω το xml schema, την δοµή του και τα χαρακτηριστικά του. Στη συνέχεια στο 2ο κεφάλαιο περιγράφω και συγκρίνω διάφορα graphical xml schemes, έπειτα στο 3ο κεφάλαιο αναλύω την τεχνολογία JAXB και τέλος στο 4ο κεφάλαιο υπάρχει µια παρουσίαση της εφαρµογής µου στην πλατφόρµα ΝetΒeans σε συνδυασµό µε την JAXB, όπου υπάρχει η δική µου γραφική αναπαράσταση ενός xml schema.

3 ΕΥΧΑΡΙΣΤΙΕΣ Πτυχιακή εργασία της φοιτήτριας Αικατερίνης-Ιωσηφίνα Αρβανιτάκη Θα ήθελα να ευχαριστήσω τον καθηγητή µου και επιβλέπων καθηγητή της πτυχιακής µου εργασίας κ. Κεραµόπουλο Ευκλείδη για την βοήθεια και υποστήριξη του κατά της διάρκεια εκπόνησης της εργασίας µου. Επίσης θα ήθελα να ευχαριστήσω τους γονείς µου, για την συµπαράστασή τους όλο αυτό το καιρό.

4 Κατάλογος περιεχοµένων ΠΡΟΛΟΓΟΣ...2 ΕΥΧΑΡΙΣΤΙΕΣ...3 ΚΕΦΑΛΑΙΟ XML SCHEMA...7 ΕΙΣΑΓΩΓΗ ELEMENTS XSD Simple Elements XSD Attributes XSD Complex Elements Complex Empty Elements Complex Types Containing Elements Only Complex Text-Only Elements Complex Types with Mixed Content XSD Indicators...19 Order Indicators...20 All Indicator...20 Choice Indicator...20 Sequence Indicator...20 Occurrence Indicators...20 maxoccurs Indicator...20 minoccurs Indicator...21 Group Indicators...22 Element Groups...22 Attribute Groups The <any> Element The <anyattribute> Element Element Substitution...26 Blocking Element Substitution...27 ΚΕΦΑΛΑΙΟ Graphical XML Schemes...31 Εισαγωγή Cxml UML XSD-Μ XML Σχηµάτων Altova Liquid Oxygen XML Editor XML δυνατότητες επεξεργασίας...39 Εµφάνιση Text...39 Εµφάνιση Grid Graph...41 Oxygen...42 Data Types...42 ΚΕΦΑΛΑΙΟ

5 Binding between XML Schema and Java Classes...45 Εισαγωγή Αρχιτεκτονική Επισκόπηση Παρουσιάζοντας το περιεχόµενο XML...48 Ορισµοί Απλών Τύπων...48 Από κώδικα Java σε σχήµα...50 Προσαρµογή JAXB Bindings...50 Από σχήµα σε κώδικα Java...50 ΚΕΦΑΛΑΙΟ Παρουσίαση της Εφαρµογής µου...56 Εισαγωγή...56 Παρουσίαση...57 ΒΙΒΛΙΟΓΡΑΦΙΑ...62 ΠΑΡΑΡΤΗΜΑ Α...63

6

7 ΚΕΦΑΛΑΙΟ 1 XML SCHEMA ΕΙΣΑΓΩΓΗ Σήµερα, ζούµε σε έναν κόσµο όπου οι πληροφορίες είναι το παν και όσο πιο γρήγορα έχουµε πρόσβαση σε αυτές, τόσο περισσότερη δύναµη έχουµε. Λαµβάνοντας υπόψη το γεγονός ότι το µόνο µέρος που γνωρίζουµε ότι έχει το µεγαλύτερο ποσό πληροφοριών συγκεντρωµένο στον ίδιο χώρο είναι το ιαδίκτυο, αυτοί που έχουν το πάνω χέρι σε αυτή την περίπτωση είναι εκείνοι που παίρνουν τις πληροφορίες στο συντοµότερο χρονικό διάστηµα. εδοµένου ότι αυτό είναι αναµφίβολα αλήθεια, φανταστείτε να είχατε ένα εργαλείο που θα σας επέτρεπε να παίρνεται από τα αρχεία τις ακριβείς πληροφορίες που χρειάζεστε και, επίσης, ότι τα αρχεία αυτά είχαν την ίδια δοµή σε όλο το ιαδίκτυο. Αυτά τα αρχεία τα οποία µπορούν εύκολα να ανακριθούν είναι τα αρχεία XML και είναι µια τυποποιηµένη δόµηση δεδοµένων. XML Schema του W3C προσφέρει ένα ισχυρό σύνολο εργαλείων για τον καθορισµό των αποδεκτών XML εγγράφων δοµών και περιεχοµένου. Ενώ τα XML σχήµατα είναι ισχυρά, αυτή η δύναµη προέρχεται µε σηµαντική πολυπλοκότητα. Μια ποικιλία από διαφορετικά στυλ για σχήµατα γραφής, απλές και σύνθετες µορφές, τύπους δεδοµένων και τις απόψεις, τα κλειδιά, την επεκτασιµότητα, την τεκµηρίωση, σχεδιαστικές επιλογές, τις βέλτιστες πρακτικές και τους περιορισµούς.

8 Τι είναι ένα XML Schema? O σκοπός ενός σχήµατος είναι να καθορίσει τα δοµικά στοιχεία ενός εγγράφου XML, όπως ακριβώς και ένα DTD. Ένα XML Schema: Προσδιορίζει τα στοιχεία που µπορεί να εµφανιστούν σε ένα έγγραφο. Προσδιορίζει τα χαρακτηριστικά που µπορεί να εµφανιστούν σε ένα έγγραφο. Καθορίζει ποια στοιχεία είναι στοιχεία-παιδιά. Καθορίζει τη σειρά που θα έχουν τα στοιχεία-παιδιά. Ορίζει τον αριθµό από στοιχεία-παιδιά. Καθορίζει αν ένα στοιχείο είναι άδειο ή µπορεί να περιλαµβάνει κείµενο. Ορίζει τους τύπους των δεδοµένων. Συστατικά δοµής του σχήµατος XML (XML Schema : Structures) Τα συστατικά δοµής του σχήµατος XML παρέχουν λειτουργίες για την περιγραφή της δοµής και θέτουν περιορισµούς στο περιεχόµενο των XML εγγράφων. Ένα σχήµα XML αποτελείται από ένα σετ δοµικών συστατικών που µπορούν να χωριστούν σε τρείς υποκατηγορίες. Τα βασικά συστατικά: Α) Το σχήµα ορισµών και δηλώσεων (Schema). Β) Απλοί και σύνθετοι τύποι δεδοµένων (Simple and Complex Type Definitions). Γ) ηλώσεις συστατικών (Element Declarations). Τα δευτερεύοντα συστατικά : 1) Ορισµοί οµάδων ιδιοτήτων (Attribute Group Definitions). 2) Ορισµοί οµοιότητας-περιορισµών (Identity Constraint Definitions). 3) Ορισµοί ονοµασµένων οµάδων (Named Group Definitions). 4) ηλώσεις σχολίων (Notation Declarations). Τα βοηθητικά συστατικά, τα οποία χρησιµεύουν στα υπόλοιπα συστατικά και δεν µπορούν να υπάρξουν µόνα τους: - Οµάδες αντικατάστασης. - Σχόλια.

9 Χαρακτήρες. Πτυχιακή εργασία της φοιτήτριας Αικατερίνης-Ιωσηφίνα Αρβανιτάκη Τύποι δεδοµένων του σχήµατος XML (Schema Datatypes) Πρόκειται για το δεύτερο µέρος του ορισµού του σχήµατος XML. Προτείνει λειτουργίες για ορισµό τύπων δεδοµένων προς χρήση, για περιορισµό των τύπων δεδοµένων των στοιχείων και ιδιοτήτων, µέσα στα σχήµατα XML. Παρέχει: - Ένα σύνολο ενσωµατωµένων πρωταρχικών τύπων δεδοµένων. - Ένα σύνολο ενσωµατωµένων τύπων δεδοµένων που βασίζονται σε άλλους τύπους δεδοµένων. - Μηχανισµούς µε τους οποίους οι χρήστες µπορούν να ορίσουν τους δικούς τους τύπους δεδοµένων. Τύποι δεδοµένων. Παροχή ενός συνόλου βασικών τύπων δεδοµένων (κείµενο, ακέραιοι και πραγµατικοί αριθµοί, ηµεροµηνίες κλπ), για την επιτυχή περιγραφή σύνθετων δεδοµένων όπως ιστογράµµατα, γραφικά κ.α καθώς και τύποι δεδοµένων πίνακα (Array και Datatypes Matrix), όπου περιλαµβάνονται πίνακες συγκεκριµένου ή παραµετρικού µεγέθους. Ενσωµατωµένοι θεµελιώδεις χρονικοί τύποι δεδοµένων (Built-in πρωτογενής τύπους δεδοµένων χρόνου). Περιλαµβάνονται ο τύπος δεδοµένων χρονικής στιγµής (basictimepoint) και η διάρκεια (basicduration). Παροχή επαρκούς µοντέλου για σύνδεση ή / και αναφορά ανάµεσα σε έναν ή περισσότερους περιγραφείς και των υπό περιγραφή δεδοµένων. Σε αυτό το κεφάλαιο θα γίνει µια αρχική γνωριµία µε το σχήµα XML και τι µπορεί να απαρτίζει ένα σχήµα XML. Θα δούµε ότι αποτελείται από στοιχεία τα οποία και θα δούµε αναλυτικά, καθώς και την σηµασία του κάθε στοιχείου XML σχήµα.

10 1.1 ELEMENTS Ένα [1] στοιχείο XML είναι τα πάντα, από (συµπεριλαµβανοµένης) ετικέτα έναρξης του στοιχείου έως (συµπεριλαµβανοµένης) ετικέτα τέλους του στοιχείου. Ένα στοιχείο µπορεί να έχει : άλλα στοιχεία κείµενο γνωρίσµατα ή ένα µίγµα από όλα τα παραπάνω... 1) <schema> element Το στοιχείο <schema> είναι το στοιχείο ρίζα σε κάθε XML Schema <?xml version="1.0"?> <xs:schema> </xs:schema> Το <schema> στοιχείο επιτρέπεται να περιέχει κάποια χαρακτηριστικά. Μια δήλωση σχήµατος µοιάζει συχνά κάτι σαν αυτό: <?xml version="1.0"?> <xs:schema xmlns:xs=" targetnamespace=" xmlns=" elementformdefault="qualified"> </xs:schema> Το παρακάτω xmlns:xs=" δηλώνει ότι τα στοιχεία και οι τύποι δεδοµένων που χρησιµοποιούνται στο σχήµα προέρχονται από το " namespace. Επίσης

11 διευκρινίζεται ότι τα στοιχεία και οι τύποι δεδοµένων που προέρχονται από το " namespace θα πρέπει να έχουν το πρόθεµα xs:. Αυτή η φράση: targetnamespace = " δείχνει ότι τα στοιχεία που ορίζονται από αυτό το σχήµα (note, to, from, heading, body.) προέρχεται από το " namespace. Αυτή η φράση: xmlns=" δείχνει ότι το προεπιλεγµένο πεδίο ονοµάτων είναι " Αυτή η φράση: elementformdefault = "qualified " υποδεικνύει ότι τυχόν στοιχεία που χρησιµοποιούνται από το έγγραφο παράδειγµα XML που είχαν δηλωθεί σε αυτό το σχήµα πρέπει να έχουν namespace προσόντα. Αναφορά ενός σχήµατος σε ένα έγγραφο XML Αυτό το έγγραφο XML έχει µια αναφορά σε ένα σχήµα XML: <?xml version="1.0"?> <note xmlns=" xmlns:xsi=" xsi:schemalocation=" note.xsd"> <to>tove</to> <from>jani</from> <heading>reminder</heading> <body>don't forget me this weekend!</body> </note> Το ακόλουθο απόσπασµα: xmlns = " ορίζεται η προεπιλεγµένη δήλωση ονοµάτων. Αυτή η δήλωση λέει στο σχήµα-validator ότι όλα τα στοιχεία που χρησιµοποιούνται σε αυτό το έγγραφο XML που δηλώθηκαν στην " namespace. Μόλις έχετε το XML Schema Instance namespace διαθέσιµο: xmlns: XSI = " µπορείτε να χρησιµοποιήσετε το χαρακτηριστικό schemalocation. Αυτό το χαρακτηριστικό

12 έχει δύο τιµές. Η πρώτη τιµή είναι το namespace που χρησιµοποιείται. Η δεύτερη αξία είναι η θέση του σχήµατος XML που θα χρησιµοποιήσετε για εκείνη την περιοχή: XSI: schemalocation = " note.xsd" 1.2 XSD Simple Elements Τα XML Schemes ορίζουν τα στοιχεία του XML αρχείου σας. Ένα απλό στοιχείο είναι ένα στοιχείο XML που περιέχει µόνο κείµενο. εν µπορεί να περιέχει οποιαδήποτε άλλα στοιχεία ή ιδιότητες. Τι είναι ένα απλό στοιχείο; Ένα απλό στοιχείο είναι ένα στοιχείο XML που µπορεί να περιέχει µόνο κείµενο. εν µπορεί να περιέχει οποιαδήποτε άλλα στοιχεία ή ιδιότητες. Ωστόσο, ο "µόνο κείµενο" περιορισµός είναι αρκετά παραπλανητικός. Το κείµενο µπορεί να είναι πολλών διαφορετικών τύπων. Μπορεί να είναι ένα από τα είδη που περιλαµβάνονται στο XML Schema ορισµός (boolean, string, ηµεροµηνία, κ.λπ.), ή µπορεί να είναι µια προσαρµοσµένου τύπου που µπορείτε να ορίσετε µόνοι σας. Μπορείτε επίσης να προσθέσετε περιορισµούς (έδρες) σε έναν τύπο δεδοµένων, προκειµένου να περιορίσει το περιεχόµενό της, ή µπορείτε να απαιτείτε τα δεδοµένα να ταιριάζουν µε ένα συγκεκριµένο µοτίβο. Καθορισµός ενός απλού στοιχείου Η σύνταξη για τον καθορισµό ενός απλού στοιχείου είναι: <xs:element name="xxx" type="yyy"/> xs:decimal(τύπος στοιχείου δεκαδικός αριθµός) xs:integer (τύπος στοιχείου ακέραιος αριθµός) xs:boolean (τύπος στοιχείου boolean δηλαδή µπορεί να πάρει τις τιµές true ή false) xs:date (τύπος στοιχείου ηµεροµηνία) xs:time (τύπος στοιχείου ώρα) xs:string (τύπος στοιχείου χαρακτήρες) Παραδείγµατα : XML elements: <lastname>refsnes</lastname> <age>36</age> <dateborn> </dateborn>

13 Και εδώ είναι οι αντίστοιχοι απλοί ορισµοί στοιχείου: <xs:element name="lastname" type="xs:string"/> <xs:element name="age" type="xs:integer"/> <xs:element name="dateborn" type="xs:date"/> Μια default τιµή αποδίδεται αυτόµατα στο αντίστοιχο στοιχείο όταν καµία άλλη τιµή δεν έχει καθοριστεί. <xs:element name="color" type="xs:string" default="red"/> Μια fixed τιµή αποδίδεται αυτόµατα στο αντίστοιχο στοιχείο όταν καµία άλλη τιµή δεν έχει καθοριστεί. <xs:element name="color" type="xs:string" fixed="red"/> 1.3 XSD Attributes Όλα τα χαρακτηριστικά δηλώνονται ως απλοί τύποι. Απλά στοιχεία δεν µπορούν να έχουν ιδιότητες. Αν ένα στοιχείο έχει ιδιότητες, θεωρείται ότι είναι σύνθετος τύπος. Αλλά το χαρακτηριστικό το ίδιο δηλώνεται πάντα ως απλός τύπος. Η σύνταξη για τον καθορισµό ενός χαρακτηριστικού είναι: <xs:attribute name="xxx" type="yyy"/> xs:string xs:decimal xs:integer xs:boolean xs:date xs:time Παράδειγµα: <lastname lang="en">smith</lastname> Και εδώ είναι ο αντίστοιχος ορισµός χαρακτηριστικού: <xs:attribute name="lang" type="xs:string"/> Περιορισµοί σχετικά µε τις αξίες Παραδείγµατα: α) 0<age<120 <xs:element name="age"> <xs:simpletype> <xs:restriction base="xs:integer">

14 <xs:mininclusive value="0"/> <xs:maxinclusive value="120"/> </xs:restriction> </xs:simpletype> </xs:element> β) ορίζει ένα στοιχείο που ονοµάζεται «car» µε έναν περιορισµό. Οι µόνες αποδεκτές τιµές είναι: Audi, Golf, BMW: <xs:element name="car"> <xs:simpletype> <xs:restriction base="xs:string"> <xs:enumeration value="audi"/> <xs:enumeration value="golf"/> <xs:enumeration value="bmw"/> </xs:restriction> </xs:simpletype> </xs:element> Περιορισµοί Επεξήγηση enumeration Ορίζει µια λίστα των αποδεκτών τιµών. fractiondigits length maxexclusive / minexclusive maxinclusive / mininclusive maxlength/ minlength pattern Καθορίζει το µέγιστο αριθµό των επιτρεπόµενων δεκαδικών ψηφίων. Πρέπει να είναι ίση ή µεγαλύτερη από το µηδέν. Καθορίζει τον ακριβή αριθµό των επιτρεπόµενων χαρακτήρων ή των στοιχείων λίστας. Πρέπει να είναι ίση ή µεγαλύτερη από το µηδέν. Καθορίζει τα άνω /κάτω φράγµατα για αριθµητικές τιµές (η τιµή πρέπει να είναι µικρότερη από την τιµή αυτή) Καθορίζει τα άνω /κάτω φράγµατα για αριθµητικές τιµές (η τιµή πρέπει να είναι µικρότερη ή ίση µε την τιµή αυτή) Καθορίζει το µέγιστο/ελάχιστο αριθµό των επιτρεπόµενων χαρακτήρων ή των στοιχείων λίστας. Πρέπει να είναι ίση ή µεγαλύτερη από το µηδέν. πατέντα totaldigits Συνολικός αριθµός χαρακτήρων. Στο παραπάνω πίνακα υπάρχουν όλοι οι δυνατοί περιορισµοί που µπορούµε να θέσουµε σε κάποιο στοιχείο και οι επεξηγήσει τους 1.4 XSD Complex Elements Ένα σύνθετο στοιχείο είναι ένα στοιχείο XML που περιέχει άλλα στοιχεία ή / και ιδιότητες. Υπάρχουν τέσσερα είδη σύνθετων στοιχείων: I) κενά στοιχεία

15 II) στοιχεία που περιέχουν µόνο άλλα στοιχεία III) στοιχεία που περιέχουν µόνο κείµενο IV) στοιχεία που περιέχουν και άλλα στοιχεία και το κείµενο Σηµείωση: Κάθε ένα από αυτά τα στοιχεία µπορεί να περιέχουν και χαρακτηριστικά! Παραδείγµατα σύνθετων στοιχείων Ένα σύνθετο στοιχείο XML, "product ", το οποίο είναι άδειο: <product pid="1345"/> Ένα σύνθετο στοιχείο XML, «employee», το οποίο περιέχει µόνο άλλα στοιχεία: <employee> <firstname>john</firstname> <lastname>smith</lastname> </employee> Μπορούµε να ορίσουµε ένα σύνθετο στοιχείο σε ένα σχήµα XML µε δύο διαφορετικούς τρόπους: 1. Το «employee» στοιχείο µπορεί να δηλωθεί άµεσα από την ονοµασία του στοιχείου, όπως αυτό: <xs:element name="employee"> <xs:complextype> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complextype> </xs:element> 2. Το "employee" στοιχείο µπορεί να έχει ένα χαρακτηριστικό τύπο(type), o οποίος τύπος είναι τύπου complextype: <xs:element name="employee" type="personinfo"/> <xs:complextype name="personinfo"> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complextype> Εάν χρησιµοποιείτε τη µέθοδο που περιγράφεται παραπάνω, ορισµένα στοιχεία µπορεί να αναφέρονται στον ίδιο σύνθετο τύπο, όπως τα παρακάτω: <xs:element name="employee" type="personinfo"/> <xs:element name="student" type="personinfo"/>

16 <xs:element name="member" type="personinfo"/> <xs:complextype name="personinfo"> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complextype> Μπορείτε να βασίσετε επίσης ένα σύνθετο στοιχείο σε ένα υπάρχον σύνθετο στοιχείο και να προσθέσετε κάποια στοιχεία, όπως αυτό: <xs:element name="employee" type="fullpersoninfo"/> <xs:complextype name="personinfo"> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complextype> <xs:complextype name="fullpersoninfo"> <xs:complexcontent> <xs:extension base="personinfo"> <xs:sequence> <xs:element name="address" type="xs:string"/> <xs:element name="city" type="xs:string"/> <xs:element name="country" type="xs:string"/> </xs:sequence> </xs:extension> </xs:complexcontent> </xs:complextype> 1.5 Complex Empty Elements Ένα άδειο complex στοιχείο δεν µπορεί να έχει περιεχόµενο, µόνο χαρακτηριστικά. Ένα άδειο XML element: <product prodid="1345" /> Το «product» στοιχείο παραπάνω δεν έχει περιεχόµενο σε όλα. Για να ορίσετε έναν τύπο χωρίς περιεχόµενο, πρέπει να ορίσουµε ένα είδος που επιτρέπει στα στοιχεία ως προς το περιεχόµενο, αλλά δεν δηλώνουν στην πραγµατικότητα οποιαδήποτε στοιχεία, όπως αυτό: <xs:element name="product"> <xs:complextype> <xs:complexcontent> <xs:restriction base="xs:integer"> <xs:attribute name="prodid" type="xs:positiveinteger"/> </xs:restriction>

17 </xs:complexcontent> </xs:complextype> </xs:element> Στο παραπάνω παράδειγµα, ορίζουµε ένα σύνθετο τύπο µε ένα σύνθετο περιεχόµενο. Το στοιχείο complexcontent δείχνει την πρόθεση να περιορίσει ή να επεκτείνει το περιεχόµενο ενός σύνθετου τύπου, και ο περιορισµός του ακεραίου δηλώνει ένα χαρακτηριστικό, αλλά δεν θεσπίζει κάποιο στοιχείο. Ωστόσο, είναι δυνατόν να δηλώσει το «προϊόν» στοιχείο πιο συµπαγώς, όπως αυτό: <xs:element name="product"> <xs:complextype> <xs:attribute name="prodid" type="xs:positiveinteger"/> </xs:complextype> </xs:element> Ή µπορείτε να δώσετε στο complextype στοιχείο ένα όνοµα, όπως παρακάτω το στοιχείο "προϊόν" έχει ένα χαρακτηριστικό τύπο, complextype (αν χρησιµοποιείτε αυτή τη µέθοδο, αρκετά στοιχεία µπορούν να αναφέρονται στον ίδιο τύπο): <xs:element name="product" type="prodtype"/> <xs:complextype name="prodtype"> <xs:attribute name="prodid" type="xs:positiveinteger"/> </xs:complextype> 1.6 Complex Types Containing Elements Only Σύνθετους τύπους στοιχείων που περιλαµβάνουν µόνο στοιχεία. Ένα στοιχείο XML, "person ", που περιέχει µόνο άλλα στοιχεία: <person> <firstname>john</firstname> <lastname>smith</lastname> </person> Μπορείτε να ορίσετε το «person» στοιχείο σε ένα σχήµα, όπως αυτό: <xs:element name="person"> <xs:complextype> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complextype> </xs:element> ετικέτα <xs:sequence>. Αυτό σηµαίνει ότι τα στοιχεία που ορίζονται ("firstname" και "lastname") πρέπει να εµφανίζονται µε αυτή τη σειρά µέσα σε ένα «person» στοιχείο. <xs:element name="person" type="persontype"/>

18 <xs:complextype name="persontype"> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complextype> 1.7 Complex Text-Only Elements Αυτός ο τύπος περιέχει µόνο απλό περιεχόµενο (κείµενο και ιδιότητες), γι 'αυτό προσθέστε ένα στοιχείο simplecontent γύρω από το περιεχόµενο. Όταν χρησιµοποιείτε απλό περιεχόµενο, πρέπει να ορίσετε µια επέκταση ή περιορισµό µέσα στο στοιχείο simplecontent, όπως αυτό: <xs:element name="somename"> <xs:complextype> <xs:simplecontent> <xs:extension base="basetype">... </xs:extension> </xs:simplecontent> </xs:complextype> </xs:element> OR <xs:element name="somename"> <xs:complextype> <xs:simplecontent> <xs:restriction base="basetype">... </xs:restriction> </xs:simplecontent> </xs:complextype> </xs:element> 1.8 Complex Types with Mixed Content Ένα στοιχείο XML, «letter», το οποίο περιέχει κείµενο και άλλα στοιχεία: <letter> Dear Mr.<name>John Smith</name>. Your order <orderid>1032</orderid> will be shipped on <shipdate> </shipdate>. </letter> "letter" element: <xs:element name="letter"> <xs:complextype mixed="true">

19 <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="orderid" type="xs:positiveinteger"/> <xs:element name="shipdate" type="xs:date"/> </xs:sequence> </xs:complextype> </xs:element> Σηµείωση: Για να ενεργοποιήσετε τα στοιχεία του χαρακτήρα που θα εµφανίζεται µεταξύ του παιδιού-στοιχεία της «letter», το µικτό χαρακτηριστικό πρέπει να ρυθµιστεί σε "true". Η ετικέτα <xs:sequence> σηµαίνει ότι τα στοιχεία που ορίζονται (name, OrderID και shipdate) πρέπει να εµφανίζονται µε αυτή τη σειρά µέσα σε ένα «letter» στοιχείο. Θα µπορούσαµε επίσης να δώσουµε στο complextype στοιχείο ένα όνοµα, παρακάτω το στοιχείο "letter " έχει ένα χαρακτηριστικό τύπο που αναφέρεται στο όνοµα του complextype (αν χρησιµοποιείτε αυτή τη µέθοδο, αρκετά στοιχεία µπορούν να αναφέρονται στο ίδιο συγκρότηµα τύπου): <xs:element name="letter" type="lettertype"/> <xs:complextype name="lettertype" mixed="true"> <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="orderid" type="xs:positiveinteger"/> <xs:element name="shipdate" type="xs:date"/> </xs:sequence> </xs:complextype> 1.9 XSD Indicators Μπορούµε να ελέγξουµε το ΠΩΣ τα στοιχεία πρέπει να χρησιµοποιούνται σε έγγραφα µε δείκτες. Υπάρχουν επτά είδη δεικτών τα οποία χωρίζονται σε 3 κατηγορίες: α)order indicators: All Choice Sequence β)occurrence indicators: maxoccurs minoccurs γ)group indicators: Group name attributegroup name

20 Order Indicators All Indicator Πτυχιακή εργασία της φοιτήτριας Αικατερίνης-Ιωσηφίνα Αρβανιτάκη Ο <all> δείκτης προσδιορίζει ότι τα στοιχεία που το παιδί µπορούν να εµφανιστούν σε οποιαδήποτε σειρά, και ότι κάθε στοιχείο-παιδί πρέπει να συµβεί µόνο µία φορά: <xs:element name="person"> <xs:complextype> <xs:all> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:all> </xs:complextype> </xs:element> Choice Indicator Ο δείκτης <choice> ορίζει ότι είτε ένα στοιχείο ή ένα άλλο παιδί µπορεί να συµβεί: <xs:element name="person"> <xs:complextype> <xs:choice> <xs:element name="employee" type="employee"/> <xs:element name="member" type="member"/> </xs:choice> </xs:complextype> </xs:element> Sequence Indicator Ο δείκτης <sequence> διευκρινίζει ότι τα στοιχεία-παιδιά πρέπει να εµφανίζονται σε µια συγκεκριµένη σειρά: <xs:element name="person"> <xs:complextype> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complextype> </xs:element> Occurrence Indicators maxoccurs Indicator Ο δείκτης <maxoccurs> καθορίζει τον µέγιστο αριθµό των φορών που ένα στοιχείο µπορεί να συµβεί: <xs:element name="person"> <xs:complextype> <xs:sequence>

21 <xs:element name="full_name" type="xs:string"/> <xs:element name="child_name" type="xs:string" maxoccurs="10"/> </xs:sequence> </xs:complextype> </xs:element> minoccurs Indicator Ο δείκτης <minoccurs> καθορίζει τον ελάχιστο αριθµό των φορών που ένα στοιχείο µπορεί να συµβεί: <xs:element name="person"> <xs:complextype> <xs:sequence> <xs:element name="full_name" type="xs:string"/> <xs:element name="child_name" type="xs:string" maxoccurs="10" minoccurs="0"/> </xs:sequence> </xs:complextype> </xs:element> Για να επιτρέψετε σε ένα στοιχείο να εµφανιστεί για απεριόριστο αριθµό φορών, χρησιµοποιήστε το maxoccurs = "απεριόριστη" δήλωση: " <?xml version="1.0" encoding="iso "?> <persons xmlns:xsi=" xsi:nonamespaceschemalocation="family.xsd"> <person> <full_name>hege Refsnes</full_name> <child_name>cecilie</child_name> </person> <person> <full_name>tove Refsnes</full_name> <child_name>hege</child_name> <child_name>stale</child_name> <child_name>jim</child_name> <child_name>borge</child_name> </person> <person> <full_name>stale Refsnes</full_name> </person> </persons> Το αρχείο XML από πάνω περιέχει ένα στοιχείο ρίζα που ονοµάζεται "persons ". Μέσα σε αυτό το στοιχείο ρίζας έχουµε ορίσει τρεις «persons» στοιχεία. Κάθε «persons» στοιχείο πρέπει να περιλαµβάνει "full_name» στοιχείο και µπορεί να περιέχει έως και πέντε

22 "child_name» στοιχεία. Πτυχιακή εργασία της φοιτήτριας Αικατερίνης-Ιωσηφίνα Αρβανιτάκη <?xml version="1.0" encoding="iso "?> <xs:schema xmlns:xs=" elementformdefault="qualified"> <xs:element name="persons"> <xs:complextype> <xs:sequence> <xs:element name="person" maxoccurs="unbounded"> <xs:complextype> <xs:sequence> <xs:element name="full_name" type="xs:string"/> <xs:element name="child_name" type="xs:string" minoccurs="0" maxoccurs="5"/> </xs:sequence> </xs:complextype> </xs:element> </xs:sequence> </xs:complextype> </xs:element> </xs:schema> Group Indicators Element Groups <xs:group name="groupname">... </xs:group> Πρέπει να ορίσετε µια all, επιλογή, ή ακολουθία Element στο εσωτερικό της δήλωσης της οµάδας. Το ακόλουθο παράδειγµα ορίζει µια οµάδα µε το όνοµα "persongroup", που καθορίζει µια οµάδα στοιχείων που πρέπει να συµβεί σε µια ακριβή ακολουθία: <xs:group name="persongroup"> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> <xs:element name="birthday" type="xs:date"/> </xs:sequence> </xs:group> Αφού ορίσετε µια οµάδα, µπορείτε να την κάνετε αναφορά σε ένα άλλο ορισµό, όπως αυτό: <xs:group name="persongroup">

23 <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> <xs:element name="birthday" type="xs:date"/> </xs:sequence> </xs:group> <xs:element name="person" type="personinfo"/> <xs:complextype name="personinfo"> <xs:sequence> <xs:group ref="persongroup"/> <xs:element name="country" type="xs:string"/> </xs:sequence> </xs:complextype> Attribute Groups <xs:attributegroup name="groupname">... </xs:attributegroup> group named "personattrgroup": <xs:attributegroup name="personattrgroup"> <xs:attribute name="firstname" type="xs:string"/> <xs:attribute name="lastname" type="xs:string"/> <xs:attribute name="birthday" type="xs:date"/> </xs:attributegroup> Ένα attribute group, µπορείτε να την κάνετε αναφορά σε ένα άλλο ορισµό, όπως αυτό: <xs:attributegroup name="personattrgroup"> <xs:attribute name="firstname" type="xs:string"/> <xs:attribute name="lastname" type="xs:string"/> <xs:attribute name="birthday" type="xs:date"/> </xs:attributegroup> <xs:element name="person"> <xs:complextype> <xs:attributegroup ref="personattrgroup"/> </xs:complextype> </xs:element> 1.10 The <any> Element Το στοιχείο <Any> µας δίνει τη δυνατότητα να επεκταθεί το XML έγγραφο µε στοιχεία που δεν προσδιορίζονται από το σχήµα. Το παράδειγµα που ακολουθεί είναι ένα απόσπασµα από ένα σχήµα XML που ονοµάζεται

24 "family.xsd". είχνει µια δήλωση για το «person» στοιχείο. Με τη χρήση του <Any> στοιχείο που µπορούµε να επεκτείνουµε (µετά το <lastname>) το περιεχόµενο του «person» µε οποιοδήποτε στοιχείο: <xs:element name="person"> <xs:complextype> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> <xs:any minoccurs="0"/> </xs:sequence> </xs:complextype> </xs:element> Τώρα θέλουµε να επεκτείνουµε το «person» στοιχείο µε το «children» στοιχείο. Σε αυτή την περίπτωση µπορούµε να το κάνουµε, ακόµα κι αν ποτέ ο συγγραφέας του παραπάνω σχήµατος δεν δηλώσε «children» στοιχεία. Κοιτάξτε αυτό το αρχείο σχήµατος, που ονοµάζεται "children.xsd": <?xml version="1.0" encoding="iso "?> <xs:schema xmlns:xs=" targetnamespace=" xmlns=" elementformdefault="qualified"> <xs:element name="children"> <xs:complextype> <xs:sequence> <xs:element name="childname" type="xs:string" maxoccurs="unbounded"/> </xs:sequence> </xs:complextype> </xs:element> </xs:schema> Το αρχείο XML που ακολουθεί (που ονοµάζεται "Myfamily.xml»), χρησιµοποιεί στοιχεία από δύο διαφορετικά σχήµατα? "Family.xsd" και "children.xsd": <?xml version="1.0" encoding="iso "?> <persons xmlns=" xmlns:xsi=" xsi:schemalocation=" family.xsd children.xsd"> <person> <firstname>hege</firstname>

25 <lastname>refsnes</lastname> <children> <childname>cecilie</childname> </children> </person> <person> <firstname>stale</firstname> <lastname>refsnes</lastname> </person> </persons> Το αρχείο XML από πάνω είναι valid, διότι το σχήµα "family.xsd" µας επιτρέπει να επεκταθεί το «person» στοιχείο µε ένα προαιρετικό στοιχείο, µετά το «lastname» στοιχείο. Τα <Any> και <anyattribute> στοιχεία χρησιµοποιούνται για να κάνουν Extensible έγγραφα! Επιτρέπουν στα έγγραφα να περιέχουν πρόσθετα στοιχεία που δεν έχουν δηλωθεί στο κύριο σχήµα XML The <anyattribute> Element Το στοιχείο <anyattribute> µας δίνει τη δυνατότητα να επεκταθεί το έγγραφο XML µε ιδιότητες που δεν καθορίζει το σχήµα. Το παράδειγµα που ακολουθεί είναι ένα απόσπασµα από ένα σχήµα XML που ονοµάζεται "family.xsd". είχνει µια δήλωση για το «person» στοιχείο. Με τη χρήση του στοιχείου <anyattribute> µπορούµε να προσθέσουµε οποιοδήποτε αριθµό χαρακτηριστικών για το «person» στοιχείο: <xs:element name="person"> <xs:complextype> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> <xs:anyattribute/> </xs:complextype> </xs:element> Τώρα θέλουµε να επεκτείνουµε το «πρόσωπο» στοιχείο µε "φύλο" χαρακτηριστικό. Σε αυτή την περίπτωση µπορούµε να το κάνουµε, ακόµα κι αν ποτέ ο συγγραφέας του παραπάνω σχήµατος που δηλώνονται κάθε "φύλο" χαρακτηριστικό. Κοιτάξτε αυτό το αρχείο σχήµατος, που ονοµάζεται "attribute.xsd": <?xml version="1.0" encoding="iso "?> <xs:schema xmlns:xs=" targetnamespace=" xmlns="

26 elementformdefault="qualified"> <xs:attribute name="gender"> <xs:simpletype> <xs:restriction base="xs:string"> <xs:pattern value="male female"/> </xs:restriction> </xs:simpletype> </xs:attribute> </xs:schema> Το αρχείο XML που ακολουθεί (που ονοµάζεται "Myfamily.xml»), χρησιµοποιεί στοιχεία από δύο διαφορετικά σχήµατα? "Family.xsd" και "attribute.xsd": <?xml version="1.0" encoding="iso "?> <persons xmlns=" xmlns:xsi=" xsi:schemalocation=" family.xsd attribute.xsd"> <person gender="female"> <firstname>hege</firstname> <lastname>refsnes</lastname> </person> <person gender="male"> <firstname>stale</firstname> <lastname>refsnes</lastname> </person> </persons> Το παραπάνω αρχείο XML ισχύει, διότι το σχήµα "family.xsd" επιτρέπει να προσθέσετε ένα χαρακτηριστικό για το «person» στοιχείο. Η <Any> και στοιχεία <anyattribute> χρησιµοποιούνται για να κάνουν Extensible έγγραφα! Επιτρέπουν έγγραφα που να περιέχουν πρόσθετα στοιχεία που δεν έχουν δηλωθεί στην κύρια σχήµα XML Element Substitution Ας πούµε ότι έχουµε χρήστες από δύο διαφορετικές χώρες: Αγγλία και Νορβηγία. Θα θέλαµε τη δυνατότητα να επιτρέπουν στο χρήστη να επιλέξει εάν αυτός ή αυτή θα ήθελε να χρησιµοποιήσει τα νορβηγικά ονόµατα των στοιχείων ή τα αγγλικά ονόµατα στοιχείο στο έγγραφο XML. Για να λυθεί αυτό το πρόβληµα, θα µπορούσαµε να καθορίσει µια substitutiongroup στο

27 σχήµα XML. Κατ 'αρχάς, δηλώνουµε ένα στοιχείο το root και στη συνέχεια δηλώνουµε τα άλλα στοιχεία τα οποία δηλώνουν ότι µπορούν να υποκατασταθούν για το στοιχείο κεφάλι. <xs:element name="name" type="xs:string"/> <xs:element name="navn" substitutiongroup="name"/> Στο παραπάνω παράδειγµα, το "name " στοιχείο είναι το στοιχείο root και το "navn " στοιχείο µπορεί να υποκατασταθεί µε "name ". Κοιτάξτε αυτό το σχήµα XML: <xs:element name="name" type="xs:string"/> <xs:element name="navn" substitutiongroup="name"/> <xs:complextype name="custinfo"> <xs:sequence> <xs:element ref="name"/> </xs:sequence> </xs:complextype> <xs:element name="customer" type="custinfo"/> <xs:element name="kunde" substitutiongroup="customer"/> Ένα valid XML document (σύµφωνα µε το schema παραπάνω): <customer> <name>john Smith</name> </customer> ή <kunde> <navn>john Smith</navn> </kunde> Blocking Element Substitution Για να αποφύγετε άλλα στοιχεία να αντικατασταθούν µε ένα συγκεκριµένο στοιχείο, χρησιµοποιήστε το χαρακτηριστικό µπλοκ: <xs:element name="name" type="xs:string" block="substitution"/> <xs:element name="name" type="xs:string" block="substitution"/> <xs:element name="navn" substitutiongroup="name"/> <xs:complextype name="custinfo"> <xs:sequence> <xs:element ref="name"/> </xs:sequence> </xs:complextype>

28 <xs:element name="customer" type="custinfo" block="substitution"/> <xs:element name="kunde" substitutiongroup="customer"/> Ένα valid XML document (σύµφωνα µε το schema παραπάνω): <customer> <name>john Smith</name> </customer> ΑΛΛΑ ΑΥΤΟ ΕΝ ΕΊΝΑΙ ΠΛΕΟΝ VALID: <kunde> <navn>john Smith</navn> </kunde> ΠΑΡΑ ΕΙΓΜΑΤΑ "shiporder.xml": <?xml version="1.0" encoding="iso "?> <shiporder orderid="889923" xmlns:xsi=" xsi:nonamespaceschemalocation="shiporder.xsd"> <orderperson>john Smith</orderperson> <shipto> <name>ola Nordmann</name> <address>langgt 23</address> <city>4000 Stavanger</city> <country>norway</country> </shipto> <item> <title>empire Burlesque</title> <note>special Edition</note> <quantity>1</quantity> <price>10.90</price> </item> <item> <title>hide your heart</title> <quantity>1</quantity> <price>9.90</price> </item> </shiporder> Το έγγραφο XML παραπάνω αποτελείται από ένα στοιχείο ρίζας, "shiporder", που περιέχει ένα απαιτούµενο χαρακτηριστικό που ονοµάζεται "orderid ". Το "shiporder» στοιχείο περιέχει τρία διαφορετικά στοιχεία παιδιά: «orderperson", "shipto" και "item ". Το "item " στοιχείο εµφανίζεται δύο φορές, και περιέχει ένα "title ", ένα προαιρετικό «note», ένα «quantity», και ένα «price» στοιχείο. Η παραπάνω γραµµή: xmlns: XSI = " λέει στο XML parser ότι το έγγραφο αυτό θα πρέπει να επικυρωθεί σε σχέση µε ένα σχήµα. Η

29 γραµµή: XSI: nonamespaceschemalocation = "shiporder.xsd" Ορίζει σε ποιες περιπτώσεις το σχήµα κατοικεί (εδώ είναι στο ίδιο φάκελο µε το "shiporder.xml"). "shiporder.xsd"): <?xml version="1.0" encoding="iso "?> <xs:schema xmlns:xs=" <!-- definition of simple elements --> <xs:element name="orderperson" type="xs:string"/> <xs:element name="name" type="xs:string"/> <xs:element name="address" type="xs:string"/> <xs:element name="city" type="xs:string"/> <xs:element name="country" type="xs:string"/> <xs:element name="title" type="xs:string"/> <xs:element name="note" type="xs:string"/> <xs:element name="quantity" type="xs:positiveinteger"/> <xs:element name="price" type="xs:decimal"/> <!-- definition of attributes --> <xs:attribute name="orderid" type="xs:string"/> <!-- definition of complex elements --> <xs:element name="shipto"> <xs:complextype> <xs:sequence> <xs:element ref="name"/> <xs:element ref="address"/> <xs:element ref="city"/> <xs:element ref="country"/> </xs:sequence> </xs:complextype> </xs:element> <xs:element name="item"> <xs:complextype> <xs:sequence> <xs:element ref="title"/> <xs:element ref="note" minoccurs="0"/> <xs:element ref="quantity"/> <xs:element ref="price"/> </xs:sequence> </xs:complextype> </xs:element> <xs:element name="shiporder"> <xs:complextype> <xs:sequence>

30 <xs:element ref="orderperson"/> <xs:element ref="shipto"/> <xs:element ref="item" maxoccurs="unbounded"/> </xs:sequence> <xs:attribute ref="orderid" use="required"/> </xs:complextype> </xs:element> </xs:schema>

31 ΚΕΦΑΛΑΙΟ 2 Graphical XML Schemes Εισαγωγή Σε αυτό το κεφάλαιο δείχνω τα πιο σηµαντικα graphical XML Schemes και γίνεται η σύγκριση τους. Καθένα από αυτά είναι ξεχωριστό από τα άλλα, καθώς υπάρχουν πολλοί τρόποι αναπαράστασης τους. Τα προβλήµατα που αντιµετωπίζουµε όταν εργαζόµαστε µε XSD µπορεί να µετριαστεί µε τη χρήση γραφικών εργαλείων επεξεργασίας. Παρά το γεγονός ότι κάθε text-based επεξεργαστής µπορεί να χρησιµοποιηθεί για την επεξεργασία ενός XML Schema, ένα γραφικό editor προσφέρει πλεονεκτήµατα, καθώς µας δίνεται η δυνατότητα να "δούµε" την δοµή του εγγράφου γραφικά και να επεξεργαστούµε και άλλες χρήσιµες λειτουργίες. Γραφική αναπαράσταση XML Schema [2][3][4] 2.1.Cxml Το Cxml σχήµα εκπροσωπείται σε πλούσιο περιεχόµενο του σχήµατος XML που συνήθως λείπει από τα θεωρητικά µοντέλα. Για να κατασκευάσετε ένα Cxml σχήµα ξεκινήστε µε το augmented (επαυξηµένο) hypergraph του οποίου οι κορυφές και οι ακµές είναι αντικειµένα και σύνολα σχέσεων, αντίστοιχα, που αποτελείται από τα στολίδια που αντιπροσωπεύουν περιορισµούς. Οι γραµµές συνδέουν σύνολα µε σύνολα αντικειµένων. Ένας περιορισµός συµµετοχής καθορίζει πόσες φορές ένα αντικείµενο µπορεί να συµµετέχει σε ένα σύνολο σχέσεων. Περιγραφή της παρακάτω εικόνας: Κοιτάζοντας το γράφηµα1 αρχικά ορίζεται ο κόµβος ρίζα ο οποίος είναι ο "athlites", τότε να εντάξετε όλα τα πεδία που υπάρχουν µέσα στο "athlites". Βάλτε το βέλος για να δείξετε ότι όλα τα στοιχεία βρίσκονται εντός του "athlites". Τα κουτιά µε τις διακεκοµµένες γραµµές τα οποία έχουν τοποθετήσει, για να δείξουµε ότι είναι ένα υπο-στοιχείο παράδειγµα "Date_of_birth"

32 Athlites Code Country_of_participation Name Surname Country_of_origin Trainer_code Gender Date_of_birth Weight Height Day Month Year Σχήµα. 1. οµές Ακολουθίας / Επιλογής (Sequence/Choice Structures) Σχήµα. 2. Best Representation of Figure 1 using XER Notation.

33 2.2 UML Χρησιµοποιούµε τα xml schema graphics XML για να δηµιουργήσετε ένα UML. Στη UML ορίζουν αρχικά το στοιχείο ρίζα του γραφήµατος, όπου <xs:sequence> ο τύπος. Στη συνέχεια, τοποθετήστε κάτω από τα υπόλοιπα στοιχεία ενός αθλητή που θα πρέπει να είναι τύπου <xs:sequence>, όπως φαίνεται στην παρακάτω εικόνα. Όταν θέλουµε τα στοιχεία να εµφανίζονται µόνο 1 φορά το καθένα, τότε θα ακολουθία αριθµών: 1. Το διαµάντι δείχνει το στοιχείο ρίζα. Για παράδειγµα, "date_of_birth" στοιχεία-ρίζες είναι: "ηµέρα", "µήνας" και "χρόνος". Εικόνα 3. Καλύτερη Απεικόνιση του Σχήµατος 1 Χρησιµοποιώντας Σηµειογραφία Κόνραντ Συγκρίνοντας το C-XML και UML, παρατηρούµε ότι, σύµφωνα µε τα κριτήρια για την εννοιολογική µοντελοποίηση XML είναι τα τρία µοντέλα: Επίσηµη εγκατάστασης: Η c-xml έχει επίσηµα σταθερή µε σταθερή βάση από την άποψη της λογικής. -Αντανάκλαση του νοητικού µοντέλου: εκτός από τα χαρακτηριστικά των οντοτήτων της UML, η XML, ξεχωρίζει. Επίσης, το C-XML αντιπροσωπεύει όλες τις έννοιες ως αντικείµενα-σύνολα κόµβων στα Hypergraphs. Ένα µειονέκτηµα είναι ότι ο χρήστης της UML, ή της XML, θα πρέπει να αποφασιστεί από πριν αν θα πρέπει να ορίσει

34 µια οντότητα ή ένα χαρακτηριστικό ως τάξη. -Προβολές: Τα Hypergraphs είναι συνήθως πιο δεκτικά σε µεταφράσεις µε διάφορους τρόπους, συµπεριλαµβανοµένων των εναλλακτικών µορφών XML. 2.3 XSD-Μ Περιγραφή της εικόνας πιο κάτω: Στο σχήµα 4 δείτε το "athlites" και όλα τα πεδία. Στο πρώτο (1ο) µέρος βλέπουµε το όνοµα του πεδίου, στη δεξιά πλευρά κάτω από το όνοµα του πεδίου είναι το νούµερο ένα (1), που δείχνει πόσες φορές µπορεί να είναι το πεδίο που χρησιµοποιείται για κάθε αθλητή. Στην αριστερή πλευρά κάτω από το όνοµα του τοµέα είναι ο αριθµός που δείχνει την αρίθµηση του πεδίου, ώστε να γνωρίζουν πόσα πεδία υπάρχουν στον αθλητή. Στο δεύτερο (2ο) µέρος του κάθε τοµέα γράφουµε τον τύπο. Τέλος, στο τρίτο (3ο) µέρος βάλαµε το T ή S {}. Το T θέλει να µας δείξει ότι κάτω από την περιοχή που δεν ακολουθεί κάτι άλλο, επίσης, ο δείκτης S µας δείχνει ότι µέσα στις αγκύλες {} βάζουµε τους αριθµούς σε πεδία που υπάρχουν µέσα σε αυτό. Για παράδειγµα, "date_of_birth" θέτουµε S {11, 12,13}, όπου 11 είναι η "Ηµέρα", το 12 είναι ο "Μήνας" και 13 είναι το "Έτος" Σχήµα 4. Γραφική αναπαράσταση του δείγµατος σε schema XSD-M

35 2.4 XML Σχηµάτων Altova Για να δηµιουργήσετε ένα σχήµα XML altova υπάρχουν δύο (2) εκδόσεις, η πρώτη (1) έκδοση είναι να γράψετε τον κώδικα και να εµφανιστεί το παραπάνω σχέδιο, και η δεύτερη (2) είναι η έκδοση altova να σχεδιάσετε κάθε στοιχείο ξεχωριστά και έτσι δηµιουργείται ο κώδικας άµεσα. Στο σχήµα 5 βλέπουµε ότι "athlites" είναι ένα σηµείο όπου υπάρχουν στοιχεία µέσα σε αυτό. Το σύµβολο-ooo- δηλώνει τον τύπο του complextype.

36 Επιπλέον, βλέπουµε στην εικόνα 6 οι τύποι του κάθε στοιχείου όπως φαίνεται στο altova. Αυτό µας βοηθά να γνωρίζουµε τον τύπο του κάθε στοιχείου, ώστε να το γράψουµε πιο εύκολα. Εικόνα 6. Σχήµα altova για το xml Athlites µε τα στοιχεία του.

37 Σχήµα 7. Υπόδειγµα του πεδίου YUMARC πεδίο στοιχείο µορφή και τα χαρακτηριστικά 2.5 Liquid Εξετάζοντας το διάγραµµα πιο κάτω µπορούµε να δούµε ότι υπάρχει «athlites" ως ρίζα και στη συνέχεια ακολουθούν οι λεπτοµέρειες του "athlites", µε το όνοµα, άνω και κάτω τελεία (:) και στη συνέχεια τον τύπο του. Το σύµβολο αυτό υποδεικνύει ότι ο τύπος είναι complextype στοιχείο, αποτελείται από τα στοιχεία στα δεξιά του συµβόλου. Επίσης, έχουµε κάποια χαρακτηριστικά τα οποία εµφανίζονται µε ένα «Α» µέσα σε ένα πράσινο κουτί. Σχήµα 8.Liquid

38 2.6 Oxygen XML Editor Η Oxygen XML Editor είναι µια πολύ-πλατφόρµα επεξεργασίας XML, XSLT / XQuery debugger µε υποστήριξη Unicode. Πρόκειται για µια εφαρµογή Java, έτσι ώστε να µπορεί να τρέξει σε Windows, Mac OS X και Linux.

39 2.6.1 XML δυνατότητες επεξεργασίας Η Oxygen XML προσφέρει µια σειρά από χαρακτηριστικά για την επεξεργασία εγγράφων XML. Γίνεται έλεγχος των εγγράφων για τη σωστή XML µορφή. Μπορούν επίσης να επικυρωθoύν από ένα schema. Για σκοπούς επαλήθευσης, τα έγγραφα µπορούν να επικυρωθούν κατά τα schemes DTD, W3C XML Schema, RELAX NG, Schematron, NRL και NVDL. Ο Oxygen XML editor µπορεί να επικυρώσει επίσης τα XML έγγραφα, όπως εισάγονται. Για επιπρόσθετους τύπους σχήµατος, ένα σενάριο επικύρωσης µπορεί να παραχθεί, το οποίο επιτρέπει στην Oxygen XML να καλεί αυθαίρετα προγράµµατα, να κάνουν την επικύρωση. Επίσης, το πρόγραµµα έχει την υποστήριξη για XML καταλόγους. Ένας κατάλογος XML είναι ένα αρχείο XML, συγκεκριµένης µορφής, που χαρτογραφεί ένα schema definition string σε ένα πραγµατικό όνοµα του αρχείου στο δίσκο ή στον ιστό(web). Χρησιµοποιώντας καταλόγους επιτρέπεται στο χρήστη να καθορίσει µια διεύθυνση web για ένα schema, αλλά επιτρέπει στην Oxygen να βρεί µια µορφή αρχείου από τη διεύθυνση, εάν ο κατάλογος καθορίζει κάποια µορφή. H Oxygen XML προσφέρει τρία είδη εµφανίσεων που έχουν σχεδιαστεί για την επεξεργασία εγγράφων XML. Οι εµφανίσεις αυτές είναι text, grid, and author. Εµφάνιση Text Η εµφάνιση Text είναι η προεπιλεγµένη προβολή για την επεξεργασία ενός εγγράφου XML. Όπως υποδηλώνει το όνοµα, η άποψη αυτή δείχνει το XML κείµενο ως κείµενο. Για τα έγγραφα που σχετίζονται µε ένα σχήµα XML, η Oxygen XML προσφέρει ετικέτες ολοκλήρωσης. Η Oxygen XML µπορεί να χρησιµοποιήσει µια σειρά από γλώσσες σχήµατος XML, συµπεριλαµβανοµένων των DTD, W3C XML Schema, RELAX NG (τόσο συµπαγές και πλήρες). Εκτός από ετικέτες,οι σχολιασµούς στο schema θα εµφανιστούν ως επεξηγήσεις για τα στοιχεία στα οποία οι σηµειώσεις εφαρµόζονται. Για τα schemes που δεν έχουν ένα πρότυπο µηχανισµό bindingς(binding) µε το αρχείο XML, η Oxygen XML παρέχει οδηγίες επεξεργασίας που καθοδηγούν το πρόγραµµα ως προς το ποια schemes να χρησιµοποιήσoυν. Για έγγραφα που δεν έχουν κάποιο schema, η Oxygen µπορεί να αναλύσει τη δοµή του εγγράφου και να δηµιουργήσουν ένα schema. Εµφάνιση Grid Η Εµφάνιση Grid δείχνει το έγγραφο XML σε ένα τύπου υπολογιστικό φύλλο. Η πιο αριστερή στήλη εµφανίζει τα στοιχεία, συµπεριλαµβανοµένων των σχολίων και οδηγίες επεξεργασίας, στο επίπεδο ρίζας. Η επόµενη στήλη δείχνει τις ιδιότητες των στοιχείων ρίζα, και κάθε µοναδικό πρώτο παιδί της ρίζας XML στοιχείου. Εάν το στοιχείο ρίζα έχει έξι παιδιά όλα µε το όνοµα "section", τότε η προβολή πλέγµατος θα δείξει µόνο ένα στοιχείο "section", και µια σηµείωση ότι υπάρχουν έξι από αυτούς. Αυτή η επανάληψη συνεχίζει για την επόµενη στήλη. Αυτή η άποψη δεν είναι συχνά χρήσιµη για HTML ή έγγραφα παρόµοιας µορφής, αλλά µπορεί να είναι χρήσιµη για ορισµένες µορφές XML που µοιάζουν µε φύλλα.

40 Η άποψη αυτή δείχνει την όλη δοµή του αρχείου XML. Όλες οι έγγραφες πληροφορίες στο αρχείο θα παρουσιαστούν σε αυτή την άποψη. Εµφάνιση Author Στην εµφάνιση Author, XML ετικέτες και χαρακτηριστικά µπορεί να απενεργοποιηθούν πλήρως, ή µπορεί να εµφανιστούν σε διάφορους συνδυασµούς. Η επεξεργασία σε αυτή την εµφάνιση είναι ένα ενδιάµεσο βήµα µεταξύ της πραγµατικής WYSIWYG επεξεργασίας και της επεξεργασίας στην κανονική text εµφάνιση από την άποψη της πολυπλοκότητας. Τα στοιχεία XML έχουν γίνει πιο εύκολα στην ανάγνωση από τον άνθρωπο, αλλά οι εµφωλεύσεις και η σηµασιολογία του εγγράφου XML είναι ακόµα σαφής. Ο δροµέας(cursor) µπορεί να τοποθετηθεί µεταξύ οποιωνδήποτε στοιχείων, και όταν η θέση του δροµέα είναι διφορούµενη, ένα εργαλείο-tip παράθυρο θα εµφανιστεί το οποίο δείχνει µία τοπική όψη του δέντρου XML και την θέση του δροµέα µέσα σε αυτό. Τα XML στοιχεία δεν εισάγονται ποτέ σιωπηρά εισαχθεί στο έγγραφο. Ωστόσο, µια κοινή δράση στην επεξεργασία εγγράφων, όπως τα αρχεία XML είναι να δηµιουργήσετε ένα νέο στοιχείο µε το ίδιο όνοµα µετά από την τρέχουσα. Η εµφάνιση Author θα εκτελέσει αυτή τη λειτουργία, εάν ο χρήστης πατήσει το πλήκτρο enter δύο φορές (πατώντας µια φορά φέρνει ένα παράθυρο των πιθανών στοιχείων για να προσθέσετε, αν είναι διαθέσιµο). Η εισαγωγή στοιχείων µπορεί να γίνει µέσω εντολών refactoring της Oxygen xml για την εισαγωγή ενός στοιχείου στην τρέχουσα θέση του δροµέα. Ακόµη και αν οι ετικέτες XML δεν είναι ορατές, µια ένδειξη για ένα άδειο στοιχείο εµφανίζεται πάντα χρησιµοποιώντας το όνοµα του εν λόγω στοιχείου.

41 2.7 Graph Πτυχιακή εργασία της φοιτήτριας Αικατερίνης-Ιωσηφίνα Αρβανιτάκη

42 Τι πρέπει να υποστηρίζει ένα graphical xml schema. Cxml Uml XSD-M Altova Liquid Oxygen Simple Types Xsd Element Xsd Attributes Xsd Restrictions Complex Types Xsd Empty Xsd Elements Only Xsd Text Only Xsd Mixed Xsd Indicators - Xsd <any> - - Xsd <anyattribute s> Xsd Substitution Data Types Xsd String Xsd Date - Xsd Numberic - Xsd Misc ID IDREF

43 Παραπάνω γίνεται η σύγκριση των graphical xml schemes που είδαµε και πιο πάνω, ως προς τι υποστηρίζει το κάθε ένα. Συµπεραίνω ότι το UML και το Liquid είναι τα πιο αποδοτικά. Στοιχείο: Ένα απλό στοιχείο XML το οποίο µπορεί να περιέχει µόνο κείµενο. εν περιέχει οποιαδήποτε άλλα στοιχεία ή ιδιότητες. Το κείµενο µπορεί να είναι πολλών διαφορετικών τύπων. Μπορεί να είναι ένα από τα στοιχεία που περιλαµβάνονται στον ορισµό του XML Schema (boolean, αριθµός, ηµεροµηνία, κλπ.) ή µπορεί να είναι προσαρµοσµένο τύπο που έχετε ορίσει εσείς. Μπορείτε επίσης να προσθέσετε περιορισµούς (έδρες) σε έναν τύπο δεδοµένων για να περιορίσει το περιεχόµενο, ή µπορείτε να ζητήσετε στοιχεία που ταιριάζουν µε ένα συγκεκριµένο µοτίβο. Χαρακτηριστικά: Απλά στοιχεία δεν µπορούν να έχουν χαρακτηριστικά. Αν ένα στοιχείο έχει χαρακτηριστικά θεωρείται ως σύνθετο. Αλλά το χαρακτηριστικό είναι πάντα ίδιο, όπως αναφέρει µια απλή φόρµουλα. Περιορισµοί: Οι περιορισµοί χρησιµοποιούνται για να καθοριστούν οι αποδεκτές τιµές για XML στοιχεία ή ιδιότητες. Οι περιορισµοί σχετικά µε τα στοιχεία XML ονοµάζονται πτυχές. Κενό: Είναι ένα στοιχείο το οποίο δεν έχει περιεχόµενο για τα πάντα. Για να ορίσετε έναν τύπο χωρίς περιεχόµενο, πρέπει να ορίσετε µια λειτουργία που επιτρέπει το περιεχόµενο των δεδοµένων, αλλά δεν αναφέρει ορισµένα γεγονότα. Στοιχεία µόνο: Η elementsonly είναι ένα στοιχείο της XML, "πρόσωπο" που περιλαµβάνει άλλα αντικείµενα Μόνο κείµενο: Ο τύπος περιέχει TextOnly µόνο ένα απλό περιεχόµενο (κείµενο και ιδιότητες), προσθέστε ένα στοιχείο έτσι simplecontent γύρω από το περιεχόµενο. Όταν χρησιµοποιείτε ένα απλό περιεχόµενο, πρέπει να καθορίσετε µια επέκταση ή τον περιορισµό µέσα στο στοιχείο simplecontent. Μικτή: Μια µικτή στοιχείο τύπου µπορεί να περιέχει χαρακτηριστικά, τα στοιχεία και το κείµενο. <Any>: Η <Any> στοιχείο µας δίνει τη δυνατότητα να επεκτείνει το έγγραφο XML µε στοιχεία που δεν προσδιορίζονται από το σχήµα.<anyattributes>:η <anyattribute> στοιχείο µας δίνει τη δυνατότητα να επεκτείνει το έγγραφο XML µε ιδιότητες που δεν προσδιορίζονται από το σχήµα.υποκατάσταση:η αντικατάσταση στο σχήµα της XML, ένα στοιχείο που µπορεί να αποκαταστήσει ένα άλλο στοιχείο. Σχήµατα µε την XML, ένα στοιχείο που µπορεί να αντικαταστήσει ένα άλλο στοιχείο.string:η συµβολοσειρά είναι οι τύποι δεδοµένων που

44 χρησιµοποιούνται για τις τιµές που περιέχουν ακολουθίες χαρακτήρων.ηµεροµηνία:η Ηµεροµηνία τύπος δεδοµένων χρησιµοποιείται για την τιµή που περιέχει ηµεροµηνία. Για να καθορίσει µια ηµεροµηνία είναι η ακόλουθη µορφή "ΕΕΕΕ-MM - DD", όπου ΧΧΧΧ δείχνει το έτος, MM δείχνει ο µήνας, ΗΗ, δηλώνει την ηµέρα. Όλα τα στοιχεία που απαιτούνται. Numberic: Η numberic είναι δεκαδικό τύπους δεδοµένων που χρησιµοποιούνται για αριθµητικές τιµές. ιάφορα:το ιάφορα είναι τα άλλα είδη των δεδοµένων, όπως Boolean, επίπλευσης, διπλό. Ο τύπος boolean έχει οριστεί µια τιµή για να είναι αληθείς ή ψευδείς. Ο τύπος float ορίζει µια σταθερή τιµή.id:το id είναι προαιρετική για να γράψει σε ένα σχήµα XML, το οποίο καθορίζει ένα µοναδικό αναγνωστικό κοινό για το στοιχείο. IdRef: Η idref είναι η αναφορά σε ένα αναγνωριστικό πεδίου.

45 ΚΕΦΑΛΑΙΟ 3 Binding between XML Schema and Java Classes Σύνδεση µεταξύ σχηµάτων XML και Java κλάσεων Εισαγωγή [5][6] Η αρχιτεκτονική Java για Binding XML (JAXB) παρέχει έναν γρήγορο και βολικό τρόπο για να δεσµεύσει µεταξύ τους σχήµατα XML και Java παραστάσεις, καθιστώντας πιο εύκολη για προγραµµατιστές Java την ενσωµάτωση δεδοµένων XML και τις λειτουργίες επεξεργασίας σε εφαρµογές Java. Ως µέρος αυτής της διαδικασίας, η JAXB παρέχει τις µεθόδους για unmarshalling 1 εγγράφων XML σε δέντρα περιεχοµένου Java, και στη συνέχεια γίνεται marshalling 2 δέντρα περιεχοµένου Java πίσω σε XML έγγραφα. Η JAXB παρέχει επίσης έναν τρόπο για τη δηµιουργία σχήµατος XML από αντικειµένα Java. Οι τεχνολογίες XML και Java αναγνωρίζονται ως ιδανικά δοµικά στοιχεία για την ανάπτυξη υπηρεσιών και εφαρµογών Web και εφαρµογών που έχουν πρόσβαση στο διαδίκτυο. Η νέα Java API που ονοµάζεται JAXB µπορεί να καταστήσει ευκολότερη την πρόσβαση σε έγγραφα XML από εφαρµογές γραµµένες στη γλώσσα προγραµµατισµού Java. Οι τεχνολογίες XML και Java είναι συνέταιροι στο να βοηθάνε προγραµµατιστές να ανταλλάσσουν δεδοµένα και προγράµµατα στο Internet. Αυτό συµβαίνει γιατί η XML έχει αναδειχθεί ως το πρότυπο για την ανταλλαγή δεδοµένων µεταξύ διαφορετικών συστηµάτων και η τεχνολογία Java παρέχει µια πλατφόρµα για τη δηµιουργία φορητών εφαρµογών. Η συνεργασία αυτή είναι ιδιαίτερα σηµαντική για τις υπηρεσίες Web, που υπόσχονται στους χρήστες και στους developers εφαρµογών, την λειτουργικότητα των προγραµµάτων οπουδήποτε στο ιαδίκτυο. Η JAXB επιτρέπει στους Java προγραµµατιστές να έχουν πρόσβαση και να επεξεργάζονται δεδοµένα XML χωρίς να χρειάζεται να γνωρίζουν XML ή πως να επεξεργάζονται XML έγγραφα. Η JAXB απλοποιεί την πρόσβαση σε ένα έγγραφο XML από ένα πρόγραµµα Java, παρουσιάζοντας το έγγραφο XML στο πρόγραµµα σε µορφή Java. Το πρώτο βήµα σε αυτή τη διαδικασία είναι να συνδεθεί(binding the schema) το σχήµα σε ένα σύνολο από κλάσεις Java που αναπαριστούν το σχήµα. Βinding a schema σηµαίνει δηµιουργία ενός συνόλου κλάσεων Java που αναπαριστoύν το σχήµα. Όλες οι εφαρµογές JAXB παρέχουν ένα εργαλείο που ονοµάζεται µεταγλωττιστής binding για να κάνει binding ένα σχήµα.

46 3.1 Αρχιτεκτονική Επισκόπηση Σχήµα 2-1 δείχνει τα στοιχεία που συνθέτουν µια εφαρµογή JAXB. Μια εφαρµογή JAXB αποτελείται από τα ακόλουθα αρχιτεκτονικά στοιχεία: schema µεταγλωττιστής : Συνδέει (binds) ένα xml σχήµα σε µια σειρά από σχήµατα που προέρχονται από στοιχεία του προγράµµατος. Η σύνδεση αυτή περιγράφεται από µία γλώσσα (binding) βασισµένη στην XML. Γεννήτρια schema : Χαρτογραφεί ένα σύνολο από στοιχεία προγράµµατος σε ένα σχήµα που προκύπτει. Η χαρτογράφηση αυτή περιγράφεται από σχόλια του προγράµµατος. binding runtime framework (εκτέλεση πλαισίων binding): Παρέχει unmarshalling (ανάγνωση) και marshalling (εγγραφή) εργασιών για την

47 πρόσβαση, το χειρισµό και την επικύρωση XML περιεχόµενου, χρησιµοποιώντας είτε σχήµατα που προκύπτουν είτε προϋπάρχοντα στοιχεία του προγράµµατος. Σχήµα 2-2 δείχνει τι συµβαίνει κατά τη διάρκεια της διαδικασία binding JAXB. Τα γενικά βήµατα της διαδικασία binding JAXB δεδοµένων είναι: 1. ηµιουργία κλάσεων. Ένα σχήµα XML χρησιµοποιείται ως πρώτη ύλη από τον µεταγλωττιστή binding JAXB για να δηµιουργήσει JAXB κλάσεις µε βάση αυτό το σχήµα. 2. Μεταγλωττίστες κλάσεων. Όλες οι κλάσεις που δηµιουργούνται, τα αρχεία προέλευσης, και ο κώδικας εφαρµογής, πρέπει να µεταγλωττίζονται. 3. Unmarshal 1. XML αρχεία που έχουν συνταχθεί σύµφωνα µε τους περιορισµούς στο σχήµα πηγή γίνονται unmarshalled 1 από την πλαίσιο binding της JAXB. Σηµειώστε ότι η JAXB υποστηρίζει επίσης unmarshalling 1 δεδοµένων XML από άλλες πηγές εκτός από τα αρχεία / έγγραφα, όπως τους DOM κόµβους.

48 4. ηµιουργία δέντρου περιεχόµενου. Η unmarshalling διαδικασία δηµιουργεί ένα δέντρο περιεχόµενου από αντικείµενα δεδοµένων που τεκµηριώθηκε από τις κλάσεις που δηµιουργεί η JAXB. Αυτό το δέντρο περιεχοµένου αντιπροσωπεύει τη δοµή και το περιεχόµενο των πηγαίων εγγράφων XML. 5. Επικύρωση (προαιρετικά). Η διαδικασία unmarshalling 1 περιλαµβάνει προαιρετικά επικύρωση των πηγαίων εγγράφων XML πριν από τη δηµιουργία του δέντρου περιεχοµένου. Σηµειώστε ότι αν τροποποιήσετε το δέντρο περιεχόµενου στο Βήµα 6, παρακάτω, µπορείτε επίσης να χρησιµοποιήσετε τη λειτουργία Επικύρωσης JAXB για να επικυρώσετε τις αλλαγές πριν γίνει marshalling 2 το περιεχόµενο πίσω σε ένα έγγραφο XML.. 6. Επεξεργασία περιεχοµένου. Η εφαρµογή πελάτη µπορεί να τροποποιήσει τα δεδοµένα XML που εκπροσωπούνται από το δέντρο περιεχοµένου της Java µέσω των διασυνδέσεων που δηµιουργούνται από το µεταγλωττιστή δεσµευσής. 7. Marshal 2. Το επεξεργασµένο δέντρο περιεχόµενου γίνεται marshalled 2 έξω σε ένα ή περισσότερα έγγραφα XML εξόδου. Το περιεχόµενο µπορεί να επικυρωθεί πριν γίνει το marshalling Παρουσιάζοντας το περιεχόµενο XML Αυτή η ενότητα περιγράφει το πώς η JAXB παρουσιάζει το περιεχόµενο XML ως αντικείµενα Java. Η JAXB υποστηρίζει την οµαδοποίηση των παραγόµενων κλάσεων σε Java πακέτα. Ένα πακέτο περιλαµβάνει: Ένα όνοµα της κλάσης Java προέρχεται από το όνοµα του στοιχείου XML, ή καθορίζεται από ένα δεσµευτικό προσαρµογής. Μια ObjectFactory κλάση είναι ένα εργοστάσιο που χρησιµοποιείται για να επιστρέψει περιπτώσεις bound Java κλάσεων. Ορισµοί Απλών Τύπων Ένα στοιχείο στο σχήµα χρησιµοποιώντας έναν ορισµό απλού τύπου συνδέεται συνήθως µε µία ιδιότητα της Java. εδοµένου ότι υπάρχουν διάφορα είδη τέτοιων στοιχείων του σχήµατος, τα παρακάτω χαρακτηριστικά Java (κοινή για όλα τα συστατικά) περιλαµβάνουν : Τύπου Βάση Τύπου Συλλογή, εάν υπάρχει Κατηγόρηµα Τα υπόλοιπα χαρακτηριστικά Java καθορίζονται στο στοιχείο σχήµα χρησιµοποιώντας το απλό ορισµό του τύπου.

49 Πίνακας 2-1 JAXB Χαρτογράφηση του XML Schema Built-in Τύποι εδοµένων XML Schema Type xsd:string xsd:integer xsd:int xsd.long xsd:short xsd:decimal xsd:double xsd:float xsd:boolean xsd:byte xsd:qname xsd:datetime xsd:base64binary xsd:hexbinary xsd:unsignedint xsd:unsignedshort xsd:unsignedbyte xsd:time xsd:date xsd:g xsd:anysimpletype xsd:anysimpletype xsd:duration xsd:notation Java Data Type java.lang.string java.math.biginteger int long short java.math.bigdecimal double float boolean byte javax.xml.namespace.qname javax.xml.datatype.xmlgregoriancalendar byte[] byte[] long int short javax.xml.datatype.xmlgregoriancalendar javax.xml.datatype.xmlgregoriancalendar javax.xml.datatype.xmlgregoriancalendar java.lang.object java.lang.string javax.xml.datatype.duration javax.xml.namespace.qname

50 Από κώδικα Java σε σχήµα Πίνακας 2-2 δείχνει τη χαρτογράφηση προεπιλεγµένων κλάσεων Java σε XML τύπους δεδοµένων. Java Class java.lang.string java.math.biginteger java.math.bigdecimal java.util.calendar java.util.date javax.xml.namespace.qname java.net.uri javax.xml.datatype.xmlgregoriancalendar javax.xml.datatype.duration java.lang.object java.awt.image javax.activation.datahandler javax.xml.transform.source java.util.uuid XML Data Type xs:string xs:integer xs:decimal xs:datetime xs:datetime xs:qname xs:string xs:anysimpletype xs:duration xs:anytype xs:base64binary xs:base64binary xs:base64binary xs:string Προσαρµογή JAXB Bindings Από σχήµα σε κώδικα Java Προσαρµοσµένες δηλώσεις JAXB δεσµεύσεων που σας επιτρέπουν να προσαρµόσετε τις JAXB κλάσεις που δηµιουργούνται από την JAXB, πέρα από τα ειδικούς XML περιορισµούς σε ένα σχήµα XML ώστε να συµπεριλάβει συγκεκριµένες Java βελτιώσεις όπως χαρτογραφήσεις κλάσεων και αντιστοιχίσεις ονοµάτων του πακέτου. H JAXB παρέχει δύο τρόπους για να προσαρµόσετε ένα σχήµα XML: -Ως ενσωµατωµένα σχόλια σε ένα πηγαίο XML σχήµα. -Ως δηλώσεις σε ένα προσαρµοσµένο εξωτερικό αρχείο δεσµεύσεων που διοχετεύεται στο µεταγλωττιστή binding JAXB.

51 Το παρακάτω, διάγραµµα από την Java Αρχιτεκτονική για XML Binding API, παρουσιάζει τις διαδικασίες τόσο για την πρόσβαση όσο και για τη δηµιουργία εγγράφων XML από τις εφαρµογές Java.

52 Στον παρακάτω πίνακα υπάρχουν παραδείγµατα Binding από XML Schema σε Java classes. XML Schema <xsd:schema xmlns:xsd=" JAXB Binding <xsd:element name="purchaseorder" type="purchaseordertype"/> PurchaseOrder.java <xsd:element name="comment" type="xsd:string"/> Comment.java <xsd:complextype name="purchaseordertype"> <xsd:sequence> <xsd:element name="shipto" type="usaddress"/> <xsd:element name="billto" type="usaddress"/> <xsd:element ref="comment" minoccurs="0"/> <xsd:element name="items" type="items"/> </xsd:sequence> <xsd:attribute name="orderdate" type="xsd:date"/> </xsd:complextype> PurchaseOrderType.ja va <xsd:complextype name="usaddress"> <xsd:sequence> <xsd:element name="name" type="xsd:string"/> <xsd:element name="street" type="xsd:string"/> <xsd:element name="city" type="xsd:string"/> <xsd:element name="state" type="xsd:string"/> <xsd:element name="zip" type="xsd:decimal"/> </xsd:sequence> <xsd:attribute name="country" type="xsd:nmtoken" fixed="us"/> </xsd:complextype> USAddress.java <xsd:complextype name="items"> <xsd:sequence> <xsd:element name="item" minoccurs="1" maxoccurs="unbounded"> Items.java <xsd:complextype> <xsd:sequence> <xsd:element name="productname" type="xsd:string"/> <xsd:element name="quantity"> <xsd:simpletype> <xsd:restriction base="xsd:positiveinteger"> <xsd:maxexclusive value="100"/> </xsd:restriction> </xsd:simpletype> </xsd:element> <xsd:element name="usprice" type="xsd:decimal"/> <xsd:element ref="comment" minoccurs="0"/> Items.ItemType

53 <xsd:element name="shipdate" type="xsd:date" minoccurs="0"/> </xsd:sequence> <xsd:attribute name="partnum" type="sku" use="required"/> </xsd:complextype> </xsd:element> </xsd:sequence> </xsd:complextype> <!-- Stock Keeping Unit, a code for identifying products --> <xsd:simpletype name="sku"> <xsd:restriction base="xsd:string"> <xsd:pattern value="\d{3}-[a-z]{2}"/> </xsd:restriction> </xsd:simpletype> </xsd:schema> Στην πράξη : H τεχνολογία JAXB δεν µπορεί να σταθεί µόνη της, δηλαδή να την χρησιµοποιήσουµε χωρίς την ενσωµάτωση της σε κάποιο άλλο πρόγραµµα. Έτσι µε την βοήθεια του προγράµµατος NetBeans και της Java χρησιµοποιούµε την JAXB. Θα δούµε πως µπορούµε έχοντας αρχεία XML Schema στη διάθεση µας, συγκεκριµένα υποστηρίζονται οι παρακάτω τύποι αρχείων XML Schema : XML Schema XML DTD WSDL - Web Service Definition Language. Η γλώσσα XML Schema για τον καθορισµό SOAP-based υπηρεσίες web. Λοιπόν από τα αρχεία XML Schema µπορούµε να έχουµε Java κλάσεις. Στο NetBeans, κάνοντας δηµιουργία ενός καινούργιου JAXB Binding θα έχουµε το παρακάτω :

54 Παρακάτω είναι ένα παράδειγµα όπου έχουµε επιλέξει ένα αρχείο XML Schema τύπου WDSL και το ενσωµατώνει στο υπάρχων Project JseSimpleClientReport.

55 Έτσι µε το Finish δηµιούργουνται οι αντίστοιχες Java classes. 1 Unmarshlling : παρέχει σε µια εφαρµογή πελάτη τη δυνατότητα να µετατρέπουν τα δεδοµένα XML σε αντικείµενα Java που προέρχονται από την JAXB. 2 marshalling : είναι η διαδικασία µετατροπής της αναπαράστασης στη µνήµη ενός αντικειµένου σε µια µορφή δεδοµένων κατάλληλη για αποθήκευση ή µετάδοση, και χρησιµοποιείται συνήθως όταν τα δεδοµένα πρέπει να µεταφέρονται µεταξύ διαφόρων τµηµάτων ενός προγράµµατος ή από το ένα πρόγραµµα στο άλλο.

56 ΚΕΦΑΛΑΙΟ 4 Πτυχιακή εργασία της φοιτήτριας Αικατερίνης-Ιωσηφίνα Αρβανιτάκη Παρουσίαση της Εφαρµογής µου. Εισαγωγή Το NetBeans IDE είναι ένα περιβαλλοντικό ανάπτυγµα IDE - ένα εργαλείο στους προγραµµατιστές για να γράψουν, να κάνουν compile, debug και να αναπτύξουν προγράµµατα. Είναι γραµµένο σε Java - αλλά µπορεί να υποστηρίξει όλες τις γλώσσες προγραµµατισµού. Υπάρχει επίσης ένας µεγάλος αριθµός υποµονάδων (modules) που βοηθάνε στην επέκταση της λειτουργικότητας του NetBeans IDE. To NetBeans IDE είναι ένα ελεύθερο προϊόν δίχως περιορισµούς στον τρόπο χρησιµοποίησής του. Στην εφαρµογή µου, µε την χρήση της τεχνολογίας JAXB, αρχικά µετατρέπω το XML Schema σε Java classes και µετά µε την χρήση του γραφικού περιβάλλοντος του NetBeans δείχνω στα στοιχεία του. Έχοντας µελετήσει και άλλες εφαρµογές οι οποίες παρουσιάζουν ΧΜL Schemes γραφικά. Έτσι και αποφάσισα να κάνω την δική µου εκδοχή αναπαράστασης ΧΜL Schemes όπου φαίνονται τα στοιχεία του xsd σε πλαίσια διαφορετικού χρώµατος αναλόγως µε τον τύπο του στοιχείου και τα στοιχεία-παιδιά σε άλλα παράθυρα ώστε να φαίνεται η δόµηση τους.

57 Παρουσίαση Πτυχιακή εργασία της φοιτήτριας Αικατερίνης-Ιωσηφίνα Αρβανιτάκη [7][8] Στην εφαρµογή µου µε το πρόγραµµα ΝetΒeans IDE και µε την χρήση της τεχνολογίας JAXB η οποία είναι ενσωµατωµένη, παρουσιάζω ένα xml schema σε γραφικό περιβάλλον. Συγκεκριµένα θα παρουσιάσω την εφαρµογή µου µε ένα παράδειγµα χρησιµοποιώντας το αρχείο customer.xsd. Το οποίο φαίνεται παρακάτω :

58 Το οποίο περιέχει 5 complex types το ColorType, το SizeResourceType, το DescriptionType, το ProductType, το ItemsType. Το ItemsType περιέχει τα στοιχεία(elements) : shirt(producttype), hat(producttype), umbrella(producttype). To ColorType περιέχει τα στοιχεία(elements) : value(string). To ProductType περιέχει τα στοιχεία(elements) : number(integer), name(string), size(sizetype), color(), description(descriptiontype). Όπως δείχνω στο κεφάλαιο για την τεχνολογία JAXB, αρχικά µετατρέπω το αρχείο µου product.xsd το οποίο περιέχει ένα xml schema, σε αρχεία java. Έτσι δηµιουργούνται 5 αρχεία java : το ProductType.java, το ColorType.java, το SizeType.java, το DescriptionType.java και το ItemsType.java. Στο Παράρτηµα Α υπάρχουν τα παραπάνω αρχεία Java. Πρωτού τρέξουµε το Project στην εφαρµογή NetBeans έχουµε την εξής εικόνα :

59 Κάνοντας run το Project εµφανίζεται το εξής παράθυρο : Στη συνέχεια πατώντας το κουµπί Start : θα έχουµε :

60 Όπου δηµιουργούνται δυναµικά 5 κουµπιά τα οποία αναπαριστούν τα complex types του product.xsd. Πατώντας τα 5 αυτά κουµπιά δηµιουργούνται τα εξής :

61 ηµιουργούνται 5 ξεχωριστά παράθυρα στα οποία δηµιουργούνται µέσα σε labels τα στοιχεία των complex types. Όπου µε κόκκινο πλαίσιο αναπαρίστανται τα στοιχεία τύπου String, µε κίτρινο πλαίσιο τα complex στοιχεία, µε πράσινο πλαίσιο τα στοιχεία τύπου Integer.

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

ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ XML-Schema Ι. Χατζηλυγερούδης ΕΙΣΑΓΩΓΗ XML Schema vs DTD Πλουσιότερη γλώσσα: περισσότερες δυνατότητες αναπαράστασης δομήςπεριεχομένου εγγράφων Σύνταξη βασισμένη

Διαβάστε περισσότερα

Αναπαράςταςθ Γνϊςθσ ςτον Παγκόςμιο Ιςτό Ενότθτα 2: XML Δομθμζνα Ζγγραφα Ιςτοφ, Μζροσ 3 ο XML Schema

Αναπαράςταςθ Γνϊςθσ ςτον Παγκόςμιο Ιςτό Ενότθτα 2: XML Δομθμζνα Ζγγραφα Ιςτοφ, Μζροσ 3 ο XML Schema Αναπαράςταςθ Γνϊςθσ ςτον Παγκόςμιο Ιςτό Ενότθτα 2: XML Δομθμζνα Ζγγραφα Ιςτοφ, Μζροσ 3 ο XML Schema Ιωάννθσ Χατηθλυγεροφδθσ Πολυτεχνικι Σχολι Τμιμα Μθχ/κϊν Η/Υπολογιςτϊν & Πλθροφορικισ Περιεχόμενα ενότθτασ

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ - XML ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ - XML Εργαστήρια 7-8 Στουγιάννου Ελευθερία estoug@unipi.gr Περιεχόμενα Έβδομου-Όγδοου Εργαστηριακού Μαθήματος XML Schema Ασκήσεις -

Διαβάστε περισσότερα

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

Εισαγωγή(στη(γλώσσα(XML( Εισαγωγή(στη(γλώσσα(XML( Μανόλης(Γεργατσούλης(( Χρήστος(Παπαθεοδώρου( Ομάδα(Βάσεων(Δεδομένων(και(Πληροφοριακών( Συστημάτων,(Τμήμα(Αρχειονομίας( (Βιβλιοθηκονομίας(( Ιόνιο(Πανεπιστήμιο( HTML(! Απλή(γλώσσα&σημειοθέτησης((markup&language)(!

Διαβάστε περισσότερα

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

Σημασιολογικός Ιστός (Semantic Web) - XML Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Σημασιολογικός Ιστός (Semantic Web) - XML Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων XML

Διαβάστε περισσότερα

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ιαχείριση εδομένων στον Παγκόσμιο Ιστό

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ιαχείριση εδομένων στον Παγκόσμιο Ιστό Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 9. XML Schema ιαχείριση εδομένων στον Παγκόσμιο Ιστό Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων Τετάρτη

Διαβάστε περισσότερα

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

Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών. ΗΥ-561 Διαχείριση Δεδομένων στο Παγκόσμιο Ιστό Ειρήνη Φουντουλάκη Βασίλης Χριστοφίδης Ονοματεπώνυμο: Αριθμός Μητρώου: Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών ΗΥ-561 Διαχείριση Δεδομένων στο Παγκόσμιο Ιστό Ειρήνη Φουντουλάκη Βασίλης Χριστοφίδης Άσκηση 1 (8 μονάδες) Τελική Εξέταση

Διαβάστε περισσότερα

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

Μοντέλο. για ημι-δομημένα μημ δεδομένα. Ημι-δομημένα δεδομένα XML DTD XML Schema Μοντέλο για ημι-δομημένα μημ δεδομένα Ημι-δομημένα δεδομένα XML DTD XML Schema Εισαγωγικά 3 βασικές κατηγορίες δεδομένων: Δομημένα (structured): τα δεδομένα σε ΒΔ, όπου η αναπαράσταση γίνεται σύμφωνα με

Διαβάστε περισσότερα

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

ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ XML (extended Markup Language) Ι. Χατζηλυγερούδης ΕΙΣΑΓΩΓΗ SGML (Standard Generalized Markup Language) Διεθνές πρότυπο ορισμού μεθόδων αναπαράστασης πληροφοριών

Διαβάστε περισσότερα

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

Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών Οδηγός Εργαστηρίου:

Διαβάστε περισσότερα

a = 10; a = k; int a,b,c; a = b = c = 10;

a = 10; a = k; int a,b,c; a = b = c = 10; C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 4 ο Τελεστές Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Ο τελεστής εκχώρησης = Ο τελεστής = χρησιµοποιείται για την απόδοση τιµής (ή αλλιώς ανάθεση τιµής) σε µία µεταβλητή Π.χ.

Διαβάστε περισσότερα

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

Γλώσσες Σήµανσης (Markup Languages) Τεχνολογία ιαδικτύου και Ηλεκτρονικό Εµπόριο Γλώσσες Σήµανσης (Markup Languages) Τεχνολογία ιαδικτύου και Ηλεκτρονικό Εµπόριο 1 Γλώσσες Σήµανσης Γλώσσες σήµανσης: Αρχικά για τον καθορισµό εµφάνισης σελίδων, γραµµατοσειρών. Στη συνέχεια επεκτάθηκαν

Διαβάστε περισσότερα

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

Σε αυτό το µάθηµα θα ασχοληθούµε µε τη βελτίωση της εµφάνισης ενός ιστοτόπου, αλλά και τον εύκολο χειρισµό όλων των αλλαγών στην εµφάνιση της σελίδας Σε αυτό το µάθηµα θα ασχοληθούµε µε τη βελτίωση της εµφάνισης ενός ιστοτόπου, αλλά και τον εύκολο χειρισµό όλων των αλλαγών στην εµφάνιση της σελίδας µέσω της τεχνολογίας των ιαδοχικών Φύλλων Στυλ (cascading

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Σημασιολογικός Ιστός (Semantic Web) - XML Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Σημασιολογικός Ιστός (Semantic Web) - XML 9/12/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων ΙΙ. Διάλεξη 5 η XML και ΒΔ στο Διαδίκτυο Βάσεις Δεδομένων ΙΙ Διάλεξη 5 η XML και ΒΔ στο Διαδίκτυο Δ. Χριστοδουλάκης - Α. Φωκά Τμήμα Μηχανικών Η/Υ & Πληροφορικής - Εαρινό Εξάμηνο 2007 Εισαγωγή Πολλές εφαρμογές διαδικτύου υποστηρίζουν web διεπαφές

Διαβάστε περισσότερα

Σχήµα 4.1: Εισαγωγή βρόγχου while-loop.

Σχήµα 4.1: Εισαγωγή βρόγχου while-loop. Ο βρόγχος While-loop 1. Ο βρόγχος while-loop εκτελείται έως ότου ικανοποιηθεί µία προκαθορισµένη συνθήκη. 2. Ο αριθµός των επαναλήψεων ενός βρόγχου while-loop δεν είναι εκ των προτέρων προκαθορισµένος,

Διαβάστε περισσότερα

o AND o IF o SUMPRODUCT

o AND o IF o SUMPRODUCT Πληροφοριακά Εργαστήριο Management 1 Information Συστήματα Systems Διοίκησης ΤΕΙ Τμήμα Ελεγκτικής Ηπείρου Χρηματοοικονομικής (Παράρτημα Πρέβεζας) και Αντικείµενο: Μοντελοποίηση προβλήµατος Θέµατα που καλύπτονται:

Διαβάστε περισσότερα

Σχήµα 6.1: Εισαγωγή της εντολής Read From Spreadsheet File στο Block Diagram.

Σχήµα 6.1: Εισαγωγή της εντολής Read From Spreadsheet File στο Block Diagram. Εισαγωγή αρχείων δεδοµένων 1. Η εισαγωγή αρχείων δεδοµένων στο LaVIEW γίνεται στο Block Diagram µε την εντολή Read From Spreadsheet File. 2. Εισάγουµε την εντολή Read From Spreadsheet File στο Block Diagram

Διαβάστε περισσότερα

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 9η Διάλεξη: Η γλώσσα XML

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 9η Διάλεξη: Η γλώσσα XML Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 9η Διάλεξη: Η γλώσσα XML Δρ. Απόστολος Γκάμας Λέκτορας (407/80) gkamas@uop.gr Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 1 Γιατί άλλη μία γλώσσα?

Διαβάστε περισσότερα

Ακαδημαϊκό Έτος , Χειμερινό Εξάμηνο Μάθημα: Εργαστήριο «Πληροφορική Υγείας» ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS

Ακαδημαϊκό Έτος , Χειμερινό Εξάμηνο Μάθημα: Εργαστήριο «Πληροφορική Υγείας» ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS Ακαδημαϊκό Έτος 2016-2017, Χειμερινό Εξάμηνο Μάθημα: Εργαστήριο «Πληροφορική Υγείας» ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS A. Εισαγωγή στις βάσεις δεδομένων - Γνωριμία με την ACCESS B. Δημιουργία Πινάκων 1. Εξήγηση των

Διαβάστε περισσότερα

Η ΟΝΤΟΛΟΓΙΑ ΤΟΥ ΕΛΛΗΝΙΚΟΥ ΚΤΗΜΑΤΟΛΟΓΙΟΥ. Μελέτη υλοποίησης στο Protégé-2000

Η ΟΝΤΟΛΟΓΙΑ ΤΟΥ ΕΛΛΗΝΙΚΟΥ ΚΤΗΜΑΤΟΛΟΓΙΟΥ. Μελέτη υλοποίησης στο Protégé-2000 ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΑΓΡΟΝΟΜΩΝ ΤΟΠΟΓΡΑΦΩΝ ΜΗΧΑΝΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΧΑΡΤΟΓΡΑΦΙΑΣ Η ΟΝΤΟΛΟΓΙΑ ΤΟΥ ΕΛΛΗΝΙΚΟΥ ΚΤΗΜΑΤΟΛΟΓΙΟΥ Μελέτη υλοποίησης στο Protégé-2000 Μαρίνος Κάβουρας Αν. Καθηγητής ΕΜΠ ευκαλίων

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Δικτυοκεντρικά Πληροφοριακά Συστήματα Δικτυοκεντρικά Πληροφοριακά Συστήματα Διδάσκων: Μ. Θεμιστοκλέους - Επίκουρος Καθηγητής 1 ΜΕΡΟΣ Α - Θεωρητικό Υπόβαθρο 2 1. Web Services Τι είναι τα Web Services; Η IBM ορίζει τα web services ως μια τεχνολογία

Διαβάστε περισσότερα

Τα web services του παρατηρητηρίου τιμών ακολουθούν λογική REST και απαντούν σε GET requests ως ακολούθως:

Τα web services του παρατηρητηρίου τιμών ακολουθούν λογική REST και απαντούν σε GET requests ως ακολούθως: ΓΕΝ.ΓΡΑΜΜΑΤΕΙΑ ΕΜΠΟΡΙΟΥ ΠΡΟΔΙΑΓΡΑΦΕΣ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ (WEB SERVICES) ΤΟΥ ΠΑΡΑΤΗΡΗΤΗΡΙΟΥ ΤΙΜΩΝ (e-prices.gr) 1. Προδιαγραφές Υπηρεσιών Ιστού (Web Services) Το Παρατηρητήριο Τιμών (e-prices.gr) δημιουργήθηκε

Διαβάστε περισσότερα

Εισαγωγή και επεξεργασία δεδοµένων

Εισαγωγή και επεξεργασία δεδοµένων Μάθηµα 4 Εισαγωγή και επεξεργασία δεδοµένων Εισαγωγή δεδοµένων σε πίνακα 1. Ανοίγουµε το παράθυρο του πίνακα Υπάλληλοι σε προβολή φύλλου δεδοµένων. 2. Η κενή γραµµή, η οποία υπάρχει πάντα στον πίνακα,

Διαβάστε περισσότερα

ΗΜΙΟΥΡΓΙΑ ΙΣΤΟΣΕΛΙ ΑΣ ΣΤΟ MICROSOFT WORD

ΗΜΙΟΥΡΓΙΑ ΙΣΤΟΣΕΛΙ ΑΣ ΣΤΟ MICROSOFT WORD ΗΜΙΟΥΡΓΙΑ ΙΣΤΟΣΕΛΙ ΑΣ ΣΤΟ MICROSOFT WORD Σε ορισµένες περιπτώσεις είναι ιδιαίτερα χρήσιµη η δηµιουργία ιστοσελίδων ενηµερωτικού περιεχοµένου οι οποίες στη συνέχεια µπορούν να δηµοσιευθούν σε κάποιο τόπο

Διαβάστε περισσότερα

Πίνακες, περιγράµµατα και σκίαση

Πίνακες, περιγράµµατα και σκίαση Πίνακες, περιγράµµατα και σκίαση Οι πίνακες Οι πίνακες είναι ορθογώνια πλαίσια που χωρίζονται σε γραµµές και στήλες. Η τοµή µιας γραµµής µε µια στήλη προσδιορίζει ένα κελί. Τα στοιχεία, που παρουσιάζουµε,

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07 Αριθμητική στο δυαδικό σύστημα (γενικά) Συμπληρωματικά για δυαδικό σύστημα Η πρόσθεση στηρίζεται στους κανόνες: 0 + 0 = 0, 0 + 1 = 1, 1

Διαβάστε περισσότερα

Microsoft Excel Κεφάλαιο 1. Εισαγωγή. Βιβλίο εργασίας

Microsoft Excel Κεφάλαιο 1. Εισαγωγή. Βιβλίο εργασίας Περιεχόμενα Κεφάλαιο 1 Microsoft Excel 2010... 7 Κεφάλαιο 2 Η δομή ενός φύλλου εργασίας... 19 Κεφάλαιο 3 ημιουργία νέου βιβλίου εργασίας και καταχώριση δεδομένων... 24 Κεφάλαιο 4 Συμβουλές για την καταχώριση

Διαβάστε περισσότερα

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 2 ο Τύποι Δεδοµένων Δήλωση Μεταβλητών Έξοδος Δεδοµένων Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Μνήµη και Μεταβλητές Σχέση Μνήµης Υπολογιστή και Μεταβλητών Η µνήµη (RAM) ενός

Διαβάστε περισσότερα

Στην συνέχεια και στο επόµενο παράθυρο η εφαρµογή µας ζητάει να εισάγουµε το Username και το Password το οποίο σας έχει δοθεί από τον ΕΛΚΕ.

Στην συνέχεια και στο επόµενο παράθυρο η εφαρµογή µας ζητάει να εισάγουµε το Username και το Password το οποίο σας έχει δοθεί από τον ΕΛΚΕ. 1. Πρόσβαση Οδηγίες προγράµµατος διαχείρισης ανάλυσης χρόνου εργασίας (Time Sheet) Για να ξεκινήσετε την εφαρµογή, από την κεντρική σελίδα του ΕΛΚΕ (www.elke.aua.gr) και το µενού «ιαχείριση», Time Sheet

Διαβάστε περισσότερα

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

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ Στις παραδοσιακές βάσεις δεδομένων, η πληροφορία είναι αυστηρά δομημένη και υπακούει σε ένα σταθερό σχήμα που έχει οριστεί εκ των προτέρων. Τα δεδομένα του Ιστού μπορεί να μην έχουν

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ Web Services

ΚΕΦΑΛΑΙΟ Web Services ΚΕΦΑΛΑΙΟ Web Services Προϋποθέσεις εγκατάστασης Web Services για το Κεφάλαιο 4.50 1. Κεφάλαιο έκδοση 4.51e build 458 ή νεότερο 2. Internet Information Server (IIS) version 6 ή νεότερος 3. Σε κάποιον υπολογιστή

Διαβάστε περισσότερα

Πρακτικές συμβουλές κατά την πληκτρολόγηση ., ; :! ( ) " " Άνοιγμα και αποθήκευση εγγράφου Αρχείο, Άνοιγμα. Αρχείο / Αποθήκευση

Πρακτικές συμβουλές κατά την πληκτρολόγηση ., ; :! ( )   Άνοιγμα και αποθήκευση εγγράφου Αρχείο, Άνοιγμα. Αρχείο / Αποθήκευση Επεξεργαστής κειμένου Word 2003 Πρακτικές συμβουλές κατά την πληκτρολόγηση Για να αλλάξουμε παράγραφο πατάμε Enter. Για να αφήσουμε μία κενή γραμμή, πατάμε μία φορά το Enter. Για να γράψουμε την επόμενη

Διαβάστε περισσότερα

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου) ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου) 1. Εισαγωγή Χαρακτηριστικά της γλώσσας Τύποι δεδοµένων Γλώσσα προγραµµατισµού

Διαβάστε περισσότερα

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Σχεδίαση Βάσεων Δεδομένων

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Σχεδίαση Βάσεων Δεδομένων Ενότητα 3 Σχεδίαση Βάσεων Δεδομένων 17 18 3.1 Εισαγωγή Μία βάση δεδομένων αποτελείται από δεδομένα για διάφορα θέματα τα οποία όμως σχετίζονται μεταξύ τους και είναι καταχωρημένα με συγκεκριμένο τρόπο.

Διαβάστε περισσότερα

Διαχείριση Έργων Πληροφορικής Εργαστήριο

Διαχείριση Έργων Πληροφορικής Εργαστήριο Διαχείριση Έργων Πληροφορικής Εργαστήριο «Εισαγωγή στο MS Project- Διάγραμμα Gantt» Μ.Τσικνάκης, Ρ.Χατζάκη Ε. Μανιαδή, Ά. Μαριδάκη 1. Εισαγωγή στο Microsoft Project To λογισμικό διαχείρισης έργων MS Project

Διαβάστε περισσότερα

Βάσεις Δεδομένων Ι 6. Ιδιότητες πεδίων. Τμήμα Διοίκησης Επιχειρήσεων (Μεσολόγγι) ΤΕΙ Δυτικής Ελλάδας

Βάσεις Δεδομένων Ι 6. Ιδιότητες πεδίων. Τμήμα Διοίκησης Επιχειρήσεων (Μεσολόγγι) ΤΕΙ Δυτικής Ελλάδας Βάσεις Δεδομένων Ι 6 Ιδιότητες πεδίων Τμήμα Διοίκησης Επιχειρήσεων (Μεσολόγγι) ΤΕΙ Δυτικής Ελλάδας ΝΙΚΟΣ ΚΑΡΟΥΣΟΣ - ΔΙΟΝΥΣΗΣ ΚΑΡΟΥΣΟΣ XE 2015-2016 Εισαγωγή Οι ιδιότητες των πεδίων διαφέρουν ανάλογα με

Διαβάστε περισσότερα

Σχεδιασμός εκτυπώσεων ERG

Σχεδιασμός εκτυπώσεων ERG Σχεδιασμός εκτυπώσεων ERG Περιεχόμενα Δημιουργία και διαχείριση εκτυπώσεων ERG... 3 Επιλογή πεδίων... 4 Λεπτομέρειες... 6 Καθορισμός φίλτρων... 6 Ταξινόμηση και ομαδοποίηση... 7 Εξαγόμενο εκτύπωσης...

Διαβάστε περισσότερα

1. O FrontPage Explorer

1. O FrontPage Explorer 1. O FrontPage Explorer Στο παρελθόν, ο δηµιουργός µιας θέσης Ιστού έπρεπε να παρακολουθεί µόνος του τον τρόπο σύνδεσης των σελίδων του. Με το FrontPage Explorer µπορείτε να δηµιουργείτε ιστούς και να

Διαβάστε περισσότερα

Η ΕΛΛΑ Α ΣΕ ΑΡΙΘΜΟΥΣ ΦΥΛΛΑ ΕΡΓΑΣΙΑΣ ΜΑΘΗΤΗ ΕΝΤΥΠΟ Α. Φράγκου Στασινή

Η ΕΛΛΑ Α ΣΕ ΑΡΙΘΜΟΥΣ ΦΥΛΛΑ ΕΡΓΑΣΙΑΣ ΜΑΘΗΤΗ ΕΝΤΥΠΟ Α. Φράγκου Στασινή Η ΕΛΛΑ Α ΣΕ ΑΡΙΘΜΟΥΣ ΕΝΤΥΠΟ Α ΦΥΛΛΑ ΕΡΓΑΣΙΑΣ ΜΑΘΗΤΗ Φράγκου Στασινή Η Ελλάδα Σε Αριθµούς 1 ο Φύλλο Εργασίας : Μεγαλύτερο και Μικρότερο 1. 1 Ανοίξτε το αρχείο greekatlas και αναγνωρίστε τα 3 παράθυρα. Πίνακας

Διαβάστε περισσότερα

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

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

Διαβάστε περισσότερα

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

5. Επερώτηση XML Εγγράφων: Εισαγωγή στη Γλώσσα XQuery Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 5. Επερώτηση XML Εγγράφων: Εισαγωγή στη Γλώσσα XQuery ιαχείριση εδομένων στον Παγκόσμιο Ιστό Χρήστος ουλκερίδης

Διαβάστε περισσότερα

Βάσεις Δεδομένων. Εργαστήριο 1. Ηλεκτρονικοί Υπολογιστές ΙI. Ακαδημαϊκό Έτος Διαφάνεια 1. Κάπαρης Αναστάσιος

Βάσεις Δεδομένων. Εργαστήριο 1. Ηλεκτρονικοί Υπολογιστές ΙI. Ακαδημαϊκό Έτος Διαφάνεια 1. Κάπαρης Αναστάσιος Βάσεις Δεδομένων Εργαστήριο 1 Διαφάνεια 1 Πώς να δημιουργήσω ένα νέο πίνακα στην ACCESS, όταν έχω την αντίστοιχη οντότητα; Ας υποθέσουμε ότι έχουμε την οντότητα φοιτητής, με ιδιότητες (γνωρίσματα), όπως

Διαβάστε περισσότερα

MICROSOFT OFFICE 2003

MICROSOFT OFFICE 2003 MICROSOFT OFFICE 2003 MICROSOFT EXCEL 2003 Γραφήµατα Πληροφορίες για τα γραφήµατα T α γραφήµατα προσελκύουν την προσοχή και διευκολύνουν την προβολή συγκρίσεων, τάσεων σε δεδοµένα. Για παράδειγµα, αντί

Διαβάστε περισσότερα

Ο Οδηγός γρήγορης εκκίνησης

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

Διαβάστε περισσότερα

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων Ενότητα 4 Επεξεργασία πινάκων 36 37 4.1 Προσθήκη πεδίων Για να εισάγετε ένα πεδίο σε ένα πίνακα που υπάρχει ήδη στη βάση δεδομένων σας, βάζετε τον κέρσορα του ποντικιού στο πεδίο πάνω από το οποίο θέλετε

Διαβάστε περισσότερα

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων 2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει

Διαβάστε περισσότερα

Βοηθητικό Εγχειρίδιο

Βοηθητικό Εγχειρίδιο AGFN EXPERT LITE Χρηµατιστήριο Αθηνών Χρηµατιστήριο Αξιών Κύπρου Βοηθητικό Εγχειρίδιο Version 7.5.0.322 ΠΕΡΙΕΧΟΜΕΝΑ 1. ΕΙΣΑΓΩΓΗ... 2 1.1. ΕΚΚΙΝΗΣΗ ΕΦΑΡΜΟΓΗΣ AGFN EXPERTLITE... 2 2. ΣΥΝ ΕΣΗ (LOGIN)... 3

Διαβάστε περισσότερα

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004) 1 ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004) ιάλεξη 1 1.1 ΕΙΣΑΓΩΓΗ ΣΤΗ FORTRAN 77 Ένα πρόγραµµα σε οποιαδήποτε γλώσσα προγραµµατισµού δεν τίποτα άλλο από µια σειρά εντολών που πρέπει

Διαβάστε περισσότερα

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Να αναπτύξουν ένα πρόγραμμα όπου θα επαναλάβουν τα βήματα ανάπτυξης μιας παραθυρικής εφαρμογής.

Διαβάστε περισσότερα

Εισαγωγή στη Fortran. Μάθημα 1 ο. Ελευθερία Λιούκα

Εισαγωγή στη Fortran. Μάθημα 1 ο. Ελευθερία Λιούκα Εισαγωγή στη Fortran Μάθημα 1 ο Ελευθερία Λιούκα liouka.eleftheria@gmail.com Περιεχόμενα Ιστορία της Fortran Βασικές γνώσεις Fortran Επιτρεπτοί χαρακτήρες Μορφή προγράμματος Τύποι μεταβλητών Πράξεις και

Διαβάστε περισσότερα

POWERPOINT 2003. Είναι το δημοφιλέστερο πρόγραμμα παρουσιάσεων.

POWERPOINT 2003. Είναι το δημοφιλέστερο πρόγραμμα παρουσιάσεων. POWERPOINT 2003 1. Τι είναι το PowerPoint (ppt)? Είναι το δημοφιλέστερο πρόγραμμα παρουσιάσεων. 2. Τι δυνατότητες έχει? Δημιουργία παρουσίασης. Μορφοποίηση παρουσίασης. Δημιουργία γραφικών. Δημιουργία

Διαβάστε περισσότερα

Εγχειρίδιο του επεξεργαστή ρυθμίσεων

Εγχειρίδιο του επεξεργαστή ρυθμίσεων i Εγχειρίδιο του επεξεργαστή ii Copyright 2004 Sun Microsystems Δίνεται άδεια για αντιγραφή, διανομή και/ή τροποποίηση του εγγράφου υπό τους όρους της Ελεύθερης Άδειας Τεκμηρίωσης GNU (GFDL), Έκδοση 1.1

Διαβάστε περισσότερα

Εγχειρίδιο χρήσης Intalio Designer Εγχειρίδιο χρήσης Intalio Designer

Εγχειρίδιο χρήσης Intalio Designer Εγχειρίδιο χρήσης Intalio Designer Εγχειρίδιο χρήσης Intalio Designer Σελίδα 1 Copyright Copyright 2007 Atlantis Group. Ιστορικό εγγράφου Έκδοση Εγχειριδίου: 1.0 Ημερομηνία δημιουργίας: 26/11/2007 Σελίδα 2 ΠΕΡΙΕΧΟΜΕΝΑ 1 Εισαγωγή... 4 2

Διαβάστε περισσότερα

Γνωριµία µε τη Microsoft Access

Γνωριµία µε τη Microsoft Access Γνωριµία µε τη Microsoft Access ηµιουργία νέας βάσης δεδοµένων Έναρξη - Προγράµµατα - Microsoft Access - ηµιουργία νέας βάσης δεδοµένων µε χρήση Κενής βάσης δεδοµένων - ΟΚ Επιλέγουµε Φάκελο και στο Όνοµα

Διαβάστε περισσότερα

3. Σηµειώσεις Access. # Εισαγωγή ψηφίου ή κενού διαστήµατος. Επιτρέπονται τα ση-

3. Σηµειώσεις Access. # Εισαγωγή ψηφίου ή κενού διαστήµατος. Επιτρέπονται τα ση- Μάθηµα 3 Προχωρηµένες ιδιότητες πεδίων Μάσκες εισαγωγής Οι ιδιότητες Μορφή και Μάσκα εισαγωγής περιγράφονται µαζί γιατί έχουν κοινά χαρακτηριστικά που αφορούν την εµφάνιση. Με την ιδιότητα Μορφή καθορίζουµε

Διαβάστε περισσότερα

Πληροφοριακά Συστήµατα

Πληροφοριακά Συστήµατα Nell Dale John Lewis Chapter 12 Πληροφοριακά Συστήµατα Στόχοι Ενότητας Η κατανόηση της έννοιας «Πληροφοριακό Σύστηµα» Επεξήγηση της οργάνωσης λογιστικών φύλλων (spreadsheets) Επεξήγηση της ανάλυσης δεδοµένων

Διαβάστε περισσότερα

Σχήµα 2.1: Εισαγωγή array στο Front Panel.

Σχήµα 2.1: Εισαγωγή array στο Front Panel. Arrays (Πίνακες) 1. Στο LAbVIEW η εισαγωγή πινάκων γίνεται µε τα arrays. Για να εισάγουµε ένα array στο Front Panel κάνουµε δεξί κλικ σε αυτό και επιλέγουµε την εντολή «Array» από το µενού «Array, Matrix

Διαβάστε περισσότερα

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι Εισαγωγή Στον Προγραµµατισµό «C» Πίνακες Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Πίνακες στη C Ένας πίνακας στη C είναι

Διαβάστε περισσότερα

Αντικειµενοστρεφής Προγραµµατισµός

Αντικειµενοστρεφής Προγραµµατισµός 16 η διάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη

Διαβάστε περισσότερα

Μητρώο [.gr] Οδηγός ιασύνδεσης. Αξιοποίησης του Εξυπηρετητή EPP. Έκδοση 2.0. [ EPP Server Connection and Use Guide ]

Μητρώο [.gr] Οδηγός ιασύνδεσης. Αξιοποίησης του Εξυπηρετητή EPP. Έκδοση 2.0. [ EPP Server Connection and Use Guide ] [.gr] cctld Σελίδα 1 από 13 Μητρώο [.gr] Οδηγός ιασύνδεσης & Αξιοποίησης του Εξυπηρετητή EPP Έκδοση 2.0 [ EPP Server Connection and Use Guide ] [.gr] cctld Σελίδα 2 από 13 Περιεχόµενα Περιεχόµενα... 2

Διαβάστε περισσότερα

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

3. Επερώτηση XML Εγγράφων: Η Γλώσσα XPath Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 3. Επερώτηση XML Εγγράφων: Η Γλώσσα XPath ιαχείριση εδομένων στον Παγκόσμιο Ιστό Χρήστος ουλκερίδης Τμήμα

Διαβάστε περισσότερα

Εργαστήριο 8. Προγραμματιστικές Εφαρμογές στο Διαδίκτυο

Εργαστήριο 8. Προγραμματιστικές Εφαρμογές στο Διαδίκτυο Εργαστήριο 8 Προγραμματιστικές Εφαρμογές στο Διαδίκτυο Στόχος Στόχος του εργαστηρίου είναι η εκμάθηση των βασικών προγραμματιστικών δομών της γλώσσας PHP και η δημιουργία φορμών για την επεξεργασία υποβαλλόμενων

Διαβάστε περισσότερα

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal Δοµή προγράµµατος 1. Δοµή προγράµµατος program όνοµα_προγράµµατος(αρχείο_1, αρχείο_2,...αρχείο_ν); ΕΠΙΚΕΦΑΛΙΔΑ ΒΙΒΛΙΟΘΗΚΕΣ uses όνοµα_βιβλιοθήκης,όνοµα_βιβλιοθήκης;

Διαβάστε περισσότερα

Εκτύπωση Γενικού Ημερολογίου

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

Διαβάστε περισσότερα

Α. Ερωτήσεις Ανάπτυξης

Α. Ερωτήσεις Ανάπτυξης οµηµένος Προγραµµατισµός-Κεφάλαιο 7 Σελίδα 1 α ό 10 ΕΝΟΤΗΤΑ ΙΙΙ (ΠΡΟΓΡΑΜΜΑΤΑ) ΚΕΦΑΛΑΙΟ 7: Είδη, Τεχνικές και Περιβάλλοντα Προγραµµατισµού Α. Ερωτήσεις Ανάπτυξης 1. Τι ονοµάζουµε γλώσσα προγραµµατισµού;

Διαβάστε περισσότερα

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

SGML (Standard Generalized Markup Language) HTML (HyperText Markup Language) XML (extensible Markup Language) SGML (Standard Generalized Markup Language) Γλώσσα για την περιγραφή της δομης και του περιεχομένου ηλεκτρονικών κειμένων Πλήρης Σύνθετη Δύσκολη στην εκμάθηση και την χρήση HTML (HyperText Markup Language)

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΕΥΤΕΡΟ ηµιουργία Βάσης, Πίνακα, Domain Γιώργος Μαρκοµανώλης Περιεχόµενα ηµιουργία Βάσης... 1 ηµιουργία µιας shadow βάσης... 2 ιαγραφή

Διαβάστε περισσότερα

SPSS Statistical Package for the Social Sciences

SPSS Statistical Package for the Social Sciences SPSS Statistical Package for the Social Sciences Ξεκινώντας την εφαρμογή Εισαγωγή εδομένων Ορισμός Μεταβλητών Εισαγωγή περίπτωσης και μεταβλητής ιαγραφή περιπτώσεων ή και μεταβλητών ΣΤΑΤΙΣΤΙΚΗ Αθανάσιος

Διαβάστε περισσότερα

Σχεδιασμός εκτυπώσεων ERG

Σχεδιασμός εκτυπώσεων ERG Σχεδιασμός εκτυπώσεων ERG Περιεχόμενα Δημιουργία εκτυπώσεων ERG... 3 Επιλογή πεδίων... 4 Λεπτομέρειες... 6 Καθορισμός φίλτρων... 6 Ταξινόμηση και ομαδοποίηση... 7 Εξαγόμενο εκτύπωσης... 7 Δικαιώματα πρόσβασης...

Διαβάστε περισσότερα

Θέµατα εξετάσεων µε απαντήσεις

Θέµατα εξετάσεων µε απαντήσεις Θέµατα εξετάσεων µε απαντήσεις 1. Τι αλλαγές θα κάνατε στον παρακάτω κώδικα αν θέλατε να εφαρµόσετε την αρχή του αµυντικού προγραµµατισµού (1 µονάδα); #define LENGTH 10 char *strings[length]; char *getstring(int

Διαβάστε περισσότερα

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ (Οι ερωτήσεις µε κίτρινη υπογράµµιση είναι εκτός ύλης για φέτος) ΕΙΣΑΓΩΓΗ Q1. Οι Πρωταρχικοί τύποι (primitive types) στη Java 1. Είναι όλοι οι ακέραιοι και όλοι οι πραγµατικοί

Διαβάστε περισσότερα

ΕΘΝΙΚΟ!ΜΕΤΣΟΒΙΟ!ΠΟΛΥΤΕΧΝΕΙΟ! ΣΧΟΛΗ!ΧΗΜΙΚΩΝ!ΜΗΧΑΝΙΚΩΝ!!

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

Διαβάστε περισσότερα

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

<address>αδριανείου 2, Νέο Ψυχικό, 11525, Αθήνα</adderss> <address> ΥΠΗΡΕΣΙΑ «TAXISNET» - ΗΛΕΚΤΡΟΝΙΚΗ ΥΠΟΒΟΛΗ ΤΩΝ ΦΟΡΟΛΟΓΙΚΩΝ ΗΛΩΣΕΩΝ ΓΙΑ ΤΟ ΤΜΗΜΑ ΕΣΩΤΕΡΙΚΩΝ ΠΡΟΣΟ ΩΝ ΚΑΙ ΤΗΝ ΥΠΗΡΕΣΙΑ ΦΟΡΟΥ ΠΡΟΣΤΙΘΕΜΕΝΗΣ ΑΞΙΑΣ ΤΟΥ ΥΠΟΥΡΓΕΙΟΥ ΟΙΚΟΝΟΜΙΚΩΝ ΤΗΣ ΚΥΠΡΙΑΚΗΣ ΗΜΟΚΡΑΤΙΑΣ Οδηγίες

Διαβάστε περισσότερα

Version X. Οδηγίες χρήσης

Version X. Οδηγίες χρήσης Version 1.0.1.X Οδηγίες χρήσης Πρόλογος Η εφαρµογή CallReceiver σχεδιάστηκε για την υποστήριξη ξενοδοχείων ή επιχειρήσεων, όσον αφορά στις τηλεφωνικές κλήσεις που διαχειρίζεται το τηλεφωνικό κέντρο (Τ/Κ).

Διαβάστε περισσότερα

4 ο Εργαστήριο Τυχαίοι Αριθμοί, Μεταβλητές Συστήματος

4 ο Εργαστήριο Τυχαίοι Αριθμοί, Μεταβλητές Συστήματος 4 ο Εργαστήριο Τυχαίοι Αριθμοί, Μεταβλητές Συστήματος Μεταβλητές Συστήματος Η Processing χρησιμοποιεί κάποιες μεταβλητές συστήματος, όπως τις ονομάζουμε, για να μπορούμε να παίρνουμε πληροφορίες από το

Διαβάστε περισσότερα

Λίγα λόγια από το συγγραφέα Κεφάλαιο 1: Βάσεις δεδομένων και Microsoft Access Κεφάλαιο 2: Microsoft Access

Λίγα λόγια από το συγγραφέα Κεφάλαιο 1: Βάσεις δεδομένων και Microsoft Access Κεφάλαιο 2: Microsoft Access Περιεχόμενα Λίγα λόγια από το συγγραφέα... 7 Κεφάλαιο 1: Βάσεις δεδομένων και Microsoft Access... 9 Κεφάλαιο 2: Microsoft Access 2002... 20 Κεφάλαιο 3: Το σύστημα Βοήθειας του Microsoft Office ΧΡ... 36

Διαβάστε περισσότερα

Περιεχόμενα. Λίγα λόγια από τον συγγραφέα Microsoft Excel Η δομή ενός φύλλου εργασίας... 21

Περιεχόμενα. Λίγα λόγια από τον συγγραφέα Microsoft Excel Η δομή ενός φύλλου εργασίας... 21 ENOTHTA 4 Περιεχόμενα Λίγα λόγια από τον συγγραφέα... 7 1 Microsoft Excel 2010... 9 2 Η δομή ενός φύλλου εργασίας... 21 3 ημιουργία νέου βιβλίου εργασίας και καταχώριση δεδομένων... 27 4 Συμβουλές για

Διαβάστε περισσότερα

Singular Report Generator. Σχ 1 ηµιουργία Καταστάσεων SRG

Singular Report Generator. Σχ 1 ηµιουργία Καταστάσεων SRG Μια από τις πιο σηµαντικές ανάγκες που αντιµετωπίζει µια επιχείρηση κατά την εγκατάσταση ενός λογισµικού «πακέτου» (Οικονοµικής & Εµπορικής ιαχείρισης), είναι ο τρόπος µε τον οποίο πρέπει να ανταποκριθεί

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΤΕΤΑΡΤΟ Insert, Update, Delete, Ένωση πινάκων Γιώργος Μαρκοµανώλης Περιεχόµενα Group By... 1 Having...1 Οrder By... 2 Εντολή Insert...

Διαβάστε περισσότερα

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

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΛΗΡΟΦΟΡΙΑΚΟΥ ΣΥΣΤΗΜΑΤΟΣ (ΟΠΣ) ΓΙΑ ΤΗΝ ΠΡΟΓΡΑΜΜΑΤΙΚΗ ΠΕΡΙΟΔΟ ΣΕΣ ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΛΗΡΟΦΟΡΙΑΚΟΥ ΣΥΣΤΗΜΑΤΟΣ (ΟΠΣ) ΓΙΑ ΤΗΝ ΠΡΟΓΡΑΜΜΑΤΙΚΗ ΠΕΡΙΟΔΟ ΣΕΣ 2014-2020 ΕΝΟΤΗΤΑ «ΔΙΑΧΕΙΡΙΣΗ ΠΡΟΣΚΛΗΣΕΩΝ ΕΡΓΩΝ ΣΧΕΔΙΩΝ ΧΟΡΗΓΙΩΝ» 1η Έκδοση: 2015 ΠΕΡΙΕΧΟΜΕΝΑ 1. ΕΙΣΑΓΩΓΗ...3

Διαβάστε περισσότερα

Χωρική Βάση δεδοµένων Autocad

Χωρική Βάση δεδοµένων Autocad Χωρική Βάση δεδοµένων Autocad Όλοι η πληροφορία σας βρίσκεται σε ένα αρχείο µε κατάληξη.dwg το οποίο αντιπροσωπεύει τη βάση δεδοµένων σας. Αυτό το αρχείο µπορούµε να το επεξεργαστούµε µε διάφορους τρόπους

Διαβάστε περισσότερα

Σχήµα 3.1: Εισαγωγή shift register σε βρόγχο for-loop.

Σχήµα 3.1: Εισαγωγή shift register σε βρόγχο for-loop. Η δοµή «Shift register» 1. Η δοµή «Shift register» εισάγεται στο βρόγχο for-loop αλλά και σε άλλους βρόγχους που θα δούµε στη συνέχεια, όπως ο βρόγχος «While loop». Ο τρόπος εισαγωγής και λειτουργίας της

Διαβάστε περισσότερα

Σενάριο Χρήσης Moodle

Σενάριο Χρήσης Moodle Σενάριο Χρήσης Moodle Άσκηση 1 Μπείτε στη σελίδα http://pileas.com/m και συνδεθείτε με έναν από τους διαθέσιμους χρήστες σύμφωνα με τους κωδικούς που σας έχουν δοθεί. Αφού εισάγουμε το url του Moodle (π.χ.

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΜΑΘΗΜΑ: ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΜΟΝΤΕΛΑ ΣΥΣΤΗΜΑΤΟΣ Διδάσκων: Γ. Χαραλαμπίδης, Επ. Καθηγητής

Διαβάστε περισσότερα

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

ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ - XML ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ - XML Εργαστήρια 2-3 Στουγιάννου Ελευθερία estoug@unipi.gr Περιεχόμενα Δεύτερου & Τρίτου Εργαστηριακού Μαθήματος Ορίζοντας διαλέκτους

Διαβάστε περισσότερα

να ακολουθήσουμε Έναρξη Όλα τα Προγράμματα και να ενεργοποιήσουμε την επιλογή Microsoft Word.

να ακολουθήσουμε Έναρξη Όλα τα Προγράμματα και να ενεργοποιήσουμε την επιλογή Microsoft Word. ΕΠΕΞΕΡΓΑΣΙΑ ΚΕΙΜΕΝΟΥ ΜΕ ΤΟ WORD Περιεχόμενα Εκκίνηση του Microsoft Word... 3 Το παράθυρο του Word... 3 Η Κορδέλα με τις καρτέλες... 4 Κεντρική... 4 Εισαγωγή... 4 Διάταξη Σελίδας... 5 Αναφορές... 5 Στοιχεία

Διαβάστε περισσότερα

ΥΠΗΡΕΣΙΑ ΥΠΟΒΟΛΗΣ ΠΙΣΤΟΠΟΙΗΤΙΚΩΝ ΦΟΡΟΛΟΓΙΚΩΝ ΕΛΕΓΧΩΝ API Επικοινωνίας με ΓΓΠΣ. Γ.Γ.Π.Σ. : Ομάδα Ευέλικτης Ανάπτυξης 5/2012

ΥΠΗΡΕΣΙΑ ΥΠΟΒΟΛΗΣ ΠΙΣΤΟΠΟΙΗΤΙΚΩΝ ΦΟΡΟΛΟΓΙΚΩΝ ΕΛΕΓΧΩΝ API Επικοινωνίας με ΓΓΠΣ. Γ.Γ.Π.Σ. : Ομάδα Ευέλικτης Ανάπτυξης 5/2012 ΥΠΗΡΕΣΙΑ ΥΠΟΒΟΛΗΣ ΠΙΣΤΟΠΟΙΗΤΙΚΩΝ ΦΟΡΟΛΟΓΙΚΩΝ ΕΛΕΓΧΩΝ API Επικοινωνίας με ΓΓΠΣ Γ.Γ.Π.Σ. : Ομάδα Ευέλικτης Ανάπτυξης 5/2012 Έκδοση 1.1(Draft) 1/20 Table of Contents 1 Γενικά...4 1.1 Θέματα ασφάλειας...4

Διαβάστε περισσότερα

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσµία: 8/1/12, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσµία: 8/1/12, 22:00 ΣΕΤ ΑΣΚΗΣΕΩΝ 4 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2011-2012 Προθεσµία: 8/1/12, 22:00 Περιεχόµενα Διαβάστε πριν ξεκινήσετε Εκφώνηση άσκησης Οδηγίες αποστολής άσκησης Πριν ξεκινήσετε (ΔΙΑΒΑΣΤΕ

Διαβάστε περισσότερα

Using Custom Python Expression Functions

Using Custom Python Expression Functions Using Custom Python Expression Functions QGIS Tutorials and Tips Author Ujaval Gandhi http://google.com/+ujavalgandhi Translations by Christina Dimitriadou Paliogiannis Konstantinos Tom Karagkounis Despoina

Διαβάστε περισσότερα

MICROSOFT OFFICE 2003 MICROSOFT WORD 2003

MICROSOFT OFFICE 2003 MICROSOFT WORD 2003 MICROSOFT OFFICE 2003 MICROSOFT WORD 2003 Το Microsoft Office Word 2003 είναι το πρόγραµµα επεξεργασίας κειµένου που κάνει ευκολότερη τη δηµιουργία, την κοινή χρήση και την ανάγνωση εγγράφων. Οι λειτουργίες

Διαβάστε περισσότερα

Οδηγός Γρήγορης Παραμετροποίησης Auto Moto Cube

Οδηγός Γρήγορης Παραμετροποίησης Auto Moto Cube POWERED BY ACT Οδηγός Γρήγορης Παραμετροποίησης Auto Moto Cube Version: 01 1 Μάιος 2017 Περιεχόμενα Εισαγωγή 3 Ρυθμίσεις Auto-Moto Cube 4 Παραμετροποίηση Ειδών 6 Παραμετροποίηση Προμηθευτών 9 Παραμετροποίηση

Διαβάστε περισσότερα

Κεφάλαιο 2.3: Ρυθμίσεις των Windows

Κεφάλαιο 2.3: Ρυθμίσεις των Windows Κεφάλαιο 2.3: Ρυθμίσεις των Windows 2.3.1 Βασικές πληροφορίες συστήματος Για να δούμε βασικές πληροφορίες για τον υπολογιστή μας, πατάμε το κουμπί «Έναρξη» και επιλέγουμε διαδοχικά «Πίνακας Ελέγχου», «Σύστημα

Διαβάστε περισσότερα

Ενότητα. Σχεδίαση Βάσεων Δεδομένων

Ενότητα. Σχεδίαση Βάσεων Δεδομένων Ενότητα 3 Σχεδίαση Βάσεων Δεδομένων 2 3 3.1 Εισαγωγή Μία βάση δεδομένων αποτελείται από δεδομένα για διάφορα θέματα τα οποία όμως σχετίζονται μεταξύ τους και είναι καταχωρημένα με συγκεκριμένο τρόπο. Όλα

Διαβάστε περισσότερα

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΕΣΩΤΕΡΙΚΩΝ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΕΣΩΤΕΡΙΚΩΝ Να σταλεί μόνο με e-mail ΓΕΝΙΚΗ Δ/ΝΣΗ ΟΙΚΟΝΟΜΙΚΩΝ Τ.Α. & ΑΝΑΠΤΥΞΙΑΚΗΣ ΠΟΛΙΤΙΚΗΣ Δ/ΝΣΗ ΟΙΚΟΝΟΜΙΚΩΝ Τ.Α. ΤΜΗΜΑ ΠΑΡΑΚΟΛΟΥΘΗΣΗΣ & ΕΠΕΞΕΡΓΑΣΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΣΤΟΙΧΕΙΩΝ

Διαβάστε περισσότερα

Εγχειρίδιο εγκατάστασης και διαχείρισης του F-Secure Internet Security 2013

Εγχειρίδιο εγκατάστασης και διαχείρισης του F-Secure Internet Security 2013 TECHNICAL DOCUMENT Εγχειρίδιο εγκατάστασης και διαχείρισης του F-Secure Internet Security 2013 Εισαγωγή...2 Εγκατάσταση...2 ιαχείριση...6 Computer Security...6 ηµοφιλέστερες εργασίες διαχείρισης:...8 Φιλτράρισµα

Διαβάστε περισσότερα

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

ΝΤUA. Τεχνολογία Πολυμέσων ΝΤUA Τεχνολογία Πολυμέσων Contents 2. Lesson 5: XML Τα αρχικά XML Extensible Markup Language Μεταγλώσσα προγραμματισμού για την κωδικοποίηση δεδομένων Έστω ότι θέλουμε να παρουσιάσουμε ένα κείμενο, μια

Διαβάστε περισσότερα