dbo:abstract
|
- SAX (Simple API for XML) és una forma de processar els documents XML basada en events. Amb SAX s'obté una forma alternativa a l'estàndard Document Object Model (DOM) de llegir les dades contingudes en un document XML. Originalment es va pensar per Java però es pot trobar en molts altres llenguatges de programació: C, Perl o Python. SAX no està definida en cap estàndard formal sinó que s'ha agafat l'especificació de Java com a normativa de referència. SAX processa els documents sense haver-los de carregar completament, en contrast amb el que fa DOM que necessita carregar tot el document per poder-hi treballar. El funcionament és senzill: el parser va llegint el fitxer i va generant events cada vegada que es troba alguna cosa rellevant: Començament o final d'un document, inici o final d'una etiqueta, contingut, etc. En general un parser SAX:
* Detecta quan comença i acaba un element, el document o un conjunt de caràcters
* Gestiona els espais de noms
* Comprova que els documents estiguin ben formats (ca)
- Simple API for XML (zkráceně SAX) umožňuje sériový přístup ke XML. Jde o tzv. proudové zpracování, při kterém se dokument rozdělí na jednotlivé jeho části (počáteční a koncové značky, obsahy elementů, komentáře, atd.). Postupně se pak volají jednotlivé události, které ohlašují nalezení konkrétní části. Způsob zpracování těchto jednotlivých událostí je pak již plně v kompetenci programátora. Tato metoda vypadá na první pohled velice náročně, své uplatnění však má v konkrétních složitějších způsobech zpracování XML, zvláště tam, kde se k dokumentu nepřistupuje náhodně, ale sekvenčně se postupně čte celý obsah. Její další výhoda spočívá v rychlosti zpracovávání a menší paměťové náročnosti. Oproti DOMu bývá několikrát rychlejší, což u větších dokumentů může značně zkrátit čas vykonávání jednotlivých skriptů. (cs)
- واجهة برمجة تطبيقات بسيطة (XML) في الواقع هي عبارة عن خوارزمية عبر الإنترنت تعتمد على الأحداث لتحليل مستندات XML ، مع واجهة برمجة تطبيقات تم تطوير وعالجه هذه الواجهة والتحكم بها بواسطة امر يسمى القائمة البريدية لـ XML-DEV. كما يوفر SAX آلية لقراءة البيانات من مستند XML الذي يعد بديلاً لتلك التي يوفرها نموذج كائن المستند (DOM). عندما يعمل DOM على المستند ككل - بناء شجرة بناء جملة مجردة كاملة لمستند XML ويتم هذا البناء لضمان راحة المستخدم - يعمل محللو SAX على كل جزء من مستند XML بالتتابع، ويصدرون أحداث التحليل أثناء إجراء مرور واحد خلال تدفق المدخلات في هذه العملية. (ar)
- Die Simple API for XML (SAX) ist ein De-facto-Standard, der ein Application Programming Interface (API) zum Parsen von XML-Daten beschreibt. Die aktuelle Hauptversion SAX 2.0 wurde 2000 von veröffentlicht und ist Public Domain. Ein SAX-Parser liest XML-Daten als sequentiellen Datenstrom und ruft für im Standard definierte Ereignisse vorgegebene Rückruffunktionen (callback function) auf. Eine Anwendung, die SAX nutzt, kann eigene Unterprogramme als Rückruffunktionen registrieren und auf diese Weise die XML-Daten auswerten. (de)
- SAX son las siglas de "Simple API for XML", originalmente una API únicamente para el lenguaje de programación Java que después se convirtió en la API estándar de facto para usar XML en JAVA. Existen versiones de SAX no sólo para JAVA, sino también para otros lenguajes de programación (como Python). (es)
- Simple API for XML ou SAX est une interface de programmation pour de nombreux langages permettant de lire et de traiter des documents XML. L’API SAX est originellement spécifique au langage de programmation Java qui l'utilise pour lire une portion ou la totalité d'un document XML. Elle a pu par la suite être adoptée par la plupart des langages de programmation actuels. (fr)
- SAX (Simple API for XML) is an event-driven online algorithm for parsing XML documents, with an API developed by the XML-DEV mailing list. SAX provides a mechanism for reading data from an XML document that is an alternative to that provided by the Document Object Model (DOM). Where the DOM operates on the document as a whole—building the full abstract syntax tree of an XML document for convenience of the user—SAX parsers operate on each piece of the XML document sequentially, issuing parsing events while making a single pass through the input stream. (en)
- Simple API for XML(보통 SAX라고 한다)는 XML문서를 애플리케이션에서 사용하기 위한 API이다. SAX는 XML 파일을 해석하기 위해 DOM 대신 사용된다. 이름을 보면 알 수 있다시피 SAX는 DOM에 비해 단순한 인터페이스를 갖고 있으며, 처리해야할 파일이 많거나 큰 경우에 적합하다. 그러나, 데이터 내용을 조작할 수 있는 기능은 상대적으로 적다고 볼 수 있다. SAX는 이벤트 중심의 인터페이스이다. 프로그래머가 일어날 수 있는 이벤트를 설정해 놓으면, SAX는 그 이벤트가 일어났을 때 제어권을 가지고 상황을 처리한다. SAX는 직접 와 함께 일한다. 그러므로 배포되는 와 함께 배포되는데 예를 들어서 Apache의 Xerces도 SAX 클래스를 포함하고 있다. (ko)
- Simple API for XML(SAX、サックス)とは、XML文書をアプリケーションソフトウェアから利用するためのAPI。 (ja)
- Simple API for XML o SAX è un'API per numerosi linguaggi di programmazione che permette di leggere ed elaborare dei documenti XML. Contrariamente al DOM, il SAX processa i documenti linea per linea.Il flusso di dati XML è unidirezionale, così che dati a cui si è acceduto in precedenza non possono essere riletti senza la rielaborazione dell'intero documento. (it)
- In de software-ontwikkeling is SAX een API voor het parsen van XML. De naam komt van Simple API for XML. De huidige hoofdversie SAX 2.0 werd in 2000 door uitgebracht en is publiek domein. Een populair alternatief is de DOM API. Een parser die SAX implementeert (een SAX-parser) behandelt de XML-informatie als een enkele sequentiële gegevensstroom. Deze gegevensstroom wordt in één richting afgehandeld, eerder gelezen data kunnen dus niet opnieuw gelezen worden zonder het geheel opnieuw te parsen. Een SAX-parser werkt volgens een event-gestuurd model, waarin de programmeur -methoden implementeert die door de parser worden aangeroepen wanneer die het XML-document doorloopt. Het SAX-mechanisme wordt door velen als sneller dan een verwerking met behulp van DOM gezien. Dit schrijft men toe aan het feit dat SAX toestandsloos is, en dus slechts weinig geheugenruimte vereist in vergelijking met de volledig opgebouwde gegevensboom in het DOM-model. SAX is dan ook goed bruikbaar voor de verwerking van grote gegevenshoeveelheden. SAX werd ontwikkeld door samenwerken van leden van de xml-dev mailing list, zonder enige formele organisatiestructuur, maar werd al snel geïmplementeerd door belangrijke bedrijven die met XML werkten. De oorspronkelijke hoofdontwikkelaar was . De API is onafhankelijk van enige specifieke programmeertaal gedefinieerd, en kan in verschillende talen geïmplementeerd worden. Op de officiële homepagina wordt becommentarieerde Java-code als referentie gebruikt. (nl)
- Simple API for XML (SAX), dosłownie: "proste API dla XML-a", to interfejs programistyczny do sekwencyjnego parsowania dokumentów XML. Jest to jeden z mechanizmów, który pozwala odczytywać dane zapisane w dokumentach XML. SAX jest popularną alternatywą dla DOM. (pl)
- Simple API for XML (API simples para XML) ou também conhecido pela abreveatura SAX é uma API que provê acesso serial ao conteúdo de um documento XML de forma orientada a eventos. É uma alternativa ao Document Object Model ou DOM. A implementação inicial da API foi realizada em Java, embora atualmente esteja disponível para outras linguagens mesmo sem um padrão. (pt)
- SAX (англ. «Simple API for XML») — способ последовательного чтения/записи XML-файлов. Обычно SAX-парсеры требуют фиксированного количества памяти для своей работы, но не позволяют изменять содержимое документа. Всё, что делает SAX-парсер, это сообщает вызвавшему приложению о встреченных распознанных элементах XML-разметки или о встреченных ошибках. Связь парсера с вызывающим приложением, как правило, осуществляется посредством функций обратного вызова. Реализации SAX-парсеров могут различаться, но в целом они устроены однотипно, примерно так, как показано ниже: // ... На примере языка C++// Поток документаstruct Stream{ virtual xml_char pop_char = 0; virtual bool has_data = 0;};// Класс, которому парсер сообщает о найденных элементах разметкиstruct Callback{ virtual void doc_start = 0; virtual void doc_end = 0; virtual void element_start( string el_name ) = 0; virtual void element_end( string el_name ) = 0; virtual void attribute( string name, string value ) = 0; virtual void text_node( string txt ) = 0; // ...};// Сам парсер. -- Довольно сложный, чтобы его тут полностью записатьstruct Parser{ bool parse( Stream& xml, Callback& cb ); // ... }; Использование: struct MyFileStream : Stream { ... };struct MyCallback : Callback { ... };MyFileStream _stream( "some_file.xml" );MyCallback _cb;Parser parser;bool success = parser.parse( _stream, _cb );// Например, "some_file.xml" содержит следующий текст:// // bold text// // Тогда парсер вызовет методы класса "Callback" в следующем порядке:// _cb.doc_start;// _cb.element_start( "html" );// _cb.attribute( "lang", "en" );// _cb.element_start( "b" );// _cb.text_node( "bold text" );// _cb.element_end( "b" );// _cb.element_end( "html" );// _cb.doc_end; Применяются SAX-парсеры либо для быстрого поиска по XML-документам, либо во время построения DOM, либо для чтения XML-потоков большого объема (когда построение DOM требует слишком большого объема памяти). SAX — событийный парсер XML.Он содержит очень похожую модель обработки событий на такую же модель в Java. К примеру, в аплете можно зарегистрировать обработчик события на клик мышкой, а в SAX можно зарегистрировать обработчик события на начало и конец тегов элементов, таких как <name></name> и .В этом документе рассматривается XML парсер производства IBM. Он бесплатен и имеет общедоступные исходные тексты.Возьмём простой пример XML файла: Soccer Ball 15.00 5 Параметр encoding="windows-1251" необходим для работы в кодировке Windows. Осуществим разбор XML-документа с помощью SAX в несколько шагов. Эти шаги выделены в коде примера.
* Регистрация парсера XML
* Создание экземпляра XMLReader
* Создание экземпляра класса, отвечающего за обработку событий SAX-а
* Подключение обработчика событий к экземпляру нашего XMLReader-а
* Разбор документа посредством передачи XMLReader-у XML файла. (В этом примере используется файл «order.xml», содержащий XML код, приведенный в начале статьи.) В примере наш класс расширит DefaultHandler. DefaultHandler — это класс-адаптер, который позволит нам обрабатывать только те события SAX-а, которые нам нужны, а не реализовывать все его события. package xml;import org.xml.sax.*;import org.xml.sax.helpers.DefaultHandler;public class SimpleSax extends DefaultHandler { private String currentElement = null; public static void main(String[] args) { try { //В JDK 5.0 введен этот парсер, и путь такой: com.sun.org.apache.xerces.internal.parsers.SAXParser. Class c = Class.forName("org.apache.xerces.parsers.SAXParser"); XMLReader reader = (XMLReader)c.newInstance; SimpleSax ss = new SimpleSax; reader.setContentHandler(ss); reader.parse("order.xml"); } catch(Exception e){System.out.println(e);} } public void startElement(String uri, String local_name, String raw_name, Attributes amap) throws SAXException { currentElement = local_name; System.out.println("start " + local_name + " found "); } public void endElement(String uri, String local_name, String raw_name) throws SAXException { System.out.println("end " + local_name + " found"); } public void startDocument throws SAXException { System.out.println("start document"); } public void endDocument throws SAXException { System.out.println("end document"); } public void characters(char[] ch, int start, int length) throws SAXException { String value = new String(ch,start,length); if (!Character.isISOControl(value.charAt(0))) { System.out.println("characters " + value + " found " + currentElement); } }} (ru)
- Simple API for XML (англ. Простий програмний інтерфейс для роботи з XML, скорочено SAX) — специфікація прикладного програмного інтерфейсу для послідовного отримання даних із структурованих XML документів. Цей інтерфейс є поширеною альтернативою Document Object Model (DOM). Аналізатор, який реалізує інтерфейс SAX (англ. SAX Parser) обробляє інформацію із XML документа як єдиний потік даних. Цей потік даних доступний лише в одному напрямі, тобто, раніш оброблені дані неможливо повторно прочитати без повторного аналізу. Більшість програмістів XML технологій вважають, що обробка XML документів відповідно парадигмі SAX, в цілому, швидша, аніж при використанні DOM. Це пояснюється тим, що потік SAX потребує набагато меншого обсягу пам'яті у порівнянні із побудовою повного дерева DOM. SAX аналізатори реалізують з використанням підходу , коли програмісту необхідно описати обробники подій, які викликаються аналізаторами під час обробки XML документа. SAX було розроблено зусиллями спільноти списку розсилки xml-dev, без формальних комітетів, але він був швидко визнаний компаніями, які спеціалізуються на засобах обробки XML документів. Першим головним розробником та інженером супроводу був . (uk)
- Simple API for XML(簡稱SAX)是個循序存取XML的解析器API。SAX提供一個機制從XML文件讀取資料。它是除了文档对象模型(DOM)的另外一種流行選擇。 (zh)
|
rdfs:comment
|
- واجهة برمجة تطبيقات بسيطة (XML) في الواقع هي عبارة عن خوارزمية عبر الإنترنت تعتمد على الأحداث لتحليل مستندات XML ، مع واجهة برمجة تطبيقات تم تطوير وعالجه هذه الواجهة والتحكم بها بواسطة امر يسمى القائمة البريدية لـ XML-DEV. كما يوفر SAX آلية لقراءة البيانات من مستند XML الذي يعد بديلاً لتلك التي يوفرها نموذج كائن المستند (DOM). عندما يعمل DOM على المستند ككل - بناء شجرة بناء جملة مجردة كاملة لمستند XML ويتم هذا البناء لضمان راحة المستخدم - يعمل محللو SAX على كل جزء من مستند XML بالتتابع، ويصدرون أحداث التحليل أثناء إجراء مرور واحد خلال تدفق المدخلات في هذه العملية. (ar)
- Die Simple API for XML (SAX) ist ein De-facto-Standard, der ein Application Programming Interface (API) zum Parsen von XML-Daten beschreibt. Die aktuelle Hauptversion SAX 2.0 wurde 2000 von veröffentlicht und ist Public Domain. Ein SAX-Parser liest XML-Daten als sequentiellen Datenstrom und ruft für im Standard definierte Ereignisse vorgegebene Rückruffunktionen (callback function) auf. Eine Anwendung, die SAX nutzt, kann eigene Unterprogramme als Rückruffunktionen registrieren und auf diese Weise die XML-Daten auswerten. (de)
- SAX son las siglas de "Simple API for XML", originalmente una API únicamente para el lenguaje de programación Java que después se convirtió en la API estándar de facto para usar XML en JAVA. Existen versiones de SAX no sólo para JAVA, sino también para otros lenguajes de programación (como Python). (es)
- Simple API for XML ou SAX est une interface de programmation pour de nombreux langages permettant de lire et de traiter des documents XML. L’API SAX est originellement spécifique au langage de programmation Java qui l'utilise pour lire une portion ou la totalité d'un document XML. Elle a pu par la suite être adoptée par la plupart des langages de programmation actuels. (fr)
- SAX (Simple API for XML) is an event-driven online algorithm for parsing XML documents, with an API developed by the XML-DEV mailing list. SAX provides a mechanism for reading data from an XML document that is an alternative to that provided by the Document Object Model (DOM). Where the DOM operates on the document as a whole—building the full abstract syntax tree of an XML document for convenience of the user—SAX parsers operate on each piece of the XML document sequentially, issuing parsing events while making a single pass through the input stream. (en)
- Simple API for XML(보통 SAX라고 한다)는 XML문서를 애플리케이션에서 사용하기 위한 API이다. SAX는 XML 파일을 해석하기 위해 DOM 대신 사용된다. 이름을 보면 알 수 있다시피 SAX는 DOM에 비해 단순한 인터페이스를 갖고 있으며, 처리해야할 파일이 많거나 큰 경우에 적합하다. 그러나, 데이터 내용을 조작할 수 있는 기능은 상대적으로 적다고 볼 수 있다. SAX는 이벤트 중심의 인터페이스이다. 프로그래머가 일어날 수 있는 이벤트를 설정해 놓으면, SAX는 그 이벤트가 일어났을 때 제어권을 가지고 상황을 처리한다. SAX는 직접 와 함께 일한다. 그러므로 배포되는 와 함께 배포되는데 예를 들어서 Apache의 Xerces도 SAX 클래스를 포함하고 있다. (ko)
- Simple API for XML(SAX、サックス)とは、XML文書をアプリケーションソフトウェアから利用するためのAPI。 (ja)
- Simple API for XML o SAX è un'API per numerosi linguaggi di programmazione che permette di leggere ed elaborare dei documenti XML. Contrariamente al DOM, il SAX processa i documenti linea per linea.Il flusso di dati XML è unidirezionale, così che dati a cui si è acceduto in precedenza non possono essere riletti senza la rielaborazione dell'intero documento. (it)
- Simple API for XML (SAX), dosłownie: "proste API dla XML-a", to interfejs programistyczny do sekwencyjnego parsowania dokumentów XML. Jest to jeden z mechanizmów, który pozwala odczytywać dane zapisane w dokumentach XML. SAX jest popularną alternatywą dla DOM. (pl)
- Simple API for XML (API simples para XML) ou também conhecido pela abreveatura SAX é uma API que provê acesso serial ao conteúdo de um documento XML de forma orientada a eventos. É uma alternativa ao Document Object Model ou DOM. A implementação inicial da API foi realizada em Java, embora atualmente esteja disponível para outras linguagens mesmo sem um padrão. (pt)
- Simple API for XML(簡稱SAX)是個循序存取XML的解析器API。SAX提供一個機制從XML文件讀取資料。它是除了文档对象模型(DOM)的另外一種流行選擇。 (zh)
- SAX (Simple API for XML) és una forma de processar els documents XML basada en events. Amb SAX s'obté una forma alternativa a l'estàndard Document Object Model (DOM) de llegir les dades contingudes en un document XML. Originalment es va pensar per Java però es pot trobar en molts altres llenguatges de programació: C, Perl o Python. SAX no està definida en cap estàndard formal sinó que s'ha agafat l'especificació de Java com a normativa de referència. En general un parser SAX: (ca)
- Simple API for XML (zkráceně SAX) umožňuje sériový přístup ke XML. Jde o tzv. proudové zpracování, při kterém se dokument rozdělí na jednotlivé jeho části (počáteční a koncové značky, obsahy elementů, komentáře, atd.). Postupně se pak volají jednotlivé události, které ohlašují nalezení konkrétní části. Způsob zpracování těchto jednotlivých událostí je pak již plně v kompetenci programátora. (cs)
- In de software-ontwikkeling is SAX een API voor het parsen van XML. De naam komt van Simple API for XML. De huidige hoofdversie SAX 2.0 werd in 2000 door uitgebracht en is publiek domein. Een populair alternatief is de DOM API. Het SAX-mechanisme wordt door velen als sneller dan een verwerking met behulp van DOM gezien. Dit schrijft men toe aan het feit dat SAX toestandsloos is, en dus slechts weinig geheugenruimte vereist in vergelijking met de volledig opgebouwde gegevensboom in het DOM-model. SAX is dan ook goed bruikbaar voor de verwerking van grote gegevenshoeveelheden. (nl)
- SAX (англ. «Simple API for XML») — способ последовательного чтения/записи XML-файлов. Обычно SAX-парсеры требуют фиксированного количества памяти для своей работы, но не позволяют изменять содержимое документа. Всё, что делает SAX-парсер, это сообщает вызвавшему приложению о встреченных распознанных элементах XML-разметки или о встреченных ошибках. Связь парсера с вызывающим приложением, как правило, осуществляется посредством функций обратного вызова. Реализации SAX-парсеров могут различаться, но в целом они устроены однотипно, примерно так, как показано ниже: Использование: (ru)
- Simple API for XML (англ. Простий програмний інтерфейс для роботи з XML, скорочено SAX) — специфікація прикладного програмного інтерфейсу для послідовного отримання даних із структурованих XML документів. Цей інтерфейс є поширеною альтернативою Document Object Model (DOM). Аналізатор, який реалізує інтерфейс SAX (англ. SAX Parser) обробляє інформацію із XML документа як єдиний потік даних. Цей потік даних доступний лише в одному напрямі, тобто, раніш оброблені дані неможливо повторно прочитати без повторного аналізу. (uk)
|