Αξίες XML
- Προηγούμενη σελίδα Στοιχεία XML
- Επόμενη σελίδα Χώροι Ονομάτων XML
Τα στοιχεία του XML μπορούν να περιέχουν ιδιότητες στο κείμενο του κλειστού ετικέτας, όπως στο HTML.
Οι ιδιότητες (Attribute) παρέχουν πρόσθετη πληροφορία για τα στοιχεία.
Οι ιδιότητες του XML πρέπει να περιλαμβάνουν εισαγωγικά
Οι τιμές των ιδιοτήτων πρέπει να περιβάλλονται από εισαγωγικά, αλλά μπορούν να χρησιμοποιηθούν και τα διπλά και τα μοναδικά εισαγωγικά.
Για παράδειγμα, η φύση μιας προσωπικότητας, η ετικέτα <person> μπορεί να γραφτεί ως:
<person gender="female">
Ή μπορείτε να το κάνετε και έτσι:
<person gender='female'>
Αν η τιμή της ιδιότητας περιέχει ήδη διπλές κενές, μπορείτε να χρησιμοποιήσετε μοναδικές κενές, όπως στο παρακάτω παράδειγμα:
<gangster name='George "Shotgun" Ziegler'>
Ή μπορείτε να χρησιμοποιήσετε χαρακτήρες entity:
<gangster name="George "Shotgun" Ziegler">
XML στοιχεία και ιδιότητες
Παρακαλώ δείτε αυτά τα παραδείγματα:
<person gender="female"> <firstname>Anna</firstname> <lastname>Σμιθ</lastname> </person> <person> <gender>female</gender> <firstname>Anna</firstname> <lastname>Σμιθ</lastname> </person>
Στο πρώτο παράδειγμα, το sex είναι μια ιδιότητα. Στο δεύτερο παράδειγμα, το sex είναι ένα υποστοιχείο. Και οι δύο παραδείγματα μπορούν να παρέχουν τις ίδιες πληροφορίες.
Δεν υπάρχει κανόνας στο XML που να μας λέει πότε να χρησιμοποιούμε ιδιότητες και πότε να χρησιμοποιούμε υποστοιχεία. Η εμπειρία μου είναι ότι στις HTML, οι ιδιότητες είναι πολύ εύκολες στη χρήση, αλλά στο XML, θα πρέπει να αποφεύγετε τη χρήση ιδιοτήτων. Αν οι πληροφορίες φαίνονται σαν δεδομένα, τότε χρησιμοποιήστε υποστοιχεία.
Ο αγαπημένος μου τρόπος
Οι τρεις παρακάτω XML εγγραφές περιέχουν πλήρως τα ίδια δεδομένα:
Στο πρώτο παράδειγμα χρησιμοποιήθηκε η ιδιότητα date:
<note date="2008-01-10"> <to>Γιώργος</to> <from>Ιωάννης</from> </note>
Στο δεύτερο παράδειγμα χρησιμοποιήθηκε το στοιχείο <date>:
<note> <date>2008-01-10</date> <to>Γιώργος</to> <from>Ιωάννης</from> </note>
Στην τρίτη παράδειγμα χρησιμοποιήθηκε το εκτεταμένο στοιχείο date (αυτό είναι το αγαπημένο μου):
<note> <date> <year>2008</year> <month>01</month> <day>10</day> </date> <to>Γιώργος</to> <from>Ιωάννης</from> </note>
Αποφύγετε τη χρήση ιδιοτήτων XML;
Ορισμένα πράγματα που πρέπει να λάβετε υπόψη όταν χρησιμοποιείτε ιδιότητες είναι:
- Οι ιδιότητες δεν μπορούν να περιέχουν πολλαπλά δεδομένα (τα στοιχεία μπορούν)
- Οι ιδιότητες δεν μπορούν να περιγράψουν την δομή δέντρου (τα στοιχεία μπορούν)
- Οι ιδιότητες δεν είναι εύκολα επεκτάσιμες (για μελλοντικές αλλαγές)
Προσπαθήστε να χρησιμοποιείτε στοιχεία για να περιγράφετε δεδομένα. Και να χρησιμοποιείτε μόνο ιδιότητες για να παρέχετε πληροφορίες που δεν έχουν να κάνουν με τα δεδομένα.
Μη κάνετε τέτοιες αθλιότητες (αυτό δεν είναι ο τρόπος που πρέπει να χρησιμοποιείται το XML):
<note day="10" month="01" year="2008"> to="Γιώργος" from="Ιωάννης" heading="Μνήμη" body="Μη ξεχνάτε την συνάντηση!" </note>
Για τις ιδιότητες του XML
Ποτέ δεν θα αποδίδουμε ένα ID στο στοιχείο. Αυτά τα ID αναγνωριστικά μπορούν να χρησιμοποιηθούν για να αναγνωρίσουν τα στοιχεία XML, λειτουργούν με τον ίδιο τρόπο που η ιδιότητα ID στο HTML. Αυτός ο παράδειγμα μας δείχνει αυτή την κατάσταση:
<messages> <note id="501"> <to>Γιώργος</to> <from>Ιωάννης</from> <heading>Μνήμη</heading> <body>Μη ξεχνάτε την συνάντηση!</body> </note> <note id="502"> <to>Ιωάννης</to> <from>Γιώργος</from> <heading>Απάντηση: Μνήμη</heading> <body>Θα μην το κάνω</body> </note> </messages>
Το ID παραπάνω είναι απλώς ένας δείκτης που χρησιμοποιείται για να ταυτοποιήσει διαφορετικές σημειώσεις. Δεν είναι μέρος των δεδομένων της σημειώσης.
Η ιδέα που προσπαθούμε να περάσουμε είναι ότι τα μεταδεδομένα (δεδομένα για δεδομένα) πρέπει να αποθηκεύονται ως ιδιότητες και τα δεδομένα själفس πρέπει να αποθηκεύονται ως στοιχεία.
- Προηγούμενη σελίδα Στοιχεία XML
- Επόμενη σελίδα Χώροι Ονομάτων XML