rdf-xsd 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/VERSION +1 -1
- data/lib/rdf/xsd/any_uri.rb +55 -0
- data/lib/rdf/xsd/date.rb +35 -5
- metadata +97 -162
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
1
|
+
0.3.8
|
@@ -0,0 +1,55 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
require 'base64'
|
3
|
+
|
4
|
+
module RDF; class Literal
|
5
|
+
##
|
6
|
+
# More specific sub-types of double
|
7
|
+
# Derived types
|
8
|
+
# @see http://www.w3.org/TR/xpath-functions/#datatypes
|
9
|
+
|
10
|
+
##
|
11
|
+
# anyURI represents a Uniform Resource Identifier Reference (URI).
|
12
|
+
# An anyURI value can be absolute or relative, and may have an
|
13
|
+
# optional fragment identifier (i.e., it may be a URI Reference).
|
14
|
+
# This type should be used to specify the intention that the value fulfills
|
15
|
+
# the role of a URI as defined by [RFC 2396], as amended by [RFC 2732].
|
16
|
+
#
|
17
|
+
# @see http://www.w3.org/TR/xmlschema-2/#anyURI
|
18
|
+
# @see http://www.ietf.org/rfc/rfc2396.txt
|
19
|
+
# @see http://www.ietf.org/rfc/rfc2732.txt
|
20
|
+
class AnyURI < RDF::Literal
|
21
|
+
DATATYPE = XSD.anyURI
|
22
|
+
|
23
|
+
##
|
24
|
+
# @param [String, Object] value
|
25
|
+
# If given a string, it will decode it as an object value.
|
26
|
+
# Otherwise, it will take the value as the object and encode to retrieve a value
|
27
|
+
# @option options [String] :lexical (nil)
|
28
|
+
def initialize(value, options = {})
|
29
|
+
super
|
30
|
+
@object = RDF::URI(value)
|
31
|
+
canonicalize! unless value.is_a?(String)
|
32
|
+
end
|
33
|
+
|
34
|
+
##
|
35
|
+
# Converts this literal into its canonical lexical representation.
|
36
|
+
#
|
37
|
+
# @return [RDF::Literal] `self`
|
38
|
+
def canonicalize!
|
39
|
+
@string = @object.canonicalize
|
40
|
+
self
|
41
|
+
end
|
42
|
+
|
43
|
+
##
|
44
|
+
# Returns `true` if the value adheres to the defined grammar of the
|
45
|
+
# datatype.
|
46
|
+
#
|
47
|
+
# Note: depends on implementation of Base64.strict_decode64, which may not
|
48
|
+
# be implemented for Ruby 1.8.x.
|
49
|
+
#
|
50
|
+
# @return [Boolean]
|
51
|
+
def valid?
|
52
|
+
@object.validate! rescue false
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end; end #RDF::Literal
|
data/lib/rdf/xsd/date.rb
CHANGED
@@ -11,8 +11,14 @@ module RDF; class Literal
|
|
11
11
|
# @see http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/#gYearMonth
|
12
12
|
class YearMonth < RDF::Literal::Date
|
13
13
|
DATATYPE = XSD.gYearMonth
|
14
|
-
GRAMMAR = %r(\A-?\d{4,}-\d{2}((?:[\+\-]\d{2}:\d{2})|UTC|Z)?\Z).freeze
|
14
|
+
GRAMMAR = %r(\A(-?\d{4,}-\d{2})((?:[\+\-]\d{2}:\d{2})|UTC|Z)?\Z).freeze
|
15
15
|
FORMAT = '%Y-%m%Z'.freeze
|
16
|
+
|
17
|
+
def initialize(value, options = {})
|
18
|
+
@string = options.fetch(:lexical, value.to_s)
|
19
|
+
object = GRAMMAR.match(value.to_s) && ::Date.parse("#{$1}-01#{$2}")
|
20
|
+
super(object, options)
|
21
|
+
end
|
16
22
|
end
|
17
23
|
|
18
24
|
##
|
@@ -23,8 +29,14 @@ module RDF; class Literal
|
|
23
29
|
# @see http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/#gYear
|
24
30
|
class Year < RDF::Literal::Date
|
25
31
|
DATATYPE = XSD.gYear
|
26
|
-
GRAMMAR = %r(\A-?\d{4,}(
|
32
|
+
GRAMMAR = %r(\A(-?\d{4,})((?:[\+\-]\d{2}:\d{2})|UTC|Z)?\Z).freeze
|
27
33
|
FORMAT = '%Y%Z'.freeze
|
34
|
+
|
35
|
+
def initialize(value, options = {})
|
36
|
+
@string = options.fetch(:lexical, value.to_s)
|
37
|
+
object = GRAMMAR.match(value.to_s) && ::Date.parse("#{$1}-01-01#{$2}")
|
38
|
+
super(object, options)
|
39
|
+
end
|
28
40
|
end
|
29
41
|
|
30
42
|
##
|
@@ -35,8 +47,14 @@ module RDF; class Literal
|
|
35
47
|
# @see http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/#gMonthDay
|
36
48
|
class MonthDay < RDF::Literal::Date
|
37
49
|
DATATYPE = XSD.gMonthDay
|
38
|
-
GRAMMAR = %r(\A\d{2}-\d{2}(
|
50
|
+
GRAMMAR = %r(\A(\d{2}-\d{2})((?:[\+\-]\d{2}:\d{2})|UTC|Z)?\Z).freeze
|
39
51
|
FORMAT = '%m-%d%Z'.freeze
|
52
|
+
|
53
|
+
def initialize(value, options = {})
|
54
|
+
@string = options.fetch(:lexical, value.to_s)
|
55
|
+
object = GRAMMAR.match(value.to_s) && ::Date.parse("0000-#{$1}#{$2}")
|
56
|
+
super(object, options)
|
57
|
+
end
|
40
58
|
end
|
41
59
|
|
42
60
|
##
|
@@ -47,8 +65,14 @@ module RDF; class Literal
|
|
47
65
|
# @see http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/#gDay
|
48
66
|
class Day < RDF::Literal::Date
|
49
67
|
DATATYPE = XSD.gDay
|
50
|
-
GRAMMAR = %r(\A\d{2}(
|
68
|
+
GRAMMAR = %r(\A(\d{2})((?:[\+\-]\d{2}:\d{2})|UTC|Z)?\Z).freeze
|
51
69
|
FORMAT = '%d%Z'.freeze
|
70
|
+
|
71
|
+
def initialize(value, options = {})
|
72
|
+
@string = options.fetch(:lexical, value.to_s)
|
73
|
+
object = GRAMMAR.match(value.to_s) && ::Date.parse("0000-01-#{$1}#{$2}")
|
74
|
+
super(object, options)
|
75
|
+
end
|
52
76
|
end
|
53
77
|
|
54
78
|
##
|
@@ -58,7 +82,13 @@ module RDF; class Literal
|
|
58
82
|
# @see http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/#gMonth
|
59
83
|
class Month < RDF::Literal::Date
|
60
84
|
DATATYPE = XSD.gMonth
|
61
|
-
GRAMMAR = %r(\A\d{2}(
|
85
|
+
GRAMMAR = %r(\A(\d{2})((?:[\+\-]\d{2}:\d{2})|UTC|Z)?\Z).freeze
|
62
86
|
FORMAT = '%m%Z'.freeze
|
87
|
+
|
88
|
+
def initialize(value, options = {})
|
89
|
+
@string = options.fetch(:lexical, value.to_s)
|
90
|
+
object = GRAMMAR.match(value.to_s) && ::Date.parse("0000-#{$1}-01#{$2}")
|
91
|
+
super(object, options)
|
92
|
+
end
|
63
93
|
end
|
64
94
|
end; end #RDF::Literal
|
metadata
CHANGED
@@ -1,178 +1,125 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: rdf-xsd
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.3.8
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 3
|
9
|
-
- 7
|
10
|
-
version: 0.3.7
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Gregg
|
14
9
|
- Kellogg
|
15
10
|
autorequire:
|
16
11
|
bindir: bin
|
17
12
|
cert_chain: []
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
13
|
+
date: 2012-08-27 00:00:00.000000000 Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
version_requirements: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - ! '>='
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: 0.3.4
|
25
21
|
none: false
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
segments:
|
31
|
-
- 0
|
32
|
-
- 3
|
33
|
-
- 4
|
22
|
+
requirement: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ! '>='
|
25
|
+
- !ruby/object:Gem::Version
|
34
26
|
version: 0.3.4
|
35
|
-
type: :runtime
|
36
|
-
version_requirements: *id001
|
37
|
-
- !ruby/object:Gem::Dependency
|
38
|
-
name: nokogiri
|
39
|
-
prerelease: false
|
40
|
-
requirement: &id002 !ruby/object:Gem::Requirement
|
41
27
|
none: false
|
42
|
-
|
43
|
-
- - ">="
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
hash: 3
|
46
|
-
segments:
|
47
|
-
- 1
|
48
|
-
- 5
|
49
|
-
- 0
|
50
|
-
version: 1.5.0
|
51
|
-
type: :runtime
|
52
|
-
version_requirements: *id002
|
53
|
-
- !ruby/object:Gem::Dependency
|
54
|
-
name: backports
|
28
|
+
name: rdf
|
55
29
|
prerelease: false
|
56
|
-
requirement: &id003 !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
|
-
requirements:
|
59
|
-
- - ">="
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
hash: 3
|
62
|
-
segments:
|
63
|
-
- 0
|
64
|
-
version: "0"
|
65
30
|
type: :runtime
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
31
|
+
- !ruby/object:Gem::Dependency
|
32
|
+
version_requirements: !ruby/object:Gem::Requirement
|
33
|
+
requirements:
|
34
|
+
- - ! '>='
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: 3.0.0
|
37
|
+
none: false
|
38
|
+
requirement: !ruby/object:Gem::Requirement
|
39
|
+
requirements:
|
40
|
+
- - ! '>='
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: 3.0.0
|
71
43
|
none: false
|
72
|
-
requirements:
|
73
|
-
- - ">="
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
hash: 7
|
76
|
-
segments:
|
77
|
-
- 0
|
78
|
-
- 2
|
79
|
-
- 8
|
80
|
-
version: 0.2.8
|
81
|
-
type: :development
|
82
|
-
version_requirements: *id004
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
44
|
name: active_support
|
85
45
|
prerelease: false
|
86
|
-
requirement: &id005 !ruby/object:Gem::Requirement
|
87
|
-
none: false
|
88
|
-
requirements:
|
89
|
-
- - ">="
|
90
|
-
- !ruby/object:Gem::Version
|
91
|
-
hash: 7
|
92
|
-
segments:
|
93
|
-
- 3
|
94
|
-
- 0
|
95
|
-
- 0
|
96
|
-
version: 3.0.0
|
97
46
|
type: :development
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
version_requirements: !ruby/object:Gem::Requirement
|
49
|
+
requirements:
|
50
|
+
- - ! '>='
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: 0.6.0
|
103
53
|
none: false
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
segments:
|
109
|
-
- 0
|
110
|
-
- 6
|
111
|
-
- 0
|
54
|
+
requirement: !ruby/object:Gem::Requirement
|
55
|
+
requirements:
|
56
|
+
- - ! '>='
|
57
|
+
- !ruby/object:Gem::Version
|
112
58
|
version: 0.6.0
|
113
|
-
|
114
|
-
|
115
|
-
- !ruby/object:Gem::Dependency
|
116
|
-
name: rspec
|
59
|
+
none: false
|
60
|
+
name: i18n
|
117
61
|
prerelease: false
|
118
|
-
|
62
|
+
type: :development
|
63
|
+
- !ruby/object:Gem::Dependency
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ! '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 2.5.0
|
119
69
|
none: false
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
segments:
|
125
|
-
- 2
|
126
|
-
- 5
|
127
|
-
- 0
|
70
|
+
requirement: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - ! '>='
|
73
|
+
- !ruby/object:Gem::Version
|
128
74
|
version: 2.5.0
|
129
|
-
|
130
|
-
|
131
|
-
- !ruby/object:Gem::Dependency
|
132
|
-
name: rdf-spec
|
75
|
+
none: false
|
76
|
+
name: rspec
|
133
77
|
prerelease: false
|
134
|
-
|
78
|
+
type: :development
|
79
|
+
- !ruby/object:Gem::Dependency
|
80
|
+
version_requirements: !ruby/object:Gem::Requirement
|
81
|
+
requirements:
|
82
|
+
- - ! '>='
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
version: 0.3.2
|
135
85
|
none: false
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
segments:
|
141
|
-
- 0
|
142
|
-
- 3
|
143
|
-
- 2
|
86
|
+
requirement: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
88
|
+
- - ! '>='
|
89
|
+
- !ruby/object:Gem::Version
|
144
90
|
version: 0.3.2
|
145
|
-
|
146
|
-
|
147
|
-
- !ruby/object:Gem::Dependency
|
148
|
-
name: yard
|
91
|
+
none: false
|
92
|
+
name: rdf-spec
|
149
93
|
prerelease: false
|
150
|
-
|
94
|
+
type: :development
|
95
|
+
- !ruby/object:Gem::Dependency
|
96
|
+
version_requirements: !ruby/object:Gem::Requirement
|
97
|
+
requirements:
|
98
|
+
- - ! '>='
|
99
|
+
- !ruby/object:Gem::Version
|
100
|
+
version: 0.6.0
|
151
101
|
none: false
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
segments:
|
157
|
-
- 0
|
158
|
-
- 6
|
159
|
-
- 0
|
102
|
+
requirement: !ruby/object:Gem::Requirement
|
103
|
+
requirements:
|
104
|
+
- - ! '>='
|
105
|
+
- !ruby/object:Gem::Version
|
160
106
|
version: 0.6.0
|
107
|
+
none: false
|
108
|
+
name: yard
|
109
|
+
prerelease: false
|
161
110
|
type: :development
|
162
|
-
version_requirements: *id009
|
163
111
|
description: Adds RDF::Literal subclasses for extended XSD datatypes.
|
164
112
|
email: public-rdf-ruby@w3.org
|
165
113
|
executables: []
|
166
|
-
|
167
114
|
extensions: []
|
168
|
-
|
169
115
|
extra_rdoc_files: []
|
170
|
-
|
171
|
-
files:
|
116
|
+
files:
|
172
117
|
- AUTHORS
|
173
118
|
- README.markdown
|
174
119
|
- UNLICENSE
|
175
120
|
- VERSION
|
121
|
+
- lib/rdf/xsd.rb
|
122
|
+
- lib/rdf/xsd/any_uri.rb
|
176
123
|
- lib/rdf/xsd/binary.rb
|
177
124
|
- lib/rdf/xsd/date.rb
|
178
125
|
- lib/rdf/xsd/double.rb
|
@@ -181,42 +128,30 @@ files:
|
|
181
128
|
- lib/rdf/xsd/integer.rb
|
182
129
|
- lib/rdf/xsd/version.rb
|
183
130
|
- lib/rdf/xsd/xml.rb
|
184
|
-
- lib/rdf/xsd.rb
|
185
131
|
homepage: http://github.com/ruby-rdf/rdf-xsd
|
186
|
-
licenses:
|
132
|
+
licenses:
|
187
133
|
- Public Domain
|
188
134
|
post_install_message:
|
189
135
|
rdoc_options: []
|
190
|
-
|
191
|
-
require_paths:
|
136
|
+
require_paths:
|
192
137
|
- lib
|
193
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
- !ruby/object:Gem::Version
|
198
|
-
hash: 53
|
199
|
-
segments:
|
200
|
-
- 1
|
201
|
-
- 8
|
202
|
-
- 1
|
138
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
139
|
+
requirements:
|
140
|
+
- - ! '>='
|
141
|
+
- !ruby/object:Gem::Version
|
203
142
|
version: 1.8.1
|
204
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
205
143
|
none: false
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
version: "0"
|
144
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
145
|
+
requirements:
|
146
|
+
- - ! '>='
|
147
|
+
- !ruby/object:Gem::Version
|
148
|
+
version: '0'
|
149
|
+
none: false
|
213
150
|
requirements: []
|
214
|
-
|
215
151
|
rubyforge_project: rdf-xsd
|
216
|
-
rubygems_version: 1.8.
|
152
|
+
rubygems_version: 1.8.24
|
217
153
|
signing_key:
|
218
154
|
specification_version: 3
|
219
155
|
summary: Extended XSD Datatypes for RDF.rb.
|
220
156
|
test_files: []
|
221
|
-
|
222
157
|
has_rdoc: false
|