İyi Şekillendirilecek XML Dosyasını Dönüştürme

İyi Şekillendirilmiş ve Geçerli XML Yazmayı Öğrenin

Bazen iyi biçimlendirilmiş XML’in nasıl yazılacağını anlamak bir örnek görerek daha kolaydır. Web Yazarı bülteni bir XML biçimi kullanılarak yazılmıştır - Ben buna AML ya da İşaretleme Dili Hakkında diyorum (şekle bakın!). Bu çalışan bir belge olsa da, aslında iyi oluşturulmuş veya geçerli bir XML belgesi değildir.

İyi Biçimli

İyi oluşturulmuş bir XML belgesi oluşturmak için bazı özel kurallar vardır:

Belgede, iyi oluşturulmayan iki sorun vardır:

AML belgesinin ihtiyaç duyduğu ilk şey bir XML beyanı ifadesidir.

Diğer problem, tüm diğer unsurları tamamen çevreleyen bir elemanın olmamasıdır. Bunu düzeltmek için harici bir kapsayıcı öğe ekleyeceğim:

Bu iki basit değişikliği yapmak (ve tüm elemanların sadece CDATA içerdiğinden emin olmak), iyi oluşturulmamış belgeyi iyi oluşturulmuş bir belgeye dönüştürecektir.

Geçerli bir XML belgesi bir Belge Türü Tanımlaması (DTD) veya XML Şeması ile doğrulanır. Bunlar, geliştirici veya XML belgesinin anlamını tanımlayan standart bir kuruluş tarafından oluşturulan bir dizi kuraldır. Bunlar bilgisayara işaretleme ile ne yapacağını söyler.

İşaretleme Dili Hakkında durumunda, bu XHTML veya SMIL gibi standart bir XML dili olmadığı için, geliştirici tarafından DTD oluşturulacaktır. Bu DTD büyük olasılıkla XML belgesiyle aynı sunucuda olacak ve belgenin en üstünde başvurulan olacaktır.

Belgeleriniz için bir DTD veya Şema geliştirmeye başlamadan önce, iyi biçimlendirilmiş bir XML belgesinin kendi kendini tanımladığını ve dolayısıyla bir DTD'ye ihtiyaç duymadığını fark etmelisiniz.

Örneğin, iyi oluşturulmuş AML dokümanımızla, aşağıdaki etiketler vardır:

Web Yazarı bültenine aşina iseniz, bültenin farklı bölümlerini tanıyabilirsiniz. Bu, aynı standart formatı kullanarak yeni XML belgeleri oluşturmayı çok kolaylaştırır. Etikette uzun metnin tamamını ve etiketin ilk bölüm URL'sini her zaman ekleyeceğimi biliyorum.

DTDlerinden

Verileri kullanmak veya işlemek için geçerli bir XML belgesi yazmanız gerekiyorsa, belgeye bu belgeyle dahil edersiniz. Bu etikette, belgede temel XML etiketini ve DTD'nin yerini (genellikle bir Web URI'sı) tanımlarsınız. Örneğin:

DTD deklarasyonları ile ilgili güzel bir şey, bir DTD'nin XML belgesinin "SİSTEM" ile olduğu sisteme yerel olduğunu bildirmenizdir. HTML 4.0 belgesine benzer bir ortak DTD'yi de işaret edebilirsiniz:

Her ikisini de kullandığınızda, belgeye belirli bir DTD'yi (ortak tanımlayıcı) ve onu nerede bulacağını (sistem tanımlayıcısı) anlatıyorsunuz.

Son olarak, DOCTYPE etiketi içinde doğrudan belgeye dahili bir DTD ekleyebilirsiniz. Örneğin (bu AML belgesi için tam bir DTD değildir):

< ENTITY meta_keywords (#PCDATA)> ]>

XML Şeması

Geçerli bir XML belgesi oluşturmak için, XML'inizi tanımlamak üzere bir XML Şema belgesi de kullanabilirsiniz. XML Şeması XML belgelerini tanımlayan bir XML belgesidir. Şema yazmayı öğrenin.

Not

Sadece bir DTD veya XML şemasına işaret etmek yeterli değildir. Belgedeki XML, DTD veya Şema'daki kurallara uymalıdır. Doğrulayan bir ayrıştırıcı kullanmak, XML'inizin DTD kurallarına uyup uymadığını kontrol etmenin basit bir yoludur. Böyle birçok parsers online bulabilirsiniz.