Class XSD::QName
In: lib/xsd/qname.rb
Parent: Object

Methods

==   ===   dump   dup_name   eql?   hash   inspect   match   new   parse   to_s  

Constants

NormalizedNameRegexp = /^\{([^}]*)\}(.*)$/
EMPTY = QName.new.freeze

Attributes

name  [RW] 
namespace  [RW] 
source  [RW] 

Public Class methods

[Source]

    # File lib/xsd/qname.rb, line 17
17:   def initialize(namespace = nil, name = nil)
18:     @namespace = namespace
19:     @name = name
20:     @source = nil
21:   end

Public Instance methods

[Source]

    # File lib/xsd/qname.rb, line 43
43:   def ==(rhs)
44:     !rhs.nil? and @namespace == rhs.namespace and @name == rhs.name
45:   end

[Source]

    # File lib/xsd/qname.rb, line 47
47:   def ===(rhs)
48:     (self == rhs)
49:   end

[Source]

    # File lib/xsd/qname.rb, line 27
27:   def dump
28:     ns = @namespace.nil? ? 'nil' : @namespace.dump
29:     name = @name.nil? ? 'nil' : @name.dump
30:     "XSD::QName.new(#{ns}, #{name})"
31:   end

[Source]

    # File lib/xsd/qname.rb, line 23
23:   def dup_name(name)
24:     XSD::QName.new(@namespace, name)
25:   end

[Source]

    # File lib/xsd/qname.rb, line 51
51:   def eql?(rhs)
52:     (self == rhs)
53:   end

[Source]

    # File lib/xsd/qname.rb, line 55
55:   def hash
56:     @namespace.hash ^ @name.hash
57:   end

[Source]

    # File lib/xsd/qname.rb, line 63
63:   def inspect
64:     sprintf("#<%s:0x%x %s>", self.class.name, __id__,
65:       "{#{ namespace }}#{ name }")
66:   end

[Source]

    # File lib/xsd/qname.rb, line 33
33:   def match(rhs)
34:     if rhs.namespace and (rhs.namespace != @namespace)
35:       return false
36:     end
37:     if rhs.name and (rhs.name != @name)
38:       return false
39:     end
40:     true
41:   end

[Source]

    # File lib/xsd/qname.rb, line 69
69:   def parse(str)
70:     NormalizedNameRegexp =~ str
71:     self.new($1, $2)
72:   end

[Source]

    # File lib/xsd/qname.rb, line 59
59:   def to_s
60:     "{#{ namespace }}#{ name }"
61:   end

[Validate]