Outdated egg!

This is an egg for CHICKEN 3, the unsupported old release. You're almost certainly looking for the CHICKEN 4 version of this egg, if it exists.

If it does not exist, there may be equivalent functionality provided by another egg; have a look at the egg index. Otherwise, please consider porting this egg to the current version of CHICKEN.


  1. Outdated egg!
  2. ssax
    1. Description
    2. Author
    3. Requirements
    4. Download
    5. Documentation
    6. Unicode compatibility
    7. Changelog
    8. License


Oleg Kiselyov's XML parser.


Oleg Kiselyov, with some Chicken-specific modifications by Kirill Lisovsky. Minor changes by felix winkelmann to make the code suitable as an extension library.






See the official SSAX homepage for comprehensive documentation.

The following procedures are exported:

[procedure] ssax:warn
[procedure] ssax:skip-pi
[procedure] attlist-fold
[procedure] ssax:prefix-xml
[procedure] ssax:complete-start-tag
[procedure] ssax:skip-s
[procedure] ssax:read-markup-token
[procedure] ssax:assert-token
[procedure] ssax:read-char-data
[procedure] ssax:skip-internal-dtd
[procedure] ssax:s-chars
[procedure] ssax:read-qname
[procedure] ssax:ncname-starting-char?
[procedure] ssax:read-external-id
[procedure] ssax:scan-misc
[procedure] assert-cur-char
[procedure] ssax:handle-parsed-entity
[procedure] ssax:complete-start-tag
[procedure] xml-token-head
[procedure] xml-token-kind
[procedure] ssax:uri-string->symbol
[procedure] string-whitespace?
[procedure] ssax:read-pi-body-as-string
[procedure] ssax:read-ncname
[procedure] ssax:read-cdata-body
[procedure] ssax:read-attributes
[procedure] name-compare
[procedure] ssax:resolve-name
[procedure] SSAX:XML->SXML
[procedure] parser-error

ssax:warn and parse-error are implemented.

The following macros are available:

[syntax] let-values*
[syntax] SSAX:make-pi-parser
[syntax] SSAX:make-elem-parser
[syntax] SSAX:make-parser

Unicode compatibility

SSAX:XML->SXML will convert numeric entities to UTF-8 byte sequences. It does not depend on the utf8 egg for this.

Otherwise, UTF-8 operation is not well tested.



Public Domain