Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Σημασιολογικός Ιστός (Semantic Web) - XML 1/11/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr
Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων XML Ορισμός και Xρήση Oντοτήτων Παράδειγμα
Προσθήκη οντοτήτων σε έγγραφο Στο έγκυρο αρχείο που είδαμε στο προηγούμενο μάθημα (Inventory Valid.xml) δείτε το στις επόμενες διαφάνειες να προσθέσετε τα ακόλουθα: Οντότητες mass, trade και hard για την απόδοση των mass market paperback, trade paperback και hardcover αντίστοιχα στο στοιχείο BINDING Προσθήκη της ιδιότητας Reviews στη δήλωση λίστας ιδιοτήτων για το στοιχείο BOOK. Η Reviews θα είναι προαιρετική ιδιότητα στην οποία μπορούμε να δώσουμε τα ονόματα μίας ή περισσότερων εξωτερικών μη αναλυόμενων οντοτήτων. Οι οντότητες αυτές περιέχουν αναθεωρήσεις (reviews) σε μορφή.doc ή.pdf που θα αποδοθούν στην ιδιότητα Reviews των στοιχείων BOOK
Inventory.xml (1/4) <?xml version="1.0"?> <!-- File Name: Inventory Valid.xml --> <!DOCTYPE INVENTORY [ <!ELEMENT INVENTORY (BOOK)*> <!ELEMENT BOOK (TITLE, AUTHOR, BINDING, PAGES, PRICE)> <!ATTLIST BOOK InStock (yes no) #REQUIRED> <!ELEMENT TITLE (#PCDATA SUBTITLE)*> <!ELEMENT SUBTITLE (#PCDATA)> <!ELEMENT AUTHOR (#PCDATA)> <!ELEMENT PRICE (#PCDATA)> <!ATTLIST AUTHOR Born CDATA #IMPLIED> <!ELEMENT BINDING (#PCDATA)> <!ELEMENT PAGES (#PCDATA)> ] >
Inventory.xml (2/4) <INVENTORY> <TITLE>The Adventures of Huckleberry Finn</TITLE> <AUTHOR>Mark Twain</AUTHOR> <BINDING>mass market paperback</binding> <PAGES>298</PAGES> <PRICE>$5.49</PRICE> </BOOK> <TITLE>Leaves of Grass</TITLE> <AUTHOR>Walt Whitman</AUTHOR> <BINDING>hardcover</BINDING> <PAGES>462</PAGES> <PRICE>$7.75</PRICE> </BOOK>
Inventory.xml (3/4) <TITLE>The Legend of Sleepy Hollow</TITLE> <AUTHOR>Washington Irving</AUTHOR> <BINDING>mass market paperback</binding> <PAGES>98</PAGES> <PRICE>$2.95</PRICE> </BOOK> <TITLE>The Marble Faun</TITLE> <AUTHOR>Nathaniel Hawthorne</AUTHOR> <BINDING>trade paperback</binding> <PAGES>473</PAGES> <PRICE>$10.95</PRICE> </BOOK> <TITLE>Moby-Dick</TITLE> <AUTHOR>Herman Melville</AUTHOR> <BINDING>hardcover</BINDING> <PAGES>724</PAGES> <PRICE>$9.95</PRICE> </BOOK>
Inventory.xml (4/4) <TITLE>The Portrait of a Lady</TITLE> <AUTHOR>Henry James</AUTHOR> <BINDING>mass market paperback</binding> <PAGES>256</PAGES> <PRICE>$4.95</PRICE> </BOOK> <TITLE>The Scarlet Letter</TITLE> <AUTHOR>Nathaniel Hawthorne</AUTHOR> <BINDING>trade paperback</binding> <PAGES>253</PAGES> <PRICE>$4.25</PRICE> </BOOK> <TITLE>The Turn of the Screw</TITLE> <AUTHOR>Henry James</AUTHOR> <BINDING>trade paperback</binding> <PAGES>384</PAGES> <PRICE>$3.35</PRICE> </BOOK> </INVENTORY>
Θυμηθείτε...
Άρα, τύποι οντοτήτων Γενική εσωτερική, αναλυόμενη Γενική εξωτερική, αναλυόμενη Γενική εξωτερική, μη αναλυόμενη Εσωτερική αναλυόμενη, παραμέτρου Εξωτερική αναλυόμενη, παραμέτρου
Προσθήκη οντοτήτων σε έγγραφο Προσθήκη οντοτήτων στο έγγραφο Inventory Valid.xml <!-- οντότητες για απόδοση στο στοιχείο BINDING: --> <! ENTITY mass "mass market paperback"> <! ENTITY trade "trade paperback"> <! ENTITY hard "hardcover"> Γενικές εσωτερικές αναλυόμενες οντότητες που προσθέτουμε σε στοιχεία BINDING αντί την πραγματική περιγραφή δέσμευσης σε κάθε στοιχείο Η χρήση οντοτήτων βοηθάει να διασφαλιστεί ότι υπάρχει συνέπεια από βιβλίο σε βιβλίο όσον αφορά τις περιγραφές ενός δεδομένου τύπου δέσμευσης Οι οντότητες διευκολύνουν τη μορφοποίηση περιγραφής σε κάθε στοιχείο BINDING: αλλαγή του "hardcover", όπου αυτό εμφανίζεται, σε "hardback" διορθώνοντας την οντότητα hard
Προσθήκη οντοτήτων σε έγγραφο Σε κάθε στοιχείο BINDING, αντικατάσταση της περιγραφής δέσμευσης με την αντίστοιχη αναφορά οντότητας Αλλαγή του στοιχείου BINDING για το The Adventures of Huckleberry Finn από <BINDING>mass market paperback</binding> σε <BINDING>&mass; </BINDING>
Προσθήκη οντοτήτων σε έγγραφο Προσθήκη οντοτήτων στο έγγραφο Inventory Valid.xml <!-- εξωτερικές ενότητες που περιέχουν αναθεωρήσεις --> <!-- που θα αποδοθούν στην ιδιότητα Review των στοιχείων BOOK --> <! NOTATION DOC SYSTEM "Microsoft Word document"> <! NOTATION PDF SYSTEM "portable document format"> <! ENTITY rev_leaves SYSTEM "Review Leaves of Grass.doc" NDATA DΟC> <! ENTITY rev_faun1 SYSTEM "Review 01 of The Marble Faun.doc" NDATA DOC> <! ENTITY rev_faun2 SYSTEM "Review 02 of The Marble Faun.pdf" NDATA PDF> <! ENTITY rev_screw SYSTEM "Review of The Turn of the Screw.pdf" NDATA PDF> Γενικές εξωτερικές μη αναλυόμενες οντότητες, που επιτρέπουν την επισύναψη στα στοιχεία BOOK εξωτερικά αρχεία με κριτικές βιβλίων
Προσθήκη οντοτήτων σε έγγραφο Προσθήκη της ιδιότητας Reviews στη δήλωση λίστας ιδιοτήτων για το στοιχείο BOOK και στη συνέχεια στο DTD: <! ATTLIST BOOK InStock (yes no) #REQUIRED Reviews ENTITIES #IMPLIED> Reviews είναι προαιρετική ιδιότητα (#ΙΜPLIED) στην οποία μπορούμε να δώσουμε τα ονόματα μίας ή περισσότερων γενικών εξωτερικών μη αναλυόμενων οντοτήτων Η ιδιότητα Reviews έχει τον τύπο ENTITIES
Προσθήκη οντοτήτων σε έγγραφο Προσθήκη ιδιοτήτων Reviews στα στοιχεία BOOK: Για το Leaves of Grass: <ΒΟΟΚ InStock="no Reviews="rev_leaves"> Για το The Marble Faun: <BΟΟK InStock="yes" Reviews="rev_faun1 rev_faun2"> Για το The Turn of the Screw: <BOOK InStock="no" Reviews="rev_screw">