diff --git a/XMLCONF b/XMLCONF index 65398fc..25f7f6f 100644 --- a/XMLCONF +++ b/XMLCONF @@ -1798,21 +1798,13 @@ eduni/namespaces/1.0/010.xml [not validating:] not-wf [validating:] not-wf eduni/namespaces/1.0/011.xml [not validating:] not-wf [validating:] not-wf eduni/namespaces/1.0/012.xml [not validating:] not-wf [validating:] not-wf eduni/namespaces/1.0/013.xml [not validating:] not-wf [validating:] invalid -eduni/namespaces/1.0/014.xml [not validating:] FAILED: - invalid array index 0 for #() (should be nonnegative and <0) -[ -Bad QName syntax: colon at end -] +eduni/namespaces/1.0/014.xml [not validating:] not-wf [validating:] invalid eduni/namespaces/1.0/015.xml [not validating:] FAILED: well-formedness violation not detected [ Bad QName syntax: colon at start ] -eduni/namespaces/1.0/016.xml [not validating:] FAILED: - invalid array index 0 for #() (should be nonnegative and <0) -[ -Bad QName syntax: xmlns: -] +eduni/namespaces/1.0/016.xml [not validating:] not-wf [validating:] invalid eduni/namespaces/1.0/017.xml [not validating:] input [validating:] invalid eduni/namespaces/1.0/018.xml [not validating:] input [validating:] invalid eduni/namespaces/1.0/019.xml [not validating:] input [validating:] invalid @@ -1859,4 +1851,4 @@ eduni/namespaces/1.0/046.xml [not validating:] input [validating:] FAILED: [ Colon in ID attribute name ] -7/1829 tests failed; 333 tests were skipped \ No newline at end of file +5/1829 tests failed; 333 tests were skipped \ No newline at end of file diff --git a/xml/xml-parse.lisp b/xml/xml-parse.lisp index 7d2d614..9435848 100644 --- a/xml/xml-parse.lisp +++ b/xml/xml-parse.lisp @@ -3316,7 +3316,8 @@ ;; have to check is that the first rune is a name-start-rune and that ;; there is not colon in it. (defun nc-name-p (name) - (and (name-start-rune-p (rune name 0)) + (and (plusp (length name)) + (name-start-rune-p (rune name 0)) (notany #'(lambda (rune) (rune= #/: rune)) name))) (defun split-qname (qname)