Ποιους χαρακτήρες πρέπει να αποφεύγω στα έγγραφα XML;

Ποιοι χαρακτήρες πρέπει να αποφεύγονται στα έγγραφα XML ή πού μπορώ να βρω έναν τέτοιο κατάλογο;

Λύση

Αν χρησιμοποιήσετε μια κατάλληλη κλάση ή βιβλιοθήκη, θα κάνουν τη διαφυγή για εσάς. Πολλά προβλήματα XML προκαλούνται από τη συνένωση συμβολοσειρών.

Χαρακτήρες διαφυγής XML

Υπάρχουν μόνο πέντε:

"   "
'   '
<   <
>   >
&   &

Η αποφυγή χαρακτήρων εξαρτάται από το πού χρησιμοποιείται ο ειδικός χαρακτήρας.

Τα παραδείγματα μπορούν να επικυρωθούν στην W3C Markup Validation Service.

Text

Ο ασφαλής τρόπος είναι η διαφυγή και των πέντε χαρακτήρων στο κείμενο, ωστόσο, οι τρεις χαρακτήρες ", ' και > δεν χρειάζεται να διαφυγούν στο κείμενο:

<?xml version="1.0"?>
"'>

Attributes

Ο ασφαλής τρόπος είναι να αποφεύγετε και τους πέντε χαρακτήρες στα χαρακτηριστικά, ωστόσο, ο χαρακτήρας > δεν χρειάζεται να αποφεύγεται στα χαρακτηριστικά:

<?xml version="1.0"?>

Ο χαρακτήρας ' δεν χρειάζεται να διαφύγει σε χαρακτηριστικά εάν τα εισαγωγικά είναι ":

<?xml version="1.0"?>

Ομοίως, ο χαρακτήρας " δεν χρειάζεται να αποφεύγεται σε χαρακτηριστικά εάν τα εισαγωγικά είναι ':

<?xml version="1.0"?>

Comments

Και οι 5 ειδικοί χαρακτήρες δεν πρέπει να αποφεύγονται στα σχόλια:

<?xml version="1.0"?>


CDATA

Και οι 5 ειδικοί χαρακτήρες δεν πρέπει να αποφεύγονται σε τμήματα CDATA:


<?xml version="1.0"?>
Σχόλια (13)

Ίσως αυτό να βοηθήσει:

Λίστα αναφορών οντοτήτων χαρακτήρων XML και HTML:

Στα έγγραφα SGML, HTML και XML, το λογικές δομές γνωστές ως character δεδομένα και τιμές χαρακτηριστικών αποτελούνται από ακολουθίες χαρακτήρων, στις οποίες κάθε χαρακτήρας μπορεί να εκδηλωθεί άμεσα (αναπαριστώντας τον εαυτό του), ή μπορεί να είναι αναπαριστάται από μια σειρά χαρακτήρων που ονομάζεται αναφορά χαρακτήρων, εκ των οποίων υπάρχουν δύο τύποι: ένας αριθμητικός αναφορά χαρακτήρων και ένας χαρακτήρας αναφορά οντότητας. Αυτό το άρθρο απαριθμεί τις αναφορές οντοτήτων χαρακτήρων που είναι έγκυρες σε έγγραφα HTML και XML.

Το εν λόγω άρθρο παραθέτει τις ακόλουθες πέντε προκαθορισμένες οντότητες XML:

quot  "
amp   &
apos  '
lt    <
gt    >
Σχόλια (0)

εκτός από τους κοινώς γνωστούς πέντε χαρακτήρες [, &, ", '] θα απέφευγα επίσης τον κάθετο χαρακτήρα tab (0x0B). Είναι έγκυρος UTF-8, αλλά όχι έγκυρη XML 1.0, και ακόμη και πολλές βιβλιοθήκες (συμπεριλαμβανομένης της libxml2) τον παραλείπουν και βγάζουν σιωπηλά άκυρη XML.

Σχόλια (0)