racket/collects/xml/private/sig.ss
2005-07-13 14:41:26 +00:00

61 lines
1.4 KiB
Scheme

(module sig mzscheme
(require (lib "unitsig.ss"))
(define-signature xml-structs^
((struct location (line char offset))
(struct document (prolog element misc))
(struct comment (text))
(struct prolog (misc dtd misc2))
(struct document-type (name external inlined))
(struct external-dtd (system))
(struct external-dtd/public (public))
(struct external-dtd/system ())
(struct element (name attributes content))
(struct attribute (name value))
(struct pi (target-name instruction))
(struct source (start stop))
(struct pcdata (string))
(struct cdata (string))
(struct entity (text))
content?))
(define-signature writer^
(write-xml
display-xml
write-xml/content
display-xml/content
empty-tag-shorthand
html-empty-tags))
(define-signature reader^
(read-xml
read-xml/element
read-comments
collapse-whitespace
(struct exn:xml ())))
(define-signature xexpr^
(xml->xexpr
xexpr->xml
xexpr->string
xexpr-drop-empty-attributes
xexpr?
correct-xexpr?
validate-xexpr
(struct exn:invalid-xexpr (code))
xexpr-attribute?
listof?))
(define-signature extra-xexpr^
((open xexpr^) assoc-sort bcompose attribute->srep))
(define-signature space^ (eliminate-whitespace))
(provide xml-structs^
writer^
reader^
xexpr^
extra-xexpr^
space^))