UPDATE: ASXT is obsoleted by a much, much better new language
that is implemented with truly scary R5RS syntax-rules, and will
hopefully be released soon.
ASXT is another XML transformation library for Scheme.[*] It works with [SXML], including that with extraneous list nesting and nulls, and with [HtmlPrag]'s SHTML variant of SXML.
ASXT is conceptually very simple, and may at some future time be an underlying mechanism in a higher-level language. At this time, ASXT is being used as a practical tool while we attempt to identify what higher-level features and syntax would be most useful for our applications.
Presently, ASXT is somewhat similar to Oleg Kiselyov's
[Pre-post-order] and Kirill Lisovsky's [STX], and indeed has been informed and
inspired by those. ASXT might be described as pre-post-order with
inheritance and only preorder traversal, and as stx-engine without
[SXPath]. ASXT's simplifications were made experimentally, as a starting
point for building higher-level features that might be better-suited to some
applications. We also expect to incorporate ideas from Jim Bender's [WebIt].
The ASXT implementation includes a simple "compiler" that produces a closure from input ASXT language. This closure, which may be applied to SXML nodes, should do a fairly efficient job of recursively dispatching on SXML node types to closures, and of assembling the result tree. In most cases, null lists and extraneous list nestings produced by user-supplied closures are discarded quickly and are not included in the output SXML.
The ASXT library requires only R5RS and [SRFI-23].
See documentation for more info...
[*] "ASXT" may be pronounced phonetically, in which case the following mnemonic might be helpful: "Thrice have I ASXT thee to transform!"
To be added to the moderated scheme-announce email
list, ask neil@neilvandyke.org .
The current version of ASXT (31-Dec-2004).
You can download file asxt.scm, Scheme source code.
You can download file asxt.html, documentation in HTML format.
You can download file asxt.pdf, documentation in PDF format.
You can download file asxt.plt, a packaging for PLT Scheme.
Third-party packagings are:
Chicken asxt.egg by Felix Winkelmann
© Copyright Neil Van Dyke Contact