rdf-rdfxml 0.3.7 → 0.3.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/History.markdown CHANGED
@@ -1,3 +1,7 @@
1
+ ### 0.3.8
2
+ * If rdf:RDF is found in a deaper element, look to ancestors for xml:base and xml:lang.
3
+ ### 0.3.7
4
+ * Added :stylesheet option to RDF::RDFXML::Writer to allow writing of an XSL stylesheet processing instruction.
1
5
  ### 0.3.6
2
6
  * Attempt at JRuby and REXML support; not quite there yet.
3
7
  * Element content uses `#inner_text`, rather than `#inner_html`; this performs entity decoding.
data/README.markdown CHANGED
@@ -51,7 +51,7 @@ Full documentation available on [RubyForge](http://rubydoc.info/github/ruby-rdf/
51
51
  * [RDF.rb][RDF.rb]
52
52
  * [RDF/XML][RDF/XML]
53
53
  * [Distiller](http://distiller.kellogg-assoc)
54
- * [Documentation](http://rdf.rubyforge.org/rdfxml)
54
+ * [Documentation](http://rubygems.org/gems/rdf-rdfxml)
55
55
  * [History](file:file.History.html)
56
56
  * [RDF Tests](http://www.w3.org/2000/10/rdf-tests/rdfcore/allTestCases.html)
57
57
 
@@ -87,7 +87,7 @@ see <http://unlicense.org/> or the accompanying {file:UNLICENSE} file.
87
87
  * <http://github.com/ruby-rdf/rdf-rdfxml>
88
88
  * <http://lists.w3.org/Archives/Public/public-rdf-ruby/>
89
89
 
90
- [RDF.rb]: http://rdf.rubyforge.org/
90
+ [RDF.rb]: http://rubygems.org/gems/rdf
91
91
  [RDF/XML]: http://www.w3.org/TR/REC-rdf-syntax/ "RDF/XML Syntax Specification"
92
92
  [YARD]: http://yardoc.org/
93
93
  [YARD-GS]: http://rubydoc.info/docs/yard/file/docs/GettingStarted.md
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.7
1
+ 0.3.8
@@ -38,11 +38,17 @@ module RDF::RDFXML
38
38
  end
39
39
 
40
40
  ##
41
- # Return xml:base on element, if defined
41
+ # Get any xml:base in effect for this element
42
42
  #
43
43
  # @return [String]
44
44
  def base
45
- attribute_with_ns("base", RDF::XML.to_s)
45
+ if @base.nil?
46
+ @base = attribute_with_ns("base", RDF::XML.to_s) ||
47
+ (parent && parent.element? && parent.base) ||
48
+ false
49
+ end
50
+
51
+ @base == false ? nil : @base
46
52
  end
47
53
 
48
54
  ##
@@ -115,7 +121,13 @@ module RDF::RDFXML
115
121
  end
116
122
 
117
123
  def xpath(*args)
118
- @node.xpath(*args).map {|n| NodeProxy.new(n)}
124
+ @node.xpath(*args).map do |n|
125
+ # Get node ancestors
126
+ parent = n.ancestors.reverse.inject(nil) do |p,node|
127
+ NodeProxy.new(node, p)
128
+ end
129
+ NodeProxy.new(n, parent)
130
+ end
119
131
  end
120
132
 
121
133
  # For jRuby, there is a bug that prevents the namespace from being set on an element
@@ -42,7 +42,13 @@ module RDF::RDFXML
42
42
  #
43
43
  # @return [String]
44
44
  def base
45
- @node.attribute("base", RDF::XML.to_s)
45
+ if @base.nil?
46
+ @base = attributes['xml:base'] ||
47
+ (parent && parent.element? && parent.base) ||
48
+ false
49
+ end
50
+
51
+ @base == false ? nil : @base
46
52
  end
47
53
 
48
54
  def attribute_with_ns(name, namespace)
@@ -129,7 +135,13 @@ module RDF::RDFXML
129
135
 
130
136
  def xpath(*args)
131
137
  #NodeSetProxy.new(::REXML::XPath.match(@node, path, namespaces), self)
132
- ::REXML::XPath.match(@node, *args).map {|n| NodeProxy.new(n)}
138
+ ::REXML::XPath.match(@node, *args).map do |n|
139
+ # Get node ancestors
140
+ parent = n.ancestors.reverse.inject(nil) do |p,node|
141
+ NodeProxy.new(node, p)
142
+ end
143
+ NodeProxy.new(n, parent)
144
+ end
133
145
  end
134
146
 
135
147
  def elem?
@@ -29,7 +29,7 @@ module RDF::RDFXML
29
29
 
30
30
  def initialize(base, element, graph, &cb)
31
31
  # Initialize the evaluation context, [5.1]
32
- self.base = RDF::URI.intern(base)
32
+ self.base = RDF::URI(base)
33
33
  @uri_mappings = {}
34
34
  @language = nil
35
35
  @graph = graph
@@ -138,7 +138,7 @@ module RDF::RDFXML
138
138
  # @yield [reader] `self`
139
139
  # @yieldparam [RDF::Reader] reader
140
140
  # @yieldreturn [void] ignored
141
- # @raise [Error]:: Raises RDF::ReaderError if _validate_
141
+ # @raise [Error] Raises RDF::ReaderError if _validate_
142
142
  def initialize(input = $stdin, options = {}, &block)
143
143
  super do
144
144
  @debug = options[:debug]
@@ -188,7 +188,7 @@ module RDF::RDFXML
188
188
 
189
189
  raise "root must be a proxy not a #{root.class}" unless root.is_a?(@implementation::NodeProxy)
190
190
 
191
- add_debug(root, "base_uri: #{@base_uri || 'nil'}")
191
+ add_debug(root, "base_uri: #{@base_uri.inspect}")
192
192
 
193
193
  rdf_nodes = root.xpath("//rdf:RDF", "rdf" => RDF.to_uri.to_s)
194
194
  if rdf_nodes.length == 0
@@ -250,8 +250,8 @@ module RDF::RDFXML
250
250
 
251
251
  # Add debug event to debug array, if specified
252
252
  #
253
- # @param [Nokogiri::XML::Node, #to_s] node:: XML Node or string for showing context
254
- # @param [String] message::
253
+ # @param [Nokogiri::XML::Node, #to_s] node XML Node or string for showing context
254
+ # @param [String] message
255
255
  # @yieldreturn [String] appended to message, to allow for lazy-evaulation of message
256
256
  def add_debug(node, message = "")
257
257
  return unless ::RDF::RDFXML.debug? || @debug
@@ -262,12 +262,12 @@ module RDF::RDFXML
262
262
 
263
263
  # add a statement, object can be literal or URI or bnode
264
264
  #
265
- # @param [Nokogiri::XML::Node, any] node:: XML Node or string for showing context
266
- # @param [URI, BNode] subject:: the subject of the statement
267
- # @param [URI] predicate:: the predicate of the statement
268
- # @param [URI, BNode, Literal] object:: the object of the statement
269
- # @return [Statement]:: Added statement
270
- # @raise [RDF::ReaderError]:: Checks parameter types and raises if they are incorrect if validating.
265
+ # @param [Nokogiri::XML::Node, any] node XML Node or string for showing context
266
+ # @param [URI, BNode] subject the subject of the statement
267
+ # @param [URI] predicate the predicate of the statement
268
+ # @param [URI, BNode, Literal] object the object of the statement
269
+ # @return [Statement] Added statement
270
+ # @raise [RDF::ReaderError] Checks parameter types and raises if they are incorrect if validating.
271
271
  def add_triple(node, subject, predicate, object)
272
272
  statement = RDF::Statement.new(subject, predicate, object)
273
273
  add_debug(node) {"statement: #{statement}"}
@@ -276,10 +276,10 @@ module RDF::RDFXML
276
276
 
277
277
  # XML nodeElement production
278
278
  #
279
- # @param [XML Element] el:: XMl Element to parse
280
- # @param [EvaluationContext] ec:: Evaluation context
281
- # @return [RDF::URI] subject:: The subject found for the node
282
- # @raise [RDF::ReaderError]:: Raises Exception if validating
279
+ # @param [XML Element] el XMl Element to parse
280
+ # @param [EvaluationContext] ec Evaluation context
281
+ # @return [RDF::URI] subject The subject found for the node
282
+ # @raise [RDF::ReaderError] Raises Exception if validating
283
283
  def nodeElement(el, ec)
284
284
  raise "el must be a proxy not a #{el.class}" unless el.is_a?(@implementation::NodeProxy)
285
285
  # subject
data/lib/rdf/rdfxml.rb CHANGED
@@ -15,7 +15,7 @@ module RDF
15
15
  # end
16
16
  # end
17
17
  #
18
- # @see http://rdf.rubyforge.org/
18
+ # @see http://rubygems.org/gems/rdf
19
19
  # @see http://www.w3.org/TR/REC-rdf-syntax/
20
20
  #
21
21
  # @author [Gregg Kellogg](http://kellogg-assoc.com/)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rdf-rdfxml
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.7
4
+ version: 0.3.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,11 +10,11 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-05-14 00:00:00.000000000Z
13
+ date: 2012-05-17 00:00:00.000000000Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rdf
17
- requirement: &70345945239300 !ruby/object:Gem::Requirement
17
+ requirement: &70095897830720 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: 0.3.4
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *70345945239300
25
+ version_requirements: *70095897830720
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: rdf-xsd
28
- requirement: &70345945238820 !ruby/object:Gem::Requirement
28
+ requirement: &70095897829980 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ! '>='
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: 0.3.5
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *70345945238820
36
+ version_requirements: *70095897829980
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: nokogiri
39
- requirement: &70345945238300 !ruby/object:Gem::Requirement
39
+ requirement: &70095897829280 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ! '>='
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: 1.5.0
45
45
  type: :development
46
46
  prerelease: false
47
- version_requirements: *70345945238300
47
+ version_requirements: *70095897829280
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: equivalent-xml
50
- requirement: &70345945221360 !ruby/object:Gem::Requirement
50
+ requirement: &70095897828540 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ! '>='
@@ -55,10 +55,10 @@ dependencies:
55
55
  version: 0.2.8
56
56
  type: :development
57
57
  prerelease: false
58
- version_requirements: *70345945221360
58
+ version_requirements: *70095897828540
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: open-uri-cached
61
- requirement: &70345945220780 !ruby/object:Gem::Requirement
61
+ requirement: &70095897827820 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - ! '>='
@@ -66,10 +66,10 @@ dependencies:
66
66
  version: 0.0.4
67
67
  type: :development
68
68
  prerelease: false
69
- version_requirements: *70345945220780
69
+ version_requirements: *70095897827820
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: spira
72
- requirement: &70345945220180 !ruby/object:Gem::Requirement
72
+ requirement: &70095897827060 !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
75
  - - ! '>='
@@ -77,10 +77,10 @@ dependencies:
77
77
  version: 0.0.12
78
78
  type: :development
79
79
  prerelease: false
80
- version_requirements: *70345945220180
80
+ version_requirements: *70095897827060
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: rspec
83
- requirement: &70345945219600 !ruby/object:Gem::Requirement
83
+ requirement: &70095897826340 !ruby/object:Gem::Requirement
84
84
  none: false
85
85
  requirements:
86
86
  - - ! '>='
@@ -88,10 +88,10 @@ dependencies:
88
88
  version: 2.8.0
89
89
  type: :development
90
90
  prerelease: false
91
- version_requirements: *70345945219600
91
+ version_requirements: *70095897826340
92
92
  - !ruby/object:Gem::Dependency
93
93
  name: rdf-isomorphic
94
- requirement: &70345945219020 !ruby/object:Gem::Requirement
94
+ requirement: &70095897825560 !ruby/object:Gem::Requirement
95
95
  none: false
96
96
  requirements:
97
97
  - - ! '>='
@@ -99,10 +99,10 @@ dependencies:
99
99
  version: 0.3.4
100
100
  type: :development
101
101
  prerelease: false
102
- version_requirements: *70345945219020
102
+ version_requirements: *70095897825560
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: rdf-n3
105
- requirement: &70345945218480 !ruby/object:Gem::Requirement
105
+ requirement: &70095897824800 !ruby/object:Gem::Requirement
106
106
  none: false
107
107
  requirements:
108
108
  - - ! '>='
@@ -110,10 +110,10 @@ dependencies:
110
110
  version: 0.3.4
111
111
  type: :development
112
112
  prerelease: false
113
- version_requirements: *70345945218480
113
+ version_requirements: *70095897824800
114
114
  - !ruby/object:Gem::Dependency
115
115
  name: rdf-spec
116
- requirement: &70345945217940 !ruby/object:Gem::Requirement
116
+ requirement: &70095897824060 !ruby/object:Gem::Requirement
117
117
  none: false
118
118
  requirements:
119
119
  - - ! '>='
@@ -121,10 +121,10 @@ dependencies:
121
121
  version: 0.3.4
122
122
  type: :development
123
123
  prerelease: false
124
- version_requirements: *70345945217940
124
+ version_requirements: *70095897824060
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: yard
127
- requirement: &70345945217420 !ruby/object:Gem::Requirement
127
+ requirement: &70095897823420 !ruby/object:Gem::Requirement
128
128
  none: false
129
129
  requirements:
130
130
  - - ! '>='
@@ -132,7 +132,7 @@ dependencies:
132
132
  version: 0.6.0
133
133
  type: :development
134
134
  prerelease: false
135
- version_requirements: *70345945217420
135
+ version_requirements: *70095897823420
136
136
  description: RDF::RDFXML is an RDF/XML reader and writer for the RDF.rb library suite.
137
137
  email: public-rdf-ruby@w3.org
138
138
  executables: []