Geçerli bir XML dosyası bir xml bildirimi gerektirir mi?
XML dosyası Xerces of Sax Parser kullanarak ayrıştırma duyuyorum. Xml bildirimi gerekli mi?
CEVAP
1.0, XMLXML Bildirimiisteğe bağlı. ""Kullanılacak ... hangisini tavsiye, ama zorunlu değil demektir. gerektiğini yazan yere section 2.8 of the XML 1.0 Recommendation bakın XML 1.1, ancak bu şekilde ifade ediyorzorunlu. Yazan yeri section 2.8 of the XML 1.1 Recommendation "MUST" kullanılır. Hatta devlet için gidereğerBildirgeyi Otomatik Belge XML 1.0 bir belge olduğunu ima eden yok.
Bir notXML Bildirimiencoding
standalone
her ikisi de isteğe bağlıdır. version
tek zorunludur. Ayrıca, bu nitelikleri değil, eğer varsa bu sırayla olmalıdır: version
,* *5, herhangi bir takip standalone
herhangi bir izledi.
<?xml version="1.0"?>
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" standalone="yes"?>
<?xml version="1.0" encoding="UTF-16" standalone="yes"?>
Eğer bu şekilde kodlamasını belirtmeniz yok eğer doğru değilse, XML ayrıştırıcıları kodlama kullanıldığını tahmin etmeye çalışın. XML 1.0 Öneri olası bir yolu character encoding can be autodetected açıklar. Uygulamada, bu giriş UTF-8, UTF-16 veya US-ASCII kodlanmış olarak ise fazla bir sorun değil. Otomatik tanıma (ör: ISO 8859-1) -- eğer bu oluşturmaktan kaçının 8-bit karakterleri kullanan kodlamaları ile karşılaştığında, US-ASCII aralığının dışında çalışmıyor.
standalone
XML belgenin doğru ya da değil DTD olmadan işlenebilir olup olmadığını gösterir. İnsanlar nadiren kullanılır. Bu gün, onun DTD olmadan eksik bilgileri XML biçimi tasarım kötü.
Güncelleme:
Bir "utf-8 kodlaması geçersiz" hata parser dosya içerisinde bulunan gerçek verileri XML bildirimi olduğunu söyleyen kodlama eşleşmedi gösterir./hata giriş Ya da bazı durumlarda, dosya içindeki veriler autodetected kodlama eşleşmedi.
Dosya bayt sırası işareti (BOM) içerdiği için UTF-16 kodlama olmalı. Bildirimi yazan şüpheli dosyayı Not Defteri ile UTF-16 olarak değişti zaman açıkça yanlış olan <?xml version="1.0" encoding="UTF-8"?>
. Basit Çözüm encoding
Kaldır ve sadece <?xml version="1.0"?>
. Sana da düzenlemek için söyle encoding="UTF-16"
ama bu yanlış olurdu için orijinal dosya (hangi değildi olarak UTF-16) ya da dosyayı bir şekilde alır değişti geri UTF-8 veya başka bir kodlama.
Sorununun nedeni değil, BOM -- kaldırmak için çalışırken rahatsız etmeyin. Not Defteri veya WordPad XML düzenlemek için kullanarak gerçek sorun!
Etrafında dize char dizi bildirimi geç...
Bir toplu iş dosyası içinde geçerli di...
Log4j geçerli tarih eklemek için bir g...
Nasıl bir toplu iş dosyası geçerli diz...
Bash Komut dosyası geçerli bir dizin a...