Changeset 1704
- Timestamp:
- 08/29/06 09:46:14 (2 years ago)
- Files:
-
- trunk/lib/xsd/ns.rb (modified) (5 diffs)
- trunk/test/xsd/test_ns.rb (added)
- trunk/test/xsd/xmllang.xml (added)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/lib/xsd/ns.rb
r1604 r1704 1 1 # XSD4R - XML Schema Namespace library 2 # Copyright (C) 2000-2003, 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.2 # Copyright (C) 2000-2003, 2005, 2006 NAKAMURA, Hiroshi <nahi@ruby-lang.org>. 3 3 4 4 # This program is copyrighted free software by NAKAMURA, Hiroshi. You can … … 14 14 15 15 class NS 16 Namespace = 'http://www.w3.org/XML/1998/namespace' 17 16 18 class Assigner 17 19 def initialize … … 31 33 public 32 34 33 def initialize(tag2ns = {})34 @tag2ns = tag2ns 35 def initialize(tag2ns = nil) 36 @tag2ns = tag2ns || ns_default 35 37 @assigner = nil 36 38 @ns2tag = {} 37 @tag2ns.each do |tag, ns| 38 @ns2tag[ns] = tag 39 end 39 @ns2tag = @tag2ns.invert 40 40 @default_namespace = nil 41 41 end … … 72 72 if (name.namespace == @default_namespace) 73 73 name.name 74 elsif @ns2tag.key?(name.namespace)75 "#{ @ns2tag[name.namespace]}:#{name.name}"74 elsif tag = @ns2tag[name.namespace] 75 "#{tag}:#{name.name}" 76 76 else 77 77 raise FormatError.new("namespace: #{name.namespace} not defined yet") … … 135 135 @assigner = assigner 136 136 end 137 138 private 139 140 def ns_default 141 {'xml' => Namespace} 142 end 137 143 end 138 144