SAX ve DOM Arasındaki Fark

SAX ve DOM Karşılaştırması

XML için Basit API (SAX olarak da bilinir), XML için bir seri erişim ayrıştırıcı API'sıdır (bu, veri elde eden ve dinamik olarak oluşturulan web sayfalarındaki veya etkileşimli içeriğe sahip web sayfalarındaki belirli bir belgedeki metni analiz eden bir API'dir). Belge Nesne Modeli'ne (DOM olarak da bilinir) daha popüler alternatiflerden biri olarak hareket eder.

DOM, belirli bir dilden tamamen bağımsız bir sözleşmedir. Birden çok platformla uyumlu bir kuraldır. HTML, XML ve XHTML belgelerindeki nesneleri temsil etmek ve bu nesnelerle etkileşimde bulunmak için kullanılır. Bir DOM'un kullandığı dilin sözdizimi içinde, DOM'un birçok yönü ele alınabilir ve değiştirilebilir.

SAX ayrıştırıcısı, akış ayrıştırıcısı olarak bilinen işlev olarak işlev görür (bu, konumundan akış halindeki metni alır ve analiz eder). Olay güdümlü bir API içerir (bu, belirli bir ortamda gerçekleşen olaylara bağımlı bir API'dir). Kullanıcı geri arama yöntemlerinin sayısını (yani istenen verilerin kaynağına kadar izleyen yöntemler) tanımlamak için kontrole sahiptir. Ayrıştırma işlemi sırasında olaylar meydana geldiğinde bu yöntemler çağrılır. Ayrıştırma sırasında oluşabilecek dört ana olay vardır: XML Test düğümleri, XML Öğesi düğümleri, XML İşleme Talimatları ve XML Yorumları. Bu XML özellikleri ile karşılaşıldığında, olaylar oynatılır. Olaylar, bu özellikler sona erdiğinde de gerçekleşir. Bu nedenle, SAX tek yönlüdür (yani bir yönde hareket eder) ve daha önce ayrıştırılan veriler, ayrıştırma işlemine yedekleme başlatılmadan yeniden okunamaz.

DOM, belgeye art arda erişilmesi gereken uygulamalar veya belgenin sıra sırasının dışında kalması durumunda en iyi şekilde oynatılır. Uygulama katı bir sıradaysa ve tek geçişte ise (bu, bir ayrıştırma sırasına yeniden başlamadan erişilemediği anlamına gelir), SAX devreye girer. Çoğu web tarayıcısı HTML belgelerini oluşturmak için DOM'u kullanmaz. Bununla birlikte, DOM, bir web sayfasıyla ilgili her şeyi dinamik olarak analiz etmek veya değiştirmek isteyen JavaScript komut dosyaları için bir zorunluluktur. Esasen, DOM, JavaScript'in içerdiği HTML sayfasını ve tarayıcı durumunu görselleştirebilmesidir (yani ortamını keşfeder).

Özet:

1. SAX, dinamik web sayfaları için bir seri erişim ayrıştırıcı API'sıdır; DOM, dili olmayan veya dile bağımlı olan bir sözleşmedir.

2. SAX ayrıştırıcısı, kullanıcının geri arama yöntemlerinin sayısını kontrol etmesini sağlar; DOM, JavaScript komut dosyalarının dinamik web sayfalarıyla ilgili herhangi bir şeye erişmesine, bunları değiştirmesine veya analiz etmesine izin vermek için bağımsız olarak çalışır ve JavaScript'in ortamını 'fiziksel olarak' keşfetmesini sağlar.