XML: - ΔΔΕ ΦΛΩΡΙΝΑΣ |
Download
Report
Transcript XML: - ΔΔΕ ΦΛΩΡΙΝΑΣ |
Εισαγωγή στην XML
Από την Καραδημητρίου Κρυσταλλένια
Καθηγήτρια Πληροφορικής στο
Γυμνάσιο και Ενιαίο Λύκειο Φιλώτα Φλώρινας
Οκτώβριος 2004
Βασικά προβλήματα στη
διαχείριση πληροφοριών
Συγκέντρωση
Αποθήκευση
Ανάκτηση
Ανταλλαγή
Εισαγωγή στην XML
Καραδημητρίου Κρυσταλλένια
2
EDI
Ηλεκτρονική ανταλλαγή δομημένων με
συγκεκριμένο τρόπο εγγράφων
Χρησιμοποιείται 20 χρόνια
Πρότυπα
ANSI X.12 (ΗΠΑ και Καναδάς)
EDIFACT (Διεθνές)
Εισαγωγή στην XML
Καραδημητρίου Κρυσταλλένια
3
EDI: Πλεονεκτήματα
Ο χειρισμός εγγράφων μειώνεται,
εξοικονομώντας χρόνο και χρήμα
Δεδομένα ανταλάσσονται σε πραγματικό χρόνο
Υπάρχουν λιγότερα λάθη αφου τα δεδομένα
πληκτρολογούνται μια φορά
Ο αναβαθμισμένος διαμοιρασμός δεδομένων
δίνει δυνατότητα για μεγαλύτερο συντονισμό
ενεργειών μεταξύ επαγγελματιών συνεταίρων
Η ροή χρημάτων επιταχύνεται και οι πληρωμές
γίνονται γρηγορότερα
Εισαγωγή στην XML
Καραδημητρίου Κρυσταλλένια
4
EDI: Μειονεκτήματα
Πολύ πληροφορία είναι ακόμα σε χαρτί
Η ηλεκτρονική ανταλλαγή είναι η εξαίρεση
παρά ο κανόνας
Το Internet είναι μία χαμηλού κόστους
λύση σε σχέση με το EDI που χρησιμοποιεί
value added networks (VANs)
Εισαγωγή στην XML
Καραδημητρίου Κρυσταλλένια
5
SGML (πρόγονος της XML)
Η διαχείριση εγγράφων καταναλώνει το:
15% του εισοδήματος της εταιρίας
25% των εργατικών εξόδων
10 - 60% της δουλειάς ενός υπαλλήλου
γραφείου
Η Standard generalized markup language
(SGML) σχεδιάστηκε να μειώσει το
κόστος της διαχείρισης εγγράφων
Εισαγωγή στην XML
Καραδημητρίου Κρυσταλλένια
6
Markup language
Ενσωματωμένη πληροφορία μέσα στο κείμενο
σχετικά με την ερμηνεία και το νόημα του
κειμένου
<cdliner>This uniquely creative
collaboration between Miles Davis and
Gil Evans has already resulted in two
extraordinary albums—<cdtitle>Miles
Ahead</cdtitle><cdid>CL 1041></cdid>
and <cdtitle>Porgy and Bess</cdtitle>
<cdid>CL 1274</cdid>.</cdliner>
Εισαγωγή στην XML
Καραδημητρίου Κρυσταλλένια
7
SGML
Ένα ανεξάρτητο πρότυπο για έκδοση σε
όλα τα μέσα
Σε διαφορετικά συστήματα
Φορητή
Καθορίζει τη δομή ενός εγγράφου
Η γλώσσα από την οποία προήλθαν οι
HTML και XML
Εισαγωγή στην XML
Καραδημητρίου Κρυσταλλένια
8
SGML: Πλεονεκτήματα
Ίδια πλεονεκτήματα με την επεξεργασία
κειμένου
Ευελιξία
Παράγει αποτέλεσμα για πολλαπλά μέσα
Βελτιωμένες εκδόσεις
Έλεγχος εκδόσεων των εγγράφων
Εισαγωγή στην XML
Καραδημητρίου Κρυσταλλένια
9
SGML: Μειονεκτήματα
Είναι αρκετή πολύπλοκη και δύσχρηστη
γλώσσα.
Εισαγωγή στην XML
Καραδημητρίου Κρυσταλλένια
10
SGML κώδικας
<chapter>
<no>16</no>
<title>XML: Managing Data Exchange</title>
<section>
<quote><emph type = "2">Words can have no single
fixed meaning. Like wayward electrons, they
can spin away from their initial orbit and
enter a wider magnetic field. No one owns
them or has a proprietary right to dictate
how they will be used.</emph></quote>
…
</section>
…
</chapter>
Εισαγωγή στην XML
Καραδημητρίου Κρυσταλλένια
11
HTML κώδικας
<html>
<body>
<h1><b>16</b></h1>
<h1><b>XML: Managing Data Exchange</b></h1>
<p>
<i>Words can have no single fixed meaning. Like
wayward electrons, they can spin away from
their initial orbit and enter a wider magnetic
field. No one owns them or has a proprietary
right to dictate how they will be used.</i>
</p>
</body>
</html>
Εισαγωγή στην XML
Καραδημητρίου Κρυσταλλένια
12
Προβλήματα με την HTML
Η παρουσίαση δεν έχει κάποιο νόημα
Ο αναγνώστης συμπεραίνει το νόημα
Οι μηχανές δεν είναι καλές στο να
συμπεραίνουν το νόημα
Εισαγωγή στην XML
Καραδημητρίου Κρυσταλλένια
13
XML
Extensible markup language – Μία απλή έκδοση
της sgml
Σχεδιασμένη για να εισάγει την sgml στο
διαδίκτυο
Μια μετα-γλώσσα (meta-language)
Μια γλώσσα που παράγει γλώσσες
Θα αντικαταστήσει σταδιακά την HTML
XHTML μία αναδιαμόρφωση της HTML 4
στην XML 1.0
Εισαγωγή στην XML
Καραδημητρίου Κρυσταλλένια
14
XML ενάντια HTML
Δομημένο κείμενο
Δομή καθορισμένη
από το χρήστη
Αποδοτικότερη
διασύνδεση
υπερκειμένου
Ευέλικτο και
προσαρμόσιμο
κείμενο
Μορφοποιημένο
κείμενο
Προκαθορισμένη
μορφή
Περιορισμένη
διασύνδεση
υπερκειμένου
Εισαγωγή στην XML
Καραδημητρίου Κρυσταλλένια
15
Κανόνες στην XML
Τα στοιχεία (elements) πρέπει να έχουν μια ετικέτα
ανοίγματος και μία ετικέτα (tag) κλεισίματος
Τα στοιχεία ακολουθούν μια αυστηρή ιεραρχία με ένα
μόνο στοιχείο ρίζα (root element) και τα υπόλοιπα στοιχεία
μέσα σε αυτό
Τα στοιχεία δε μπορούν να υπερκαλύπτουν (μοιράζονται)
άλλα στοιχεία
Τα ονόματα των στοιχείων πρέπει να υπακούουν τις
συμβάσεις ονομάτων της XML
Η XML διαχωρίζει μικρά – κεφαλαία (case sensitive)
Εισαγωγή στην XML
Καραδημητρίου Κρυσταλλένια
16
Η HTML ενάντια στην XML
HTML
XML
<p><b>MIST7600</b> Data <course>
Management<br>
<code>MIST7600</code>
3 credit hours</p>
<title>Data
Management</title>
<credit>3</credit>
</course>
Εισαγωγή στην XML
Καραδημητρίου Κρυσταλλένια
17
Αναζήτηση
Οι μηχανές αναζήτησης αναζητούν
συγκεκριμένες ετικέτες (tags) στον κώδικα
XML
Ταχύτερα
Με μεγαλύτερη ακρίβεια
Εισαγωγή στην XML
Καραδημητρίου Κρυσταλλένια
18
Αναμενόμενα κέρδη
Αποθήκευση μια φορά και μορφοποίηση
πολλές φορές
Ανεξαρτησία υλικού – λογισμικού
Συγκέντρωση δεδομένων μια φορά και
ανταλλαγή πολλές φορές
Ταχύτερη εστιασμένη αναζήτηση
Μικρότερη συμφόρηση του δικτύου
Εισαγωγή στην XML
Καραδημητρίου Κρυσταλλένια
19
XML Προδιαγραφές
XML 1.0
Καθορίζει το συντακτικό της XML
XPointer, XLink
Καθορίζει ένα συγκεκριμένο τρόπο να αναπαριστά τους συνδέσμους
μεταξύ των διαφόρων πηγών (resources)
XSL
Καθορίζει μία γλώσσα για το στυλ – μορφή της XML
Εισαγωγή στην XML
Καραδημητρίου Κρυσταλλένια
20
XML – σχεδιασμός γλώσσας
Οι σχεδιαστές λογισμικού πρέπει να
καθορίσουν :
Επιτρεπόμενες ετικέτες
Κανόνες για εμφωλευμένες ετικέτες
Ποια στοιχεία μπορούν να έχουν περαιτέρω
επεξεργασία
Εισαγωγή στην XML
Καραδημητρίου Κρυσταλλένια
21
XML Σχήμα (Schema)
Το σχήμα καθορίζει
Τα ονόματα και το περιεχόμενο όλων των στοιχείων
που είναι επιτρεπτά σε ένα συγκεκριμένο έγγραφο
Τη δομή ενός εγγράφου
Πόσο συχνά ένα στοιχείο μπορεί να εμφανίζεται
Τη σειρά με την οποία τα στοιχεία πρέπει να
εμφανίζονται
Ο τύπος των δεδομένων που το στοιχείο
περιλαμβάνει
Εισαγωγή στην XML
Καραδημητρίου Κρυσταλλένια
22
Τα Στοιχεία και το περιεχόμενο τους
<bibliography>
Τύπος στοιχείου
(element type)
<paper ID="object-fusion">
<authors>
<author>Y.Papakonstantinou</author>
<author>S. Abiteboul</author>
<author>H. Garcia-Molina</author>
</authors>
<fullPaper source="fusion"/>
<title>Object Fusion in Mediator Systems</title>
<booktitle>VLDB 96</booktitle>
</paper>
</bibliography>
Περιεχόμενο
Εισαγωγή στην XML
χαρακτήρα
Καραδημητρίου Κρυσταλλένια
Στοιχείο
(element)
Περιεχόμενο
στοιχείου
Άδειο
στοιχείο
23
Ιδιότητες στοιχείων
Όνομα ιδιότητας
<bibliography>
Τιμή ιδιότητας
<paper pid="object-fusion">
<authors>
<author>Y.Papakonstantinou</author>
<author>S. Abiteboul</author>
<author>H. Garcia-Molina</author>
</authors>
<fullPaper source="fusion"/>
<title>Object Fusion in Mediator Systems</title>
<booktitle>VLDB 96</booktitle>
</paper>
</bibliography>
Εισαγωγή στην XML
Καραδημητρίου Κρυσταλλένια
24
DOM
Document object model
Tο μοντέλο δεδομένων για ένα XML
έγγραφο
Ένα δένδρο (1:m)
CD library
CD
*CDid
CDlabel
CDtitle
CDyear
Εισαγωγή στην XML
Καραδημητρίου Κρυσταλλένια
TRACK
*trknum
trktitle
trklen
25
Μοντέλο για τη δομή του DOM
και API
Ιεραρχία των αντικειμένων των κόμβων:
έγγραφο, στοιχείο, ιδιότητα, κείμενο, σχόλιο, ...
Προγραμματισμός ανεξάρτητος γλώσσας DOM
API :
get... first/last child, prev/next sibling, childNodes
insertBefore, replace
getElementsByTagName
...
Εισαγωγή στην XML
Καραδημητρίου Κρυσταλλένια
26
Schema (cdlib.xsd)
Δήλωση XML και ρίζα (root) όλων των
εγγράφων σχήματος (schema documents)
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
Εισαγωγή στην XML
Καραδημητρίου Κρυσταλλένια
27
Schema (cdlib.xsd)
CD library definition
<xsd:element name="cdlibrary">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="cd" type="cdType" minOccurs="1”
maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
Εισαγωγή στην XML
Καραδημητρίου Κρυσταλλένια
28
Schema (cdlib.xsd)
CD definition
<xsd:complexType name="cdType">
<xsd:sequence>
<xsd:element name="cdid" type="xsd:string"/>
<xsd:element name="cdlabel" type="xsd:string"/>
<xsd:element name="cdtitle" type="xsd:string"/>
<xsd:element name="cdyear" type="xsd:integer"/>
<xsd:element name="track" type="trackType" minOccurs="1"
maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
Εισαγωγή στην XML
Καραδημητρίου Κρυσταλλένια
29
Schema (cdlib.xsd)
Track definition
<xsd:complexType name="trackType">
<xsd:sequence>
<xsd:element name="trknum" type="xsd:integer"/>
<xsd:element name="trktitle" type="xsd:string"/>
<xsd:element name="trklen" type="xsd:time"/>
</xsd:sequence>
</xsd:complexType>
Εισαγωγή στην XML
Καραδημητρίου Κρυσταλλένια
30
Κοινοί τύποι δεδομένων
χαρακτήρας
Λογική τιμή
uriReference
δεκαδικός
πραγματικός
ακέραιος
χρόνος
ημερομηνία
Εισαγωγή στην XML
Καραδημητρίου Κρυσταλλένια
31
XML (cd.xml)
<?xml version = "1.0” encoding=“UTF-8”?>
<cdlibrary xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="cdlib.xsd">
<cd>
<cdid>A2 1325</cdid>
<cdlabel>Atlantic</cdlabel>
<cdtitle>Pyramid</cdtitle>
<cdyear>1960</cdyear>
<track>
<trknum>1</trknum>
<trktitle>Vendome</trktitle>
<trklen>2:30</trklen>
</track>
…
</cd>
</cdlibrary>
Εισαγωγή στην XML
Καραδημητρίου Κρυσταλλένια
32
XSLT μοντέλο επεξεργασίας
Μεταμόρφωση
XSLT stylesheet
XML δέντρο προέλευσης
XML,HTML,csv, text… τελικό δέντρο
Εισαγωγή στην XML
Καραδημητρίου Κρυσταλλένια
33
XSL
Extensible stylesheet language
Καθορίζει πως ένα XML έγγραφο
μετατρέπεται από μια μορφή σε άλλη
Διαφορετικές XSL μορφοποιήσεις μπορεί
να χρησιμοποιηθεί να παρουσιάσουν το
ίδιο xml έγγραφο με διαφορετικούς
τρόπους
Είναι ένα XML αρχείο
Εισαγωγή στην XML
Καραδημητρίου Κρυσταλλένια
34
XSL
Αποτελέσματα εφαρμογής του cd.xsl
Pyramid, Atlantic, 1960 [A2 1325]
1 Vendome 00:02:30
2 Pyramid 00:10:46
Ella Fitzgerald, Verve, 2000 [D136705]
1 A tisket, a tasket
00:02:37
2 Vote for Mr. Rhythm 00:02:25
3 Betcha nickel
00:02:52
Εισαγωγή στην XML
Καραδημητρίου Κρυσταλλένια
35
cd.xsl
<?xml version="1.0" encoding="UTF-8”?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<head>
<title>Complete List of Songs</title>
</head>
<body>
<h2>Complete List of Songs</h2>
<xsl:apply-templates select= "cdlibrary/cd" />
<xsl:for-each select="//cd">
<font color="maroon">
<xsl:value-of select="cdtitle" /> ,
<xsl:value-of select="cdlabel" /> ,
<xsl:value-of select="cdyear" />
[ <xsl:value-of select="cdid" />]
</font>
<br />
cd.xsl
(συνέχεια)
<table>
<xsl:for-each select= "track">
<tr>
<td align="left">
<xsl:value-of select= "trknum" />
</td>
<td>
<xsl:value-of select= "trktitle" />
</td>
<td align= "center" >
<xsl:value-of select= "trklen" />
</td>
</tr>
</xsl:for-each>
</table>
<br />
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
XSLT Παράδειγμα συνέχεια ...
Εισαγωγή στην XML
Καραδημητρίου Κρυσταλλένια
38
XML και Βάσεις δεδομένων
Η XML είναι ένα εργαλείο που χειρίζεται
δεδομένα
Τα XML έγγραφα πρέπει να
αποθηκεύονται μακροπρόθεσμα
Χρειάζεται ένα DBMS
Εισαγωγή στην XML
Καραδημητρίου Κρυσταλλένια
39
Απαιτήσεις της DBMS
Να αποθηκεύει ένα μεγάλο αριθμό εγγράφων
Να αποθηκεύει μεγάλα έγγραφα
Να Υποστηρίζει πρόσβαση σε τμήματα του
εγγράφου (π.χ., τα δεδομένα για ένα απλό CD σε
μια βιλιοθήκη με 20,000 CDs)
Ταυτόχρονη πρόσβαση
Έλεγχος εκδόσεων
Να συγκεντρώνει δεδομένα από άλλες πηγές
Εισαγωγή στην XML
Καραδημητρίου Κρυσταλλένια
40
RDBMS
Εστιασμένο σε έγγραφα
Εστιασμένο σε δεδομένα
Αποθηκεύεται ως CLOB
Αντικειμενο – σχεσιακές επεκτάσεις που
υποστηρίζουν ανάκτηση στοιχείων και ανανέωση
Αναμένεται οι φορείς RDBMS να προσφέρουν
επεκτάσεις που υποστηρίζουν XML
Εισαγωγή στην XML
Καραδημητρίου Κρυσταλλένια
41
Βάσεις δεδομένων σε XML
Μια σημαντική αναλογία από σελίδες του
δικτύου παράγονται από βάσεις δεδομένων
Αντί να μετατρέπονται σε HTML θα
έπρεπε να μετατρέπονται σε XML
Μετατροπή με το XSLσε HTML
Χρειάζονται εργαλεία για να μετατραπούν
σχεσιακά δεδομένα σε XML
Εισαγωγή στην XML
Καραδημητρίου Κρυσταλλένια
42
Παράδειγμα: Σχεσιακά δεδομένα με XML
R
R
A
B
C
a1
b1
c1
a2
a3
b2
b3
c2
c3
R
tuple
tuple
tuple
A B C A B C A B C
a1 b1 c1 a2 b2 c2 a3 b3 c3
tuple
A a1 /A
B b1 /B
C c1 /C
/tuple
tuple
A a2 /A
B b2 /B
C c2 /C
/tuple
…
/R
Εισαγωγή στην XML
Καραδημητρίου Κρυσταλλένια
43
Απλά εργαλεία Συγγραφής
MS Notepad (Απλός Επεξεργαστής
κειμένου)
Textpad
MS XML Notepad Beta 1.5
Εισαγωγή στην XML
Καραδημητρίου Κρυσταλλένια
44
Συμπεράσματα
Η XML αποτελεί μια σημαντική
τεχνολογική ανάπτυξη
Ο βασικός της στόχος είναι να υποστηρίζει
την ανταλλαγή δεδομένων
Περιορίζει το κόστος των επαγγελματικών
συναλλαγών
Εισαγωγή στην XML
Καραδημητρίου Κρυσταλλένια
45