Кіріспе

Parser кітапханасы

Expat – C тілінде жазылған, ағымға бағытталған XML 1.0 талдаушы кітапханасы. Ашық кодты XML талдаушыларының алғашқыларының бірі ретінде, Expat көптеген ашық кодты жобаларда қолданыс тапты. Мұндай жобалардың қатарында Apache HTTP сервері, Mozilla, Perl, Python және PHP бар. Ол сонымен қатар көптеген басқа тілдерге де бейімделген.

Уақыт шкаласы

Бағдарламалық жасақтаманы әзірлеуші Джеймс Кларк 1998 жылы 1.0 нұсқасын шығарды, ол World Wide Web Consortium ұйымындағы XML жұмыс тобының техникалық жетекшісі қызметін атқарып тұрғанда. Кларк 1.1 және 1.2 нұсқаларын шығарғаннан кейін, 2000 жылы жобаны Кларк Купер мен Фред Дрейк басқаратын топқа тапсырды. Жаңа топ 2000 жылдың қыркүйегінде 1.95.0 нұсқасын шығарды және қателерді түзету және жақсартулар енгізу мақсатында жаңа нұсқаларды шығаруды жалғастыруда.

Қолжетімділік

GitHub Expat жобасына хостинг қызметін көрсетеді. Көптеген басты операциялық жүйелерге арналған нұсқалар бар.

Қатысу

Expat кітапханасын пайдалану үшін бағдарламалар алдымен Expat-қа басқару функцияларын тіркейді. Expat XML құжатын талдағанда, кіріс ағынында тиісті таңбаларды (токендерді) кездестірген сайын тіркелген басқарушыларды шақырады. Осы таңбалар мен оларға байланысты басқарушы шақырулары оқиғалар деп аталады. Әдетте, бағдарламалар XML элементтерінің басталуы немесе аяқталуы және таңбалық оқиғалар үшін басқарушы функцияларын тіркейді. Expat XML атау кеңістіктерінің жарияланымдары, өңдеу нұсқаулары және DTD оқиғалары сияқты күрделі оқиғаларды өңдеу мүмкіндіктерін ұсынады. Expat-тың талдау оқиғалары XML үшін қарапайым API (SAX) анықтаған оқиғаларға ұқсас, бірақ Expat SAX стандартына сәйкес талдаушы емес. Expat кітапханасын қолданатын жобалар көбінесе Expat-тың негізінде SAX және мүмкін DOM талдаушыларын құрастырады. Expat негізінен ағынға негізделген (push) талдаушы болғанымен, ол кез келген уақытта талдауды тоқтатуға және қайта бастауға мүмкіндік береді, соның арқасында тарту (pull) талдаушысын іске асыру да салыстырмалы түрде жеңіл болады.