rdfobjects 0.3.2 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/rdf_objects/parsers.rb +10 -4
  2. metadata +2 -2
@@ -151,7 +151,7 @@ class XMLParser
151
151
  resource = Resource.new(resource_node.attribute_with_ns('about', "http://www.w3.org/1999/02/22-rdf-syntax-ns#").value)
152
152
  unless (resource_node.name == "Description" and resource_node.namespace.href == "http://www.w3.org/1999/02/22-rdf-syntax-ns#") or
153
153
  (resource_node.name == "item" and resource_node.namespace.href == "http://purl.org/rss/1.0/")
154
- resource.assert("[rdf:type]","#{resource_node.namespace.href}#{resource_node.name}")
154
+ resource.assert("[rdf:type]",Resource.new("#{resource_node.namespace.href}#{resource_node.name}"))
155
155
  end
156
156
  resource_node.children.each do | child |
157
157
  next if child.text?
@@ -160,8 +160,7 @@ class XMLParser
160
160
  obj_resource = Resource.new(object_uri.value)
161
161
  resource.assert(predicate, obj_resource)
162
162
  collection << obj_resource
163
- elsif child.content
164
-
163
+ elsif all_text?(child)
165
164
  opts = {}
166
165
  if lang = child.attribute_with_ns("lang", "http://www.w3.org/XML/1998/namespace")
167
166
  opts[:language] = lang.value
@@ -169,7 +168,7 @@ class XMLParser
169
168
  if datatype = child.attribute_with_ns("datatype", "http://www.w3.org/1999/02/22-rdf-syntax-ns#")
170
169
  opts[:data_type] = datatype.value
171
170
  end
172
- resource.assert(predicate, Literal.new(child.content,opts))
171
+ resource.assert(predicate, Literal.new(child.content.strip,opts))
173
172
  end
174
173
  child.xpath("./*[@rdf:about]").each do | grandchild |
175
174
  gc_resource = Resource.new(grandchild.attribute_with_ns('about', "http://www.w3.org/1999/02/22-rdf-syntax-ns#").value)
@@ -181,6 +180,13 @@ class XMLParser
181
180
  collection << resource
182
181
  end
183
182
 
183
+ def self.all_text?(node)
184
+ node.children.each do | child |
185
+ return false unless child.text?
186
+ end
187
+ true
188
+ end
189
+
184
190
  def self.parse_rdfxml(doc)
185
191
  collection = []
186
192
  doc.root.xpath("./*[@rdf:about]").each do | resource_node |
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rdfobjects
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ross Singer
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-10-06 00:00:00 -04:00
12
+ date: 2009-10-07 00:00:00 -04:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency