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

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

EXtensible Markup Language (XML) και XML Schema Γιώργος Θάνος Παρασκευή 31 Οκτωβρίου 2008.

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


Παρουσίαση με θέμα: "EXtensible Markup Language (XML) και XML Schema Γιώργος Θάνος Παρασκευή 31 Οκτωβρίου 2008."— Μεταγράφημα παρουσίασης:

1 eXtensible Markup Language (XML) και XML Schema Γιώργος Θάνος Παρασκευή 31 Οκτωβρίου 2008

2 eXtensible Markup Language  Σχεδιάστηκε για την αποθήκευση και μεταφορά δεδομένων.  Η γλώσσα είναι κατά κανόνα αυτοπεριγραφική.  Δεν υπάρχουν προδιαγεγραμένα tags. Κάθε δημιουργός υποχρεούται να ορίσει τα δικά του.  Στην XML βασίζονται ευρέως γνωστά και χρησιμοποιούμενα standards, όπως :  XHTML  Web Services (SOAP, WSDL)  RSS  SVG (Scalable Vector Graphics)  XBRL Διαφάνεια 2

3 XML Tree ( παράδειγμα ) Tove Jani Don’t forget! Remember to visit the dentist 2008 January 08 Διαφάνεια 3 Root Element Child Element Attribute

4 XML – Συντακτικοί κανόνες (1/2)  Όλα τα XML elements πρέπει να κλείνουν σωστά  This is a paragraph  Τα XML tags είναι case sensitive  This is incorrect  But this is correct  Τα XML στοιχεία πρέπει να έχουν τη σωστή σειρά  This text is bold and italic ( ΛΑΘΟΣ !)  This text is bold and italic  Απαραίτητη η ύπαρξη root element  Οι τιμές των attributes πρέπει να περιέχονται σε μονά (‘’) ή διπλά (“”) εισαγωγικά. Διαφάνεια 4

5 XML – Συντακτικοί κανόνες (2/2)  Χαρακτήρες με ειδική σημασία στην XML είναι αναγκαίο να αντικαθίστανται με ειδικούς συνδυασμούς χαρακτήρων.  Σχόλια  Διαφάνεια 5 Συνδυασμός χαρακτήρων ΣύμβολοΠεριγραφή <<less than >>greater than &&ampersand &apos;'apostrophe ""quotation mark

6 XML – Συντακτικές και σημασιολογικές απαιτήσεις  Προκειμένου το XML κείμενο να είναι αποδεκτό απαιτείται :  Η XML είναι σωστή συντακτικά με βάση τους κανόνες που προαναφέρθηκαν.  Ένα ορθό κείμενο υπακούει σε συγκεκριμένους σημασιολο - γικούς κανόνες, προκειμένου να έχει νόημα η πληροφορία που απεικονίζει. Οι κανόνες κατά κανόνα απεικονίζονται σε ένα αρχείο XMLSchema ή DTD.  Η επιβεβαίωση της ορθής σύνταξης της XML γίνεται  Φορτώνοντας το αρχείο σε ενα XML capable browser.  Με χρήση online εργαλείων για verification.  Επεξεργαζόμενοι το περιεχόμενο της XML με μία γλώσσα προγραμματισμού ( π. χ PHP, Perl, Java, Python, C++). Διαφάνεια 6

7 XML Namespaces(1/4)  Συχνά εμφανίζεται σύγχιση σε σχέση με το σημασιο - λογικό περιεχόμενο το tags και των attributes σε ένα XML κείμενο. Διαφάνεια 7 Apples Bananas Bob Dylan The freewheelin Desire  Η σύγχυση μπορεί να αποφευχθεί χρησιμοποιώντας ένα πρόθεμα (prefix) για κάθε attribute. Το συγκεκριμένο πρόθεμα συνδέεται με κάποιο σημασιολογικό περιεχόμενο που είναι το XML Namespace.

