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 apply-templates:||A more XSLT-like approach to SXML transformations|
|• sxml ssax input-parse:||The SSAX tokenizer, optimized for Guile|