Help save net neutrality! Learn more.

S-exp-based XML parsing/query/conversion / News: Recent posts

SSAX-SXML Release 5.1

The SSAX parser and the SXML transformation tools and the examples are
now completely R5RS compatible. They should run on any R5RS-compatible
system. All low-level macros in the library proper and in the examples
are replaced with syntax-rules. In addition, the release contains
Scheme 48 packages and package declarations for the library and the

Posted by Oleg Kiselyov 2004-09-16

SXML version 3.0, SSAX release 4B

The current revision of the SXML specification is now 3.0. The
specification defines an S-expression-based data format for XML, and
for manipulation and querying of XML. The changes from the previous
revision, 2.5, are documented at the end of the specification.

The SSAX-SXML code, tests, documentation, and examples have been
updated to conform to SXML 3.0. The SSAX repository has been tagged

Posted by Oleg Kiselyov 2004-04-02

How SXML is used in industry and government

SXML is an S-expression-based data format for XML, and for manipulation and querying of XML. A paper and a complementary talk introduce SXML tools and describe the extensive practical experience of using SXML in real-life commercial and government projects.

The paper and the talk give motivation for and practical examples of S-expression-based implementations of W3C XML Recommendations, the embedding of XML data and XML query and manipulation tools into Scheme. A combination of W3C conformance with seamless integration into a programming language is a distinctive feature of our tools.... read more

Posted by Oleg Kiselyov 2002-11-11

Scheme48/SCSH, PLT Scheme 200 and vanilla R5RS ports

The SSAX parser and the SXML transformation tools have been generalized to vanilla R5RS Scheme and then specialized for Scheme48/SCSH and the upcoming PLT Scheme 200. The specialization relied on native module systems of Scheme48 and PLT Scheme (resp. functors and units).

This porting and specialization is the work of Michael Sperber. His message (as of Apr 18, 2002) on the SSAX-SXML mailing list gives more detail.

Posted by Oleg Kiselyov 2002-04-19

A _permissive_ HTML parser

SSAX is more than an XML parser -- it a library, which includes lexers
and parsers of various kinds. The library comes in handy to
permissively parse HTML documents or chunks that may contain
mismatched tags, unclosed tags, or other imperfections. The parser
still is able to deal with comments, parsed entities and many
different styles of HTML attributes. This is an example of using the
SSAX library for tasks other than XML parsing. See
SSAX/examples/README for more details.

Posted by Oleg Kiselyov 2001-11-21

SSAX vs. Expat

A new CVS repository directory SSAX/benchmarks contains the sources
and the documentation of a benchmark that compares SSAX and Expat. A
small README file gives some details. An article "Expat vs. SSAX, C
vs. Scheme (Bigloo)" explains the benchmark and shows the results.

Posted by Oleg Kiselyov 2001-11-21

Functional XML parsing, SXML translations

This is to announce release 4.9 of SSAX, the first SourceForge release.

SSAX is a pure functional XML parser with support for namespaces, parsed entities, various ways of validation. SSAX is an efficient SAX-model parser with a better user-interface (compared to Expat). The distribution also includes a DOM-model parser, from XML into SXML. The latter is an instance of the XML Infoset. The SXML specification
(included in the distribution) is an example of SXML transformations. The master file is written in SXML itself. It is then translated into HTML and LaTeX using appropriate "stylesheets".

Posted by Oleg Kiselyov 2001-10-08