summaryrefslogtreecommitdiff
path: root/lib/xsd
diff options
context:
space:
mode:
Diffstat (limited to 'lib/xsd')
-rw-r--r--lib/xsd/datatypes.rb4
-rw-r--r--lib/xsd/namedelements.rb4
2 files changed, 6 insertions, 2 deletions
diff --git a/lib/xsd/datatypes.rb b/lib/xsd/datatypes.rb
index a1e3e55624..f6ec83be71 100644
--- a/lib/xsd/datatypes.rb
+++ b/lib/xsd/datatypes.rb
@@ -485,7 +485,7 @@ module XSDDateTimeImpl
def to_time
begin
- if @data.of * SecInDay == Time.now.utc_offset
+ if @data.offset * SecInDay == Time.now.utc_offset
d = @data
usec = (d.sec_fraction * SecInDay * 1000000).to_f
Time.local(d.year, d.month, d.mday, d.hour, d.min, d.sec, usec)
@@ -643,7 +643,7 @@ private
s = format('%02d:%02d:%02d', @data.hour, @data.min, @data.sec)
if @data.sec_fraction.nonzero?
fr = @data.sec_fraction * SecInDay
- shiftsize = fr.denominator.to_s.size
+ shiftsize = fr.denominator.to_s.size + 1
fr_s = (fr * (10 ** shiftsize)).to_i.to_s
s << '.' << '0' * (shiftsize - fr_s.size) << fr_s.sub(/0+$/, '')
end
diff --git a/lib/xsd/namedelements.rb b/lib/xsd/namedelements.rb
index 76f958a9e5..df749fed72 100644
--- a/lib/xsd/namedelements.rb
+++ b/lib/xsd/namedelements.rb
@@ -60,6 +60,10 @@ class NamedElements
@elements << rhs
self
end
+
+ def delete(rhs)
+ @elements.delete(rhs)
+ end
def +(rhs)
o = NamedElements.new