8 XML Namespaces(2/4)  xmlns:h=“http://www.w3.org/TR/html4/  xmlns:n=“urn:catalog:music:gthanos”  Κάθε namespace ορίζει μοναδικά το σημασιολογικό περιεχόμενο των επιμέρους τμημάτων του κειμένου XML.  Στοιχεία (elements) περισσοτέρων του ενός XML name- space μπορούν να συνηπάρχουν σε ένα XML κείμενο. Διαφάνεια 8 Apples Bananas Bob Dylan The freewheelin Desire

9 XML Namespaces(3/4)  Η ορισμός ενός Namespace ακολουθεί την παρακάτω σύνταξη  xmlns:prefix=“URI”  Το URI ορίζεται ως ένα string που απεικονίζει μοναδικά μία οντότητα στο Internet.  Μπορεί να είναι URL ή URN  URL : http://www.inf.uth.gr/http://www.inf.uth.gr/  URN: urn:issn:1535-3613issn  Ένα Namespace μπορεί να ορίζεται είτε στο root element του XML κειμένου, είτε στο αρχικό XML element που χρησιμοποιεί το συγκεκριμένο Namespace. Διαφάνεια 9

10 XML Namespaces(4/4) Διαφάνεια 10 (α) Ορισμός του Namespace στο root XML element (β) Ορισμός του Namespace στο XML element που χρησι- μοποιεί το συγκεκριμένο Namespace.

11 XML Schemas in general  Το XML Schema περιγράφει τους περιορισμούς στη δομή ενός κειμένου XML επιπλέον των περιορισμών ορθής σύνταξης που επιβάλει η γλώσσα.  Το XML Schema περιγράφει την δομή ενός κειμένου XML και των περιορισμών που έχει αυτό.  Γλώσσες που περιγράφουν XML Schemata  DTD (Document Type Definition)  RelaxNG (OASIS Standard)  XML Schema (W3C Standard) Διαφάνεια 11

12 XML Schema (W3C) - Εισαγωγή Πηγή : http://www.w3schools.com Διαφάνεια 12 (α) Το αρχικό XML κείμενο. (β) Το XML Schema που περιγράφει το παραπάνω κείμενο

13 XML Schema (W3C) – element Πηγή : http://www.w3schools.com Διαφάνεια 13  xmlns:xs=http://www.w3.org/2001/XMLSchemahttp://www.w3.org/2001/XMLSchema  Περιγραφή του namespace που χρησιμοποιείται. Πρόκειται για το namespace που ορίζεται από το W3C.  targetNamespace=http://www.w3schools.comhttp://www.w3schools.com  Περιγραφή του target namespace, δηλ του default namespace του XML κειμένου που περιγράφει το συγκεκρμένο σχήμα.  xmlns=http://www.w3schools.comhttp://www.w3schools.com  Περιγραφή του default namespace για το σχήμα. Κατά κανόνα δεν απουσιάζει  elementFormDefault="qualified“  Όλα τα στοιχεία που περιέχονται στο συγκεκριμένο σχήμα πρέπει να ανήκουν σε συγκεκριμένο namespace.

14 XML Schema (W3C) – Simple Elements  Elements που περιέχουν μόνο text. Όχι, άλλα nested στοιχεία ή attributes.  Ορισμός ενός Simple XML element   Παραδείγματα   Τα πλέον κοινά datatypes Διαφάνεια 14 xs:stringxs:decimal xs:integerxs:boolean xs:datexs:time

15 XML Schema (W3C) – XSD Attributes  Τα Simple Elements δεν διαθέτουν attributes.  Κάθε attribute όμως λογίζεται ως Simple Element.  Η σύνταξη για ένα attribute δίνεται παρακάτω :   Παράδειγμα :  Πηγή : www.w3schools.com Διαφάνεια 15

16 XML Schema (W3C) – XSD Restrictions  Οι περιορισμοί μπορούν να εκφραστούν με χρήση regular expressions  http://www.zytrax.com/tech/web/regex.htm http://www.zytrax.com/tech/web/regex.htm  http://en.wikipedia.org/wiki/Regular_expression  Περισσότερα σχετικά με XSD Restrictions, θα βρείτε εδώ :  http://www.w3schools.com/schema/schema_facets.asp Διαφάνεια 16

