Bu makale, bir örnek göstererek nasıl iyi biçimlendirilmiş XML yazılacağını açıklamaktadır. Web Writer bülteni bir XML formu kullanılarak yazılmıştır; buna AML veya İşaretleme Dili Hakkında diyoruz. Bu çalışan bir belge olsa da, iyi biçimlendirilmiş veya geçerli bir XML belgesi değildir.
İyi Biçimlendirilmiş
İyi biçimlendirilmiş bir XML belgesi oluşturmak için bazı özel kurallar vardır:
- XML bildirimi her belgede ilk sırada yer almalıdır.
- Yorumlar bir etiket içinde geçerli değildir. Yorumlar, yorumun başlangıcı ve bitişi dışında, arka arkaya iki kısa çizgi içeremez.
- Örneğin, etiketlerin bir bitiş etiketine sahip olması veya tekli etiketin kendi içinde kapatılması gerekir.
- Etiketlerin tüm öznitelikleri, özniteliğin kendisi çift tırnak içermediği sürece, tercihen çift tırnak işareti ile tırnak içine alınmalıdır.
- Her XML belgesi, diğer tüm öğeleri tamamen içeren bir öğe içermelidir.
Belgenin iyi biçimlendirilmemesine neden olan yalnızca iki sorun var:
- AML belgesinin ihtiyaç duyduğu ilk şey bir XML bildirimi ifadesidir.
- Diğer sorun, hiçbir unsurun diğer tüm unsurları tamamen kapsamamasıdır. Bunu düzeltmek için harici bir kap öğesi ekleyeceğiz:
Bu iki basit değişikliği yapmak (ve tüm öğelerin yalnızca CDATA içermesini sağlamak) iyi biçimlendirilmemiş belgeyi iyi biçimlendirilmiş bir belgeye dönüştürecektir. Geçerli bir XML belgesi, Belge Türü Tanımına (DTD) veya XML Şemasına göre doğrulanır. Bunlar, geliştirici veya bir standart organizasyonu tarafından oluşturulan ve XML belgesinin anlamını tanımlayan bir dizi kuraldır. Bunlar bilgisayara işaretlemeyle ne yapacağını söyler. İşaretleme Dili Hakkında durumunda, bu XHTML veya SMIL gibi standart bir XML dili olmadığından, DTD geliştirici tarafından oluşturulacaktır. Bu DTD, büyük olasılıkla XML belgesiyle aynı sunucuda olacak ve belgenin en üstünde başvurulacaktır. Belgeleriniz için bir DTD veya Şema geliştirmeye başlamadan önce, basitçe iyi biçimlendirilmiş bir XML belgesinin kendi kendini tanımladığını ve dolayısıyla bir DTD’ye ihtiyaç duymadığını anlamalısınız. Örneğin, iyi biçimlendirilmiş AML belgemizde aşağıdaki etiketler vardır:
Web Writer haber bültenine aşina iseniz, haber bülteninin farklı bölümlerini tanıyabilirsiniz. Bu, aynı standart biçimi kullanarak yeni XML belgeleri oluşturmayı çok kolaylaştırır. Her zaman tam uzunluktaki başlığı etikete ve ilk bölüm URL’sini etikete koyardık.
DTD’ler
Verileri kullanmak veya işlemek için geçerli bir XML belgesi yazmanız gerekiyorsa, bunu belgenize etiketiyle dahil etmelisiniz. Bu etikette, belgedeki temel XML etiketini ve DTD’nin konumunu (genellikle bir Web URI’si) tanımlarsınız. Örneğin: DTD bildirimleriyle ilgili güzel bir şey, bir DTD’nin XML belgesinin “SİSTEM” ile olduğu sistem için yerel olduğunu bildirebilmenizdir. Ayrıca, HTML 4.0 belgesinde olduğu gibi, genel bir DTD’ye de işaret edebilirsiniz: Her ikisini de kullandığınızda, belgeye belirli bir DTD’yi (genel tanımlayıcı) ve onu nerede bulacağını (sistem tanımlayıcısı) kullanmasını söylü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):
XML Şeması
Geçerli bir XML belgesi oluşturmak için, XML’nizi tanımlamak üzere bir XML Şema belgesi de kullanabilirsiniz. XML Şeması, XML belgelerini tanımlayan bir XML belgesidir. Nasıl şema yazılacağını öğ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ğrulayıcı ayrıştırıcı kullanmak, XML’inizin DTD kurallarına uyup uymadığını kontrol etmenin basit bir yoludur. Bu tür birçok ayrıştırıcıyı çevrimiçi olarak bulabilirsiniz.