|
Streaming Transformations for XML (STX) is an XML transformation language intended as a high-speed, low memory consumption alternative to XSLT. An XML transformation language is a computer language designed specifically to transform an input XML document into an output XML document which satisfies some specific goal. ...
...
Overview
STX is an XML standard for efficient processing of stream-based XML. As we will discover XSLT is not well suited to stream based processing and STX fills this niche. The Extensible Markup Language (XML) is a W3C-recommended general-purpose markup language for creating special-purpose markup languages, capable of describing many different kinds of data. ...
Conventional XML processing involves loading the entire XML document into memory for use. This is as opposed to SAX which streams XML events such as "open element" "close element" "text node" (and so on) so that other software that can begin interpreting these 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. Understandably, this could be perceived as a bottleneck. The Extensible Markup Language (XML) is a W3C-recommended general-purpose markup language for creating special-purpose markup languages, capable of describing many different kinds of data. ...
Look up sax in Wiktionary, the free dictionary. ...
XPath (XML Path Language) is a terse (non-XML) syntax for addressing portions of an XML document. ...
STX only allows queries immediately surrounding the current node. This architectural decision means it can quickly start transforming and outputting SAX event nodes as they arrive. Also -- as it can discard nodes immediately after processing -- the memory use is significantly lower than that of XSLT. This architectural decision intentionally marginalise 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.
Standards STX's query language is called STXPath. Implementations of STX are available in Java and Perl. The term Java can refer to: - In geography: - *Java (island), Indonesia, the most populous island in the world - **Javanese language, a language widely spoken on the island of Java - **Java coffee, a variety of coffee plant which originated on the island of Java, or a slang word for coffee - *Java...
Perl, also Practical Extraction and Report Language (a backronym, see below) is an interpreted procedural programming language designed by Larry Wall. ...
Similar projects Unlike STX which is declared using an XML syntax, these two projects associate SAX events with callback functions. In computer science, a callback is executable code that is passed as a parameter to other code. ...
External links |