Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Streaming Transformations for XML (STX) — это язык преобразования XML, разработанный как высокоскоростная и экономичная по памяти альтернатива XSLT версий 1.0 и 2.0. Текущие разработки в XSLT 3.0 включают поддержку потоковой обработки.
Streaming Transformations for XML (STX) is an XML transformation language intended as a high speed, low memory consumption alternative to XSLT version 1.0 and 2.0. Current work on XSLT 3.0 includes Streaming capabilities.
Обзор
STX — это стандарт XML для эффективной обработки XML в потоковом режиме. Базовый XSLT недостаточно хорошо подходит для потоковой обработки, и STX заполняет эту нишу. Традиционная обработка XML предполагает загрузку всего XML-документа в память для использования. В отличие от этого, SAX передает XML-события, такие как «открытие элемента», «закрытие элемента» и «текстовый узел», позволяя другому программному обеспечению начинать интерпретацию информации немедленно, еще до достижения конца файла. К сожалению, некоторые программы не могут эффективно использовать XML-фрагменты таким образом и должны собрать весь документ, прежде чем начать обработку. То же самое справедливо и для XSLT. Поскольку XPath в XSLT может выбирать любой узел во всем документе, ему необходимо иметь весь документ в памяти. STX допускает только запросы, относящиеся непосредственно к текущему узлу, что позволяет ему быстро начать преобразование и вывод узлов событий SAX по мере их поступления. Поскольку он может отбрасывать узлы сразу после обработки, использование памяти значительно ниже, чем у XSLT. Ограниченная область запросов является определяющей характеристикой STX. Это архитектурное решение намеренно ограничивает STX нишевым языком. Действительно, было бы неверно утверждать, что STX — это язык преобразований общего назначения; однако, если ваши потребности в преобразовании могут быть удовлетворены STX, то это эффективный и разумный выбор.
STX is an XML standard for efficient processing of stream based XML. Basic XSLT is not well suited to stream based processing, and STX fills this niche. Conventional XML processing involves loading the entire XML document into memory for use. In contrast, SAX streams XML events such as "open element," "close element," and "text node" so that other software can begin interpreting information immediately, before the end of the file is reached. Unfortunately some software can't effectively use XML fragments this way and must build up the whole document to begin processing. So is the case with XSLT. Because XSLT's XPath can select any node throughout the document it must have the entire document available in memory. STX only allows queries immediately surrounding the current node so it can quickly start transforming and outputting SAX event nodes as they arrive. As it can discard nodes immediately after processing, memory use is significantly lower than that of XSLT. Having a limited query scope is a defining characteristic of STX. This architectural decision intentionally marginalises STX as a niche language. Indeed, it would be wrong to say that STX is a general purpose transformation language; however, if your transformation needs can be met by STX then it's an efficient and smart choice.
Технические характеристики
Язык запросов STX называется STXPath и основан на XPath 2.0. Реализации STX доступны на Java и Perl.
STX's query language is called STXPath and is based on XPath 2.0. Implementations of STX are available in Java and Perl.