Allow relative URIs as namespace names.
authorChris Hanson <org/chris-hanson/cph>
Mon, 23 Jul 2007 01:43:41 +0000 (01:43 +0000)
committerChris Hanson <org/chris-hanson/cph>
Mon, 23 Jul 2007 01:43:41 +0000 (01:43 +0000)
v7/src/xml/xml-names.scm
v7/src/xml/xml-parser.scm

index 38dc39421ca27b27616ad4bc00f7fca8864857a1..b423ac2cde13f02bcdf7ce7830c691312c61cf2a 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: xml-names.scm,v 1.15 2007/01/17 03:43:04 cph Exp $
+$Id: xml-names.scm,v 1.16 2007/07/23 01:43:39 cph Exp $
 
 Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
     1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
@@ -39,17 +39,16 @@ USA.
          (%make-xml-name qname uri)))))
 
 (define (check-prefix+uri qname uri)
-  (if (not (and (uri-absolute? uri)
-               (let ((s (symbol-name qname)))
-                 (let ((c (find-prefix-separator s)))
-                   (case c
-                     ((#f) #t)
-                     ((ILLEGAL) #f)
-                     (else
-                      (case (utf8-string->symbol (string-head s c))
-                        ((xml) (uri=? uri xml-uri))
-                        ((xmlns) (uri=? uri xmlns-uri))
-                        (else #t))))))))
+  (if (not (let ((s (symbol-name qname)))
+            (let ((c (find-prefix-separator s)))
+              (case c
+                ((#f) #t)
+                ((ILLEGAL) #f)
+                (else
+                 (case (utf8-string->symbol (string-head s c))
+                   ((xml) (uri=? uri xml-uri))
+                   ((xmlns) (uri=? uri xmlns-uri))
+                   (else #t)))))))
       (error:bad-range-argument uri 'MAKE-XML-NAME)))
 
 (define (%make-xml-name qname uri)
index 1a24a34da94ed7210b9881207b88fa72e2782b5d..78e02176e64a5d87f7fbc03279849e5d79d971b7 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: xml-parser.scm,v 1.74 2007/07/23 00:34:02 cph Exp $
+$Id: xml-parser.scm,v 1.75 2007/07/23 01:43:41 cph Exp $
 
 Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
     1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
@@ -573,7 +573,7 @@ USA.
                         (lambda ()
                           (if (string-null? value)
                               (null-xml-namespace-uri)
-                              (string->absolute-uri value))))
+                              (string->uri value))))
                        (forbidden-uri
                         (lambda (uri)
                           (perror p "Forbidden namespace URI"