only do it for attributes

This commit is contained in:
Sorawee Porncharoenwase 2019-11-02 01:40:26 -07:00 committed by Jay McCarthy
parent 45968e8a3c
commit 73250ae23e

View File

@ -180,7 +180,7 @@
[(gt) ">"]
[(quot) "\""]
[(apos) "'"]
[else (and (number? name) (string (integer->char name)))]))
[else #f]))
(define-struct (EOF source) ())
@ -302,10 +302,14 @@
[(eq? c delimiter) (read-char in) null]
[(eq? c #\&)
(let ([entity (expand-entity (lex-entity in pos))])
(if (pcdata? entity)
(append (string->list (pcdata-string entity)) (read-more))
;; more here - do something with user defined entites
(read-more)))]
(append (cond
[(pcdata? entity)
(string->list (pcdata-string entity))]
[(number? (entity-text entity))
(string (integer->char (entity-text entity)))]
;; more here - do something with user defined entites
[else '()])
(read-more)))]
[else (read-char in) (cons c (read-more))]))))]
[else (if (char? delimiter)
(lex-error in pos "attribute values must be in ''s or in \"\"s")