You are looking at historical revision 13363 of this page. It may differ significantly from its current revision.

ssax

Description

Oleg Kiselyov's XML parser.

Author

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

Requirements

None

Download

ssax.egg

Documentation

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

Normally, numeric entities > 255, such as &#955, will not be rendered correctly by SSAX:XML->SXML. To display them properly,

(require-extension utf8)

Other than this, UTF-8 compatibility is not well tested.

Changelog

License

Public Domain