SGML ve XML Karşılaştırması
SGML (Standart Genelleştirilmiş Biçimlendirme Dili) kağıt belgelerin elektronik formatta kodlanması için kullanılan standarttır. İnternetin gelişmesiyle birlikte, HTML'nin artık sınırlarına ulaştığı için daha dinamik içeriklere ihtiyaç duymadığı anlaşıldı. XML (Genişletilebilir İşaretleme Dili) SGML'den türetilmiş bir dildir ve kodlayıcıların SGML'nin amaçlanan kullanım için çok kapsamlı ve karmaşık olması nedeniyle kullanımını kolaylaştırmak için daha sınırlı bir özellik kümesi içerir. XML yalnızca SGML'nin bir alt kümesi olduğundan, SGML ayrıştırıcıları geçerli XML dosyalarını okuyabilir ve deşifre edebilir. SGML dosyaları XML ayrıştırıcısının anlamadığı özelliklere sahip olabileceğinden bunun tersi doğru olmayabilir..
Bir alt küme olarak, XML'de SGML'de bulunmayan bir özellik olmazdı. İşte kaldırılanların kısa bir listesi.
Aşağıdaki SGML bildirimlerine artık XML'de izin verilmiyor:
Aşağıdaki SGML yapılarına artık XML'de izin verilmiyor:
İsimsiz özellik özellikleri
Özellik belirtiminde doğrudan girilen özellik değerlerine izin verilmez ve değişmez değerler olarak girilmelidir
Aşağıdaki SGML varlık bildirimlerine artık SGML'de izin verilmiyor
Artık varlıklar için özellikler belirtmenize izin verilmiyor.
Kodlayıcıların kodlarına yorum yapma biçiminde de değişiklikler yapılmıştır. Bir yorum bildiriminin artık tek bir yorumdan daha fazlasına sahip olmasına izin verilmiyor. Boş bir açıklama beyanına da izin verilmedi. Herhangi bir yorum içermesi için bir parametre ayırıcıya izin verilmez. Bu, elbette yorum bildirimleri hariç tüm biçimlendirme bildirimlerini de içerir..
Özet:
1.XML, SGML'nin bir alt kümesidir
2.XML, SGML'ye göre daha basittir
3.XML belgeleri SGML ayrıştırıcılarıyla okunabilirken, bazı SGML XML ayrıştırıcılarında hatalar üretebilir
4. XML'de SGML bildirimlerinin bir listesi kaldırıldı
SGML'de izin verilen bazı yapılara artık XML'de izin verilmiyor
XML'de bazı SGML varlıklarına artık izin verilmiyor
7.GMML'deki bazı yorum uygulamalarına XML'de de izin verilmedi