Note: This is taken from the Chicken Wiki, where a more recent version could be available.
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.
None
See the official SSAX homepage for comprehensive documentation.
The following procedures are exported:
<procedure>ssax:warn </procedure> <procedure>ssax:skip-pi </procedure> <procedure>attlist-fold</procedure> <procedure>ssax:prefix-xml </procedure> <procedure>ssax:complete-start-tag </procedure> <procedure>ssax:skip-s </procedure> <procedure>ssax:read-markup-token</procedure> <procedure>ssax:assert-token </procedure> <procedure>ssax:read-char-data </procedure> <procedure>ssax:skip-internal-dtd </procedure> <procedure>ssax:s-chars </procedure> <procedure>ssax:read-qname</procedure> <procedure>ssax:ncname-starting-char? </procedure> <procedure>ssax:read-external-id </procedure> <procedure>ssax:scan-misc</procedure> <procedure>assert-cur-char</procedure> <procedure>ssax:handle-parsed-entity </procedure> <procedure>ssax:complete-start-tag </procedure> <procedure>xml-token-head </procedure> <procedure>xml-token-kind</procedure> <procedure>ssax:uri-string→symbol </procedure> <procedure>string-whitespace? </procedure> <procedure>ssax:read-pi-body-as-string</procedure> <procedure>ssax:read-ncname</procedure> <procedure>ssax:read-cdata-body</procedure> <procedure>ssax:read-attributes</procedure> <procedure>name-compare</procedure> <procedure>ssax:resolve-name</procedure> <procedure>SSAX:XML→SXML</procedure> <procedure>parser-error </procedure>
ssax:warn and parse-error are implemented.
The following macros are available:
<macro>let-values*</macro> <macro>SSAX:make-pi-parser</macro> <macro>SSAX:make-elem-parser</macro> <macro>SSAX:make-parser</macro>
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