Implement RDF-LITERAL=?.
authorChris Hanson <org/chris-hanson/cph>
Thu, 22 Jun 2006 04:48:33 +0000 (04:48 +0000)
committerChris Hanson <org/chris-hanson/cph>
Thu, 22 Jun 2006 04:48:33 +0000 (04:48 +0000)
v7/src/xml/rdf-struct.scm
v7/src/xml/xml.pkg

index 81a2e39fc0dbf70ec19a8fcbff52d23ca812caa0..22bb05652f72945e1f318b4f4dfc19fdbd33b0ea 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: rdf-struct.scm,v 1.6 2006/03/09 06:23:23 cph Exp $
+$Id: rdf-struct.scm,v 1.7 2006/06/22 04:48:28 cph Exp $
 
 Copyright 2006 Massachusetts Institute of Technology
 
@@ -79,7 +79,7 @@ USA.
   (guarantee-utf8-string text 'RDF-LITERAL)
   (%make-rdf-literal text
                     (if (or (not type)
-                            (and (symbol? type)
+                            (and (interned-symbol? type)
                                  (complete-match match-language
                                                  (symbol-name type))))
                         type
@@ -94,6 +94,10 @@ USA.
   (let ((type (%rdf-literal-type literal)))
     (and (not (absolute-uri? type))
         type)))
+
+(define (rdf-literal=? l1 l2)
+  (and (string=? (rdf-literal-text l1) (rdf-literal-text l2))
+       (eq? (%rdf-literal-type l1) (%rdf-literal-type l2))))
 \f
 (define-record-type <rdf-index>
     (%make-rdf-index subjects predicates objects)
index 03118d018d655ca5b4b0c9d1f3179dd991c770f0..3e5530cc50b605da90781d02074983cc95cd8070 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: xml.pkg,v 1.69 2006/06/10 04:43:09 cph Exp $
+$Id: xml.pkg,v 1.70 2006/06/22 04:48:33 cph Exp $
 
 Copyright 2001,2002,2003,2004,2005,2006 Massachusetts Institute of Technology
 
@@ -554,6 +554,7 @@ USA.
          rdf-literal-language
          rdf-literal-text
          rdf-literal-type
+         rdf-literal=?
          rdf-literal?
          rdf-triple-object
          rdf-triple-predicate