Simple API for XML

Simple API for XML או בקיצור SAX, ממשק תכנותי המאפשר גישה סדרתית למבנה XML כלשהו. SAX מגדיר מנגנון מונחה אירועים לקריאת נתונים ממסמך XML. ממשק תכנותי זה הוא תחליף פופולרי לממשק התכנותי Document Object Model (בקיצור DOM).

מנתח XML המממש את הממשק התכנותי של SAX, מטפל במבנה XML כזרם נתונים חד-כיווני. כלומר, לא ניתן לקרוא שוב נתונים שנקראו כבר, ללא ניתוח מחדש של המבנה. בזמן הניתוח, זרם הנתונים נקרא באופן סדרתי ובכל פעם שאלמנט XML מזוהה בזרם, מעביר המנתח את הפיקוח לשגרה, מחלקה או תוכנית שסיפק המתכנת (Callback). המנתח מעביר בנוסף גם מידע תחבירי על האלמנט, לדוגמה, אם זהו אלמנט "פותח" או "סוגר" וכדומה. עיבוד המידע הסמנטי הוא באחריות התוכנית שכתב המתכנת, שבגמר פעולתה מחזירה את הפיקוח למנתח, וחוזר חלילה עד לסוף זרם הנתונים. 

שיטה זו, על אף הקושי היחסי בשימוש בה, היא המהירה ביותר לניתוח מבני XML, ושטחי הזיכרון הנדרשים תוך כדי העבודה קטנים משמעותית מהנדרש בשיטות אחרות, ובמיוחד DOM שבה מקבלים מראש את מבנה ה-XML כמבנה נתונים מפוענח.

ראו גם

טכנולוגיות ניתוח XML נוספות

מנתחי XML המממשים SAX 

ערכים שבהם תבנית אתר רשמי אינה מתאימה להוספה אוטומטית
תכנות