ההבדל בין SAX ו- DOM

SAX לעומת DOM

API פשוט עבור XML (הידוע גם בשם SAX) הוא מנתח גישה לנתח טורי עבור XML (כלומר API שמקבל נתונים, ומנתח את הטקסט כי מסמך מסוים בדפי אינטרנט שנוצרו באופן דינמי, או דפי אינטרנט עם תוכן אינטראקטיבי) .הוא פועל כאחד החלופות הפופולרית יותר למודל אובייקט המסמך (הידוע גם בשם DOM).

> DOM הוא מוסכמה עצמאית לחלוטין של שפה ספציפית.זו ועידה התואמת פלטפורמות מרובות.היא משמשת לייצוג אינטראקציה עם אובייקטים במסמכי HTML, XML ו- XHTML.בתחביר של השפה a DOM משתמש, היבטים רבים של DOM ניתן לטפל ומניפולציה.

מנתח SAX פונקציות כמו מה שמכונה זרם p ארסר (כלומר, היא מקבלת ומנתחת טקסט הזורם ממיקומו). הוא מכיל ממשק API מונע על ידי אירוע (כלומר API התלוי באירועים המתרחשים בסביבה מסוימת). למשתמש יש את השליטה על מנת להגדיר את מספר שיטות התקשרות (כלומר, שיטות חזרה למקור הנתונים המבוקשים). שיטות אלה ייקראו כאשר האירועים מתרחשים במהלך ניתוח. ישנם ארבעה אירועים עיקריים שעלולים להתרחש במהלך ניתוח: צמתים לבדיקת XML, צמתים של רכיבי XML, הוראות עיבוד XML, ותגובות XML. כאשר מתעוררות תכונות XML אלה, האירועים משוחקים לפעולה. אירועים מתרחשים גם כאשר תכונות אלה הגיעו לסופן. ככזה, SAX הוא חד-כיווני (כלומר, נע בכיוון אחד), ונתונים שנחקרו בעבר לא ניתנים לקריאה חוזרת מבלי להתחיל בפעולת הניתוח לגיבוי.

DOM הוא הכי טוב לשחק עבור יישומים שבהם המסמך חייב להיות נגיש שוב ושוב, או אם המסמך קורה להיות מחוץ סדר הרצף שלה. אם היישום הוא ברצף קפדני, ואחד לעבור (כלומר, אין אפשרות לגשת ללא תחילת רצף ניתוח שוב), ואז SAX נכנס לשחק. רוב דפדפני האינטרנט אינם עושים שימוש ב- DOM לצורך עיבוד מסמכי HTML. עם זאת, DOM הוא הכרחי עבור סקריפטים JavaScript שרוצים לנתח באופן דינמי או לשנות כל דבר הקשור לדף אינטרנט. בעיקרו של דבר, ה- DOM הוא האופן שבו JavaScript יכול לדמיין את דף ה- HTML ואת מצב הדפדפן שבו הוא נמצא (i) חוקר את סביבתו).

סיכום:

1. SAX הוא מנתח מנתח גישה טורית עבור דפי אינטרנט דינמיים; DOM הוא כנס ללא שפה או תלות בשפה.

2. מנתח SAX מאפשר למשתמש לשלוט על מספר שיטות התקשרות; DOM פועל באופן עצמאי על מנת לאפשר סקריפטים של JavaScript לגשת, לשנות או לנתח כל דבר הקשור דפי אינטרנט דינמיים, המאפשר JavaScript כדי "פיזית" לחקור את הסביבה שלה.