17 XML Schema (W3C) – Complex Elements  empty elements  elements that contain only other elements John Smith  elements that contain only text Ice cream  elements that contain both other elements and text It happened on 03.03.99 Πηγή : www.w3schools.com Διαφάνεια 17

18 XML Schema (W3C) – Empty Elements and Elements Only Elements Πηγή : www.w3schools.com Διαφάνεια 18 XML XML Schema XML XML Schema

19 XML Schema (W3C) – Simple Content and Mixed Content Eements Διαφάνεια 19 XML XML Schema XML XML Schema

20 XML Schema (W3C) – Simple Content vs. Complex Content (1/2)  Τα simpleContent και complexContent χρησιμοποιού - νται για να ορίσουν extensions ή restrictions σε υπάρχοντες τύπους αντικειμένων.  Τα simpleContent elements δηλώνουν ότι για ένα στοιχείο τύπου Simple Element θα οριστεί κάποια επέκταση ή περιορισμός. Πηγή : www.w3schools.com Διαφάνεια 20 XML XML Schema

21 XML Schema (W3C) – Simple Content vs. Complex Content(2/2)  Τα complexContent elements δηλώνουν ότι για ένα στοιχείο τύπου Complex Element θα οριστεί κάποια επέκταση ή περιορισμός. Διαφάνεια 21 XML XML Schema

22 XML Schema (W3C) – Άσκηση : Δημιουργίας ενός σχήματος.  Φτιάξτε το XML Schema του XML αρχείου που επιστρέφεται από το URL http://netmon.grnet.gr/networkmap/xmltopo2.php http://netmon.grnet.gr/networkmap/xmltopo2.php  Η απάντηση δίνεται on-line μαζί με τις παρουσιάσεις του μαθήματος. Πηγή : www.w3schools.com Διαφάνεια 22

23 Επιβεβαιώνοντας ένα XML αρχείο σε σχέση με το XML Schema  Use online verification machines όπως  http://tools.decisionsoft.com/schemaValidate/ http://tools.decisionsoft.com/schemaValidate/  http://www.validome.org/xml/ http://www.validome.org/xml/  http://www.xmlvalidation.com/ http://www.xmlvalidation.com/  Τα περισσότερα online εργαλεία αναμένουν να βρουν το σχήμα online.  Χρήση γλώσσας προγραμματισμού ( π. χ. java)  Περισσότερα πληροφορίες μπορείτε να βρείτε  http://java.sun.com/developer/technicalArticles/xml/validationx path/ ή http://java.sun.com/developer/technicalArticles/xml/validationx path/  http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/validation/pack age-summary.html http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/validation/pack age-summary.html Διαφάνεια 23

24 Επιβεβαιώνοντας ένα XML αρχείο σε σχέση με το XML Schema ( χρήση Java) Πηγή : java.sun.com Διαφάνεια 24 // parse an XML document into a DOM tree DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder(); Document document = parser.parse(new File("instance.xml")); // create a SchemaFactory capable of understanding WXS schemas SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); // load a WXS schema, represented by a Schema instance Source schemaFile = new StreamSource(new File("mySchema.xsd")); Schema schema = factory.newSchema(schemaFile); // create a Validator instance, which can be used to validate an instance document Validator validator = schema.newValidator(); // validate the DOM tree try { validator.validate(new DOMSource(document)); } catch (SAXException e) { // instance document is invalid! } XMLConstants.W3C_XML_SCHEMA_NS_URIW3C XML Schema 1.0 XMLConstants.RELAXNG_NS_URIRELAX NG 1.0

25 eXtensible Markup Language (XML) και XML Schema Ερωτήσεις ; Διαφάνεια 25


Κατέβασμα ppt "EXtensible Markup Language (XML) και XML Schema Γιώργος Θάνος Παρασκευή 31 Οκτωβρίου 2008."

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


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