cashew-s-auto
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Cashew-s-auto] Changes to cashews/src/nongnu/cashews/rdf/XMLParser.java


From: Andrew John Hughes
Subject: [Cashew-s-auto] Changes to cashews/src/nongnu/cashews/rdf/XMLParser.java
Date: Tue, 05 Apr 2005 12:48:55 -0400

Index: cashews/src/nongnu/cashews/rdf/XMLParser.java
diff -u cashews/src/nongnu/cashews/rdf/XMLParser.java:1.5 
cashews/src/nongnu/cashews/rdf/XMLParser.java:1.6
--- cashews/src/nongnu/cashews/rdf/XMLParser.java:1.5   Mon Apr  4 16:00:19 2005
+++ cashews/src/nongnu/cashews/rdf/XMLParser.java       Tue Apr  5 16:48:53 2005
@@ -218,6 +218,11 @@
     private String predicateURI;
 
     /**
+     * The type of the current literal.
+     */
+    private Type type;
+
+    /**
      * Constructs a new <code>RDFHandler</code>, using the specified
      * handler for log messages.
      *
@@ -240,6 +245,7 @@
       inRDF = false;
       inPredicate = false;
       predicateURI = null;
+      type = null;
     }
 
     /**
@@ -316,6 +322,7 @@
                    }
                  else
                    {
+                     /* Check for blank node object */
                      value = attributes.getValue(RDF_NAMESPACE, "nodeID");
                      if (value != null)
                        {
@@ -323,6 +330,10 @@
                          logger.fine("Created object: " + object);
                        }
                    }
+                 /* Check for a type */
+                 value = attributes.getValue(RDF_NAMESPACE, "datatype");
+                 if (value != null)
+                   type = TypeFactory.getInstance(value);
                }
            }
        }
@@ -366,7 +377,10 @@
       logger.finer("Characters: " + value);
       if (inPredicate)
        {
-         object = new Literal(value);
+         if (type == null)
+           object = new Literal(value);
+         else
+           object = new Literal(value, type);
          logger.fine("Created object: " + object);
        }
     }
@@ -403,6 +417,7 @@
        inPredicate = false;
        inSubject = true;
        predicateURI = null;
+       type = null;
        triple = new Triple(subject, predicate, object);
        logger.fine("Created triple: " + triple);
        graph.addTriple(triple);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]