Tamam, şu karakterler sorununu ayıralım:
- hiçbir XML belgesinde hiç geçerli değildir.
- kaçmak gerekiyor.
@Dolmen tarafından "XML'de geçersiz karakterler nelerdir " bölümünde verilen yanıt hala geçerlidir, ancak XML 1.1 belirtimiyle güncellenmesi gerekir.
1. Geçersiz karakterler
Burada açıklanan karakterler, bir XML belgesine eklenmesine izin verilen tüm karakterlerdir.
1.1. XML 1.0'da
İzin verilen karakterlerin genel listesi:
[2] Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] /* any Unicode character, excluding the surrogate blocks, FFFE, and FFFF. */
Temel olarak, Unicode aralıklarının dışındaki kontrol karakterlerine ve karakterlere izin verilmez. Bu aynı zamanda, örneğin karakter varlığının çağrılmasının yasak olduğu anlamına da gelir .
1.2. XML 1.1'de
İzin verilen karakterlerin genel listesi:
[2] Char ::= [#x1-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] /* any Unicode character, excluding the surrogate blocks, FFFE, and FFFF. */
[2a] RestrictedChar ::= [#x1-#x8] | [#xB-#xC] | [#xE-#x1F] | [#x7F-#x84] | [#x86-#x9F]
XML önerisinin bu revizyonu izin verilen karakterleri genişletti, bu yüzden kontrol karakterlerine izin verildi ve Unicode standardının yeni bir revizyonunu dikkate alıyor, ancak bunlara hala izin verilmiyor: NUL (x00) , xFFFE , xFFFF ...
Ancak, kontrol karakterleri ve tanımsız Unicode karakter kullanımı önerilmez.
Tüm ayrıştırıcıların bunu her zaman dikkate almadığı ve kontrol karakterlerine sahip XML belgelerinin reddedilebileceği de görülebilir.
2. Kaçması gereken karakterler (iyi biçimlendirilmiş bir belge elde etmek için):
<Bir öncelenmelidir <bir etiketi başlangıcı olarak kabul edildiğinden, varlık.
&Bir öncelenmelidir &o başlayan bir varlık referans olarak kabul edildiğinden, varlık
>İle kaçtı edilmelidir >varlık. Zorunlu değildir - bağlama bağlıdır - ancak kaçması şiddetle tavsiye edilir.
'Bir ile kaçan edilmelidir 'varlık - tek tırnak içinde tanımlanmış özelliklerde bulunan zorunlu ama kuvvetle hep ondan kaçmak için tavsiye edilir.
"Bir ile kaçan edilmelidir "varlık - çift tırnak içinde tanımlanmış özelliklerde bulunan zorunlu ama kuvvetle hep ondan kaçmak için tavsiye edilir.