Μαθήματα XML (Μέρος 5)

από • 25/04/2014 • Education, Internet, XMLΣχόλια (0)5241

Η Τεχνολογία XML – Μέρος 5ο

Παράδειγμα 23 – Δημιουργία Παραμετρικής Οντότητας

Μπορούμε να ορίσουμε ένα ειδικό κείμενο, που αποκαλείται παραμετρική οντότητα (parameter entity), και να αναφερόμαστε σ’ αυτό πολλές φορές μέσα από ένα DTD αρχείο. Στην ουσία δημιουργούμε μια συντόμευση για ένα μεγάλο ή περίπλοκο κείμενο που εμφανίζεται πολλές φορές μέσα σ’ ένα DTD αρχείο. Πρέπει να δηλώσουμε μια παραμετρική οντότητα πριν την χρησιμοποιήσουμε και είναι σωστό να την δηλώνουμε στην αρχή του DTD αρχείου.

Για να δηλώσουμε μια παραμετρική οντότητα χρησιμοποιούμε την λέξη κλειδί <!ENTITY> και το σύμβολο % μ’ ένα κενό πριν και ένα κενό μετά. Για ένα εσωτερικό στοιχείο παραμέτρου, η σύνταξη είναι η εξής :

<!ENTITY % όνομα «κείμενο αντικατάστασης»>

Για μια εξωτερική παραμετρική οντότητα, πρέπει να καθορίσουμε το DTD αρχείο στο οποίο βρίσκεται το κείμενο αντικατάστασης, ως εξής :

<!ENTITY % όνομα SYSTEM «αρχείο.dtd»>

Ακολουθεί ένα παράδειγμα.

<!ENTITY % answer "(yes | no)">

Την ώρα της εκτέλεσης, θα αντικατασταθεί το όνομα αναφοράς %answer; με το κείμενο αντικατάστασης «(yes | no)».

Παράδειγμα 24 – Δημιουργία Γενικής Οντότητας

Εκτός από τις παραμετρικές οντότητες, μπορούμε να χρησιμοποιήσουμε και μια γενική οντότητα (general entity) και να αναφερόμαστε σ’ αυτήν μέσα σ’ ένα XML αρχείο. Στην ουσία δημιουργούμε μια συντόμευση για ένα μεγάλο ή περίπλοκο κείμενο που εμφανίζεται πολλές φορές μέσα σ’ ένα XML αρχείο.

Για να δηλώσουμε μια γενική οντότητα χρησιμοποιούμε την λέξη κλειδί <!ENTITY>, το όνομα της οντότητας και το κείμενο αντικατάστασης. Για μια εσωτερική γενική οντότητα, η σύνταξη είναι η εξής :

<!ENTITY όνομα «κείμενο αντικατάστασης»>

Για μια εξωτερική παραμετρική οντότητα, πρέπει να καθορίσουμε το XML αρχείο στο οποίο βρίσκεται το κείμενο αντικατάστασης, ως εξής :

<!ENTITY όνομα SYSTEM «αρχείο.dtd»>

Ακολουθεί ένα παράδειγμα.

<!ENTITY flo "Prefecture of Florina">

Την ώρα της εκτέλεσης, θα αντικατασταθεί το όνομα αναφοράς «&flo;» με το κείμενο αντικατάστασης «Prefectue of Florina».

Για να ξεκαθαρίσουμε λίγο τα πράγματα με τους τέσσερις τύπους οντοτήτων, πρέπει να έχουμε υπόψη μας ότι ορίζουμε και τους τέσσερις τύπους οντοτήτων σ’ ένα DTD αρχείο με την ετικέτα <!ENTITY> ή στην ενότητα <!DOCTYPE> ενός XML αρχείου.

Οι γενικές οντότητες αναφέρονται μέσα σε XML αρχεία με το & και το σύμβολο ; (&entityName;), ενώ οι παραμετρικές οντότητες αναφέρονται μέσα σε DTD αρχεία με το % και το σύμβολο ; (%entityName;). Οι εσωτερικές οντότητες ορίζουν ένα κείμενο αντικατάστασης στο ίδιο το έγγραφο που αναφέρει αυτές τις οντότητες, ενώ οι εξωτερικές οντότητες με την λέξη κλειδί SYSTEM αναφέρονται σ’ ένα κείμενο ανατικατάστασης που βρίσκεται σ’ ένα εξωτερικό έγγραφο.

Η Τεχνολογία XML – Μέρος 5ο

Παράδειγμα 25 – Δημιουργία Σήμανσης (Notation)

Με την δήλωση μιας σήμανσης (notation), μπορούμε να αναφερθούμε σ’ έναν εξωτερικό τύπο δεδομένων που σχετίζεται με μια εξωτερική γενική οντότητα. Ενας εξωτερικός τύπος δεδομένων είναι ένας τύπος δεδομένων μη XML, όπως ένα αρχείο .gif ή ένα αρχείο .doc, και μια εξωτερική οντότητα είναι ένα DTD στοιχείο που το χρησιμοποιούμε για να βρίσκουμε εξωτερικούς τύπους δεδομένων που χρησιμοποιούνται σε XML έγγραφα.

Η σύνταξη για την δήλωση μιας notation είναι η εξής :

<!NOTATION όνομα SYSTEM «τύπος αρχείου»>

Το name είναι το όνομα της σήμανσης notation και ο τύπος αρχείου είναι μια τιμή που μπορεί να αναγνωρίσει ένας XML επεξεργαστής και να την επεξεργαστεί την ώρα εκτέλεσης.

Ακολουθεί ένα παράδειγμα.

<!NOTATION GIF SYSTEM "image/gif">

Το GIF είναι το όνομα της σήμανσης notation και το image/gif είναι ο τύπος δεδομένων. Οι σημάνσεις (notation) περιγράφουν την μορφή αρχείων δεδομένων που δεν είναι XML, ενώ οι οντότητες (entities) παρέχουν συνδέσεις στην φυσική θέση των μη XML δεδομένων.

Για να δηλώσουμε τώρα μια εξωτερική γενική οντότητα ώστε να συμπεριλάβουμε ένα αρχείο που περιέχει μη XML δεδομένα, όπως ένα αρχείο jpeg ή ένα αρχείο pdf, πρέπει πρώτα να δηλώσουμε μια ιδιότητα notation. Η σύνταξη είναι η εξής :

<!ENTITY όνομα_οντότητας SYSTEM «όνομα_αρχείου» NDATA όνομα_notation>

Η σήμανση θα πρέπει να έχει ήδη ορισθεί στο DTD αρχείο. Ακολουθεί ένα παράδειγμα.

<!NOTATION GIF SYSTEM "image/gif">
<!ENTITY P1 SYSTEM "../images/florina.gif" NDATA GIF>

Παράδειγμα 26 – Δήλωση ενός Αρχείου Διάταξης (Schema)

Μια διάταξη (schema) είναι μια δήλωση που περιέχει κανόνες επικύρωσης (validation rules) για να μπορέσουμε να περιορίσουμε τις τιμές δεδομένων XML. Αποτελούν μια εναλλακτική λύση για τους ορισμούς τύπου εγγράφων (DTD) και έχουν τα εξής πλεονεκτήματα :

Χρησιμοποιούν τυπική σύνταξη XML.
Μπορούμε να επικυρώσουμε εξειδικευμένους τύπους δεδομένων, όπως integer, date και time.
Το MSXML προσφέρει επί του παρόντος την καλύτερη υποστήριξη για τις διατάξεις. Η σύνταξη για την δημιουργία μιας διάταξης είναι η εξής :

<Schema
name="όνομα_διάταξης"
xmlns="urn:schemas-microsoft-com:xml-data"
xmlns:dt="urn:schemas-microsoft-com:datatypes">
</Schema>

Για να βάλουμε σχόλια (comments) σε μια διάταξη, χρησιμοποιούμε την γνωστή σύνταξη :

<!- – κείμενο σχολίου – ->

Ειδικά για τις διατάξεις (Schemas), η Microsoft υποστηρίζει ένα ειδικό στοιχείο, το <description>, για να σχολιάσουμε τον κώδικα μιας διάταξης, ως εξής :

<description> Η Φλώρινα βρίσκεται στην Δυτική Μακεδονία </description>

Διαβάστε το 4ο μέρος εδώ

Διαβάστε το 6ο μέρος εδώ

Πηγή:

ΠΛΗ.ΝΕ.Τ

Αν βρήκατε το άρθρο μας χρήσιμο, θέλετε να μείνετε ενημερωμένοι για όλα τα νέα στο τομέα της τεχνολογίας καθώς και σε χρηστικά άρθρα, βοηθήστε μας κάνοντας like στην σελίδα μας στο Facebook πατώντας εδώ

Σχετικά Άρθρα