SGML ve XML Arasındaki Fark
SGML vs XML
SGML (Standard Generalized Markup Language), kağıt belgeleri elektronik formatta kodlamak için standarttır. İnternetin gelişimi ile birlikte, HTML'in sınırlamalarına ulaştığı için artık daha dinamik içeriğe ihtiyaç duymadığını açıkça ortaya çıkardı. XML (Genişletilebilir İşaretleme Dili), SGML'den türetilen ve amaçlanan kullanım için SGML çok kapsamlı ve karmaşık olduğu için kodlayıcıların kullanmasını kolaylaştırmak için daha sınırlı bir özellik kümesi içeren bir dildir. XML sadece SGML'in bir alt kümesidir, SGML ayrıştırıcıları geçerli XML dosyalarını okuma ve kod çözme yeteneğine sahiptir. Geriye, SGML dosyaları XML çözümleyicisinin anlamadığı özellikleri taşıysa da, mutlaka doğru değildir.
Altkümeyle, XML'de SGML'de bulunmayan bir özellik olmazdı. İşte, nelerin kaldırıldığının kısa bir listesi.
Şu SGML bildirimlerine XML'de izin verilmiyor:
DATATAG- DATATAG
- OMITTAG
- RANK
- LINK
- KONSER
- SUBDOC
- FORMAL
Şu SGML yapılarına artık XML'de izin verilmiyor: > Boş başlangıç etiketleri
- Son etiketleri boşalt
- Kapatılan başlangıç etiketleri
- Kapatılamayan bitiş etiketleri
- Adsız öznitelik belirtimleri
Doğrudan girilen öznitelik değerlerine izin verilmiyor ve bunlar literal olarak girilmelidir < Şu SGML öğe bildirimlerine SGML
Dahili SDATA öğeleri
Harici CDATA varlıkları- Dahili CDATA varlıkları
- #DEFAULT öğeleri
- PI varlıkları
- Parantezli metin girdileri
- Varlıklar için artık nitelik belirtme izniniz yok.
- Kodlayıcıların kodlarına yorum yerleştirme biçiminde değişiklikler yapılmıştır. Bir yorum beyanının tek bir yorumatan fazlasına sahip olması artık yasaktır. Boş bir açıklama beyanı da yasaklandı. Bir parametre ayırıcıya herhangi bir yorum içermesi yasaktır. Elbette, açıklama beyanları hariç herhangi bir biçimlendirme bildirimi de buna dahildir.
- Özet:
1. XML, SGML
2'nin bir alt kümesidir. XML, SGML
3'e kıyasla daha basittir. Bazı SGML XML ayrıştırıcılarında
4 hata üretebilirken, XML belgeleri SGML ayrıştırıcılarla okunabilir olmalıdır. XML
5'de SGML bildirimlerinin bir listesi kaldırıldı. SGML'de izin verilen bazı yapılara XML
6 artık izin verilmemektedir. Bazı SGML varlıklarına XML
7'de artık izin verilmiyor. SGML'deki bazı yorum uygulamaları XML'de de yasaklandı
3'ten büyük ->