diff --git a/XMLCONF b/XMLCONF index 6511672..ff28854 100644 --- a/XMLCONF +++ b/XMLCONF @@ -974,21 +974,11 @@ ibm/not-wf/P09/ibm09n01.xml [not-wf?] not-wf ibm/not-wf/P09/ibm09n02.xml [not-wf?] not-wf ibm/not-wf/P09/ibm09n03.xml [not-wf?] not-wf ibm/not-wf/P09/ibm09n04.xml [not-wf?] not-wf -ibm/not-wf/P10/ibm10n01.xml [not-wf?] FAILED: - well-formedness violation not detected -[ - Tests an attribute with an invalid value. The value of the attribute "first" - contains the character "less than". - ] +ibm/not-wf/P10/ibm10n01.xml [not-wf?] not-wf ibm/not-wf/P10/ibm10n02.xml [not-wf?] not-wf ibm/not-wf/P10/ibm10n03.xml [not-wf?] not-wf ibm/not-wf/P10/ibm10n04.xml [not-wf?] not-wf -ibm/not-wf/P10/ibm10n05.xml [not-wf?] FAILED: - well-formedness violation not detected -[ - Tests an attribute with an invalid value. The value of the attribute "first" - contains the character "less than". - ] +ibm/not-wf/P10/ibm10n05.xml [not-wf?] not-wf ibm/not-wf/P10/ibm10n06.xml [not-wf?] not-wf ibm/not-wf/P10/ibm10n07.xml [not-wf?] not-wf ibm/not-wf/P10/ibm10n08.xml [not-wf?] not-wf @@ -1833,4 +1823,4 @@ ibm/valid/P86/ibm86v01.xml [not validating:] input [validating:] input ibm/valid/P87/ibm87v01.xml [not validating:] input [validating:] input ibm/valid/P88/ibm88v01.xml [not validating:] input [validating:] input ibm/valid/P89/ibm89v01.xml [not validating:] input [validating:] input -9/1786 tests failed; 376 tests were skipped \ No newline at end of file +7/1786 tests failed; 376 tests were skipped \ No newline at end of file diff --git a/xml/xml-parse.lisp b/xml/xml-parse.lisp index 373d2f2..e4a506c 100644 --- a/xml/xml-parse.lisp +++ b/xml/xml-parse.lisp @@ -1368,9 +1368,7 @@ (rune= c #/U+000A) (rune= c #/U+000D)))) (consume-rune input)) - (cons name (read-att-value-2 input)) - ;;(cons name (read-att-value zinput input :ATT t)) - )) + (cons name (read-att-value-2 input)))) (defun canon-not-cdata-attval (value) ;; | If the declared value is not CDATA, then the XML processor must @@ -3283,6 +3281,8 @@ (error "EOF")) ((rune= c delim) (return)) + ((rune= c #/<) + (wf-error "'<' not allowed in attribute values")) ((rune= #/& c) (multiple-value-bind (kind sem) (read-entity-ref input) (ecase kind