SXML is a native representation of XML in terms of standard Scheme data types: lists, symbols, and strings. For example, the simple XML fragment:
<parrot type="African Grey"><name>Alfie</name></parrot>
may be represented with the following SXML:
(parrot (@ (type "African Grey")) (name "Alfie"))
SXML is very general, and is capable of representing all of XML. Formally, this means that SXML is a conforming implementation of the http://www.w3.org/TR/xml-infoset/ standard.
Guile includes several facilities for working with XML and SXML: parsers, serializers, and transformers.
|• SXML Overview||XML, as it was meant to be|
|• Reading and Writing XML||Convenient XML parsing and serializing|
|• SSAX||Custom functional-style XML parsers|
|• Transforming SXML||Munging SXML with |
|• SXML Tree Fold||Fold-based SXML transformations|
|• SXPath||XPath for SXML|
|• sxml ssax input-parse||The SSAX tokenizer, optimized for Guile|
|• sxml apply-templates||A more XSLT-like approach to SXML transformations|