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
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 λ, 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
- 4.9.8 Support numeric entities > 255 when utf8 is loaded [Jim Ursetto]
- 4.9.7 Using ##sys#read/peek-char instead of read/peek-char [Daishi Kato]
- 4.9.6 parser-error now raises a condition [Daishi Kato]
- 4.9.5 Fixed bug in error-reporting function
- 4.9.4 Replaced (apply string-append ...) calls with string-concatenate
- 4.9.3 Adapted to new setup scheme. Fixed a reentrancy-bug [Thanks to Bruce Butterfield]
- 4.9.2 SSAX:warn adds newline [Thanks to Sunnan]
- 4.9.1 Fixed exports for case-sensitivity.
License
Public Domain