160 likes | 246 Views
Building web sites. Using XML Open Simple Markup Language. Στόχοι. Μείωση χρόνου ανάπτυξης και συντήρησης Βέλτιστη αξιοποίηση ανθρώπινου δυναμικού Ανεξάρτητη λειτουργία επιπέδων ( layers). Ανάπτυξη & συντήρηση. Προκαθορισμένες δομές για την περιγραφή του περιεχομένου
E N D
Building web sites Using XML Open Simple Markup Language Σταύρος Σ Κουνής
Στόχοι • Μείωση χρόνου ανάπτυξης και συντήρησης • Βέλτιστη αξιοποίηση ανθρώπινου δυναμικού • Ανεξάρτητη λειτουργία επιπέδων (layers) Σταύρος Σ Κουνής
Ανάπτυξη & συντήρηση • Προκαθορισμένες δομές για την περιγραφή του περιεχομένου • Εξυπνο «λογικό τμήμα» που αναγνωρίζει την πληροφορία • Τμήματα που μπορούν να αφαιρεθούν, προστεθούν ή τροποποιηθούν αυτόνομα Σταύρος Σ Κουνής
Ανθρώπινο δυναμικό • Δυνατότητα αξιοποίησης ατόμων με διαφορετικό γνωστικό αντικείμενο • Καταμερισμός των εργασιών ανάλογα με το γνωστικό αντικείμενο του κάθε ατόμου. • Κάθε ομάδα εργασίας έχει την δυνατότητα να λειτουργεί και να αναπτύσει τμήματα του έργου αυτόνομα και παράλληλα. Σταύρος Σ Κουνής
Επίπεδα (Layers) Περιεχόμενο Παρουσίαση Επεξεργασία XML XSLT Publishing OSML Σταύρος Σ Κουνής
Περιεχόμενο Περιεχόμενο DB • Αυστηρή περιγραφή της δομής με χρήση σχημάτων (schemas - XSD) • Ορισμός προκαθορισμένων σχημάτων για υποδοχή περιεχομένου • Υποστήριξη υποδοχής περιεχομένου από τρίτες πηγές 3rd party static XML Custom transformation Dynamic XML (stream over HTTP) “XMLHTTP” Σταύρος Σ Κουνής
Επεξεργασία Επεξεργασία • Tεχνολογίες • XSLT • Javascript Πυρήνας Modules* * βλέπε Παράρτημα Σταύρος Σ Κουνής
Παρουσίαση • HTML • CSS • Javascript Επεξεργασία Publishing WML SVG • PDF Σταύρος Σ Κουνής
Cocoon Framework Περιεχόμενο Παρουσίαση Επεξεργασία XML XSLT Publishing OSML Cocoon Framework Σταύρος Σ Κουνής
Τεχνολογίες • Jakarta Project • Tomcat ( υποδοχέας java servlet ) • Cocoon ( Java servlet XML publishing framework) Σταύρος Σ Κουνής
OSML • Open Simple Markup Language Διάγραμμα κύριας δομής Σταύρος Σ Κουνής
OSML Διάγραμμα δομής στοιχείων περιεχομένου Σταύρος Σ Κουνής
Δεσμοί • http://www.sourceforge.net/projects/osml • http://xml.apache.org/cocoon • http://jakarta.apache.org/tomcat Σταύρος Σ Κουνής
Παράρτημα Παράδειγμα υλοποίησης module «Ημερολόγιο» Για την δημιουργία του ημερολογίου δεν χρειάζεται τίποτα περισσότερο από την αναφορά του στοιχείου <calendar/> Σταύρος Σ Κουνής
Παράρτημα gD.async=false; gD.load("celebrations.xmlt"); gD.setProperty("SelectionLanguage", "XPath") var g_DayString; function window.onload(){ var oDate = new Date(); var l_theDay=oDate.getDate().valueOf(); var l_theMonth=oDate.getMonth().valueOf()+1; var l_theYear=oDate.getYear().valueOf(); g_DayString=l_theDay+"/"+l_theMonth+"/"+l_theYear; day.innerHTML=l_theDay; month.innerHTML=sayMonth(l_theMonth.toString()); sayCelebration(l_theDay,l_theMonth); } function sayCelebration(vDay,vMonth){ var selectedMonth = vMonth; var selectedDay= vDay; if (gD.XMLDocument.selectSingleNode("//eortologio/month[@id=" + selectedMonth + "]/celebration[@day=" + selectedDay + "]")) { var nCelebs=gD.XMLDocument.selectSingleNode("//eortologio/month[@id=" + selectedMonth + "]/celebration[@day=" + selectedDay + "]"); var txtCeleb=nCelebs.attributes.getNamedItem("name").nodeTypedValue celeb.innerHTML=txtCeleb; } else { celeb.innerHTML=""; }} function checkMonth(){ var selectedMonth = theMonth.value; var selectedDay= theDay.value; if (gD.XMLDocument.selectSingleNode("//eortologio/month[@id=" + selectedMonth + "]/celebration[@day=" + selectedDay + "]")) { var nCelebs=gD.XMLDocument.selectSingleNode("//eortologio/month[@id=" + selectedMonth + "]/celebration[@day=" + selectedDay + "]"); var txtCeleb=nCelebs.attributes.getNamedItem("name").nodeTypedValue outputPlace.innerHTML=txtCeleb; } else { } } Σταύρος Σ Κουνής
Τέλος παρουσίασης Σταύρος Σ Κουνής