libxml-ruby 5.0.4 → 5.0.5
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.
- checksums.yaml +4 -4
- data/HISTORY +10 -6
- data/README.rdoc +1 -1
- data/ext/libxml/extconf.rb +5 -0
- data/ext/libxml/ruby_xml.c +556 -556
- data/ext/libxml/ruby_xml_attributes.h +17 -17
- data/ext/libxml/ruby_xml_document.c +1129 -1129
- data/ext/libxml/ruby_xml_dtd.c +257 -257
- data/ext/libxml/ruby_xml_encoding.c +250 -250
- data/ext/libxml/ruby_xml_error.c +1003 -1003
- data/ext/libxml/ruby_xml_error.h +14 -14
- data/ext/libxml/ruby_xml_html_parser_context.c +351 -351
- data/ext/libxml/ruby_xml_input_cbg.c +188 -188
- data/ext/libxml/ruby_xml_namespace.c +151 -151
- data/ext/libxml/ruby_xml_parser.h +10 -10
- data/ext/libxml/ruby_xml_parser_context.c +1009 -1009
- data/ext/libxml/ruby_xml_parser_options.c +74 -74
- data/ext/libxml/ruby_xml_parser_options.h +10 -10
- data/ext/libxml/ruby_xml_sax2_handler.c +326 -326
- data/ext/libxml/ruby_xml_sax_parser.c +108 -108
- data/ext/libxml/ruby_xml_version.h +9 -9
- data/lib/libxml/attr.rb +122 -122
- data/lib/libxml/attr_decl.rb +80 -80
- data/lib/libxml/attributes.rb +13 -13
- data/lib/libxml/document.rb +194 -194
- data/lib/libxml/error.rb +95 -95
- data/lib/libxml/hpricot.rb +77 -77
- data/lib/libxml/html_parser.rb +96 -96
- data/lib/libxml/namespace.rb +61 -61
- data/lib/libxml/namespaces.rb +37 -37
- data/lib/libxml/node.rb +323 -323
- data/lib/libxml/parser.rb +102 -102
- data/lib/libxml/sax_callbacks.rb +179 -179
- data/lib/libxml/sax_parser.rb +40 -40
- data/lib/libxml/tree.rb +28 -28
- data/lib/libxml.rb +4 -4
- data/lib/xml/libxml.rb +10 -10
- data/lib/xml.rb +13 -13
- data/libxml-ruby.gemspec +50 -49
- data/test/test_document.rb +140 -140
- data/test/test_document_write.rb +142 -142
- data/test/test_dtd.rb +126 -126
- data/test/test_encoding.rb +126 -126
- data/test/test_error.rb +194 -194
- data/test/test_helper.rb +20 -20
- data/test/test_namespace.rb +58 -58
- data/test/test_node.rb +235 -235
- data/test/test_node_write.rb +93 -93
- data/test/test_parser.rb +333 -333
- data/test/test_reader.rb +364 -364
- data/test/test_xml.rb +168 -168
- metadata +5 -4
data/lib/libxml/hpricot.rb
CHANGED
@@ -1,78 +1,78 @@
|
|
1
|
-
# encoding: UTF-8
|
2
|
-
|
3
|
-
## Provide hpricot API for libxml. Provided by Michael Guterl,
|
4
|
-
## inspired by http://thebogles.com/blog/an-hpricot-style-interface-to-libxml
|
5
|
-
#
|
6
|
-
#class String
|
7
|
-
# def to_libxml_doc
|
8
|
-
# xp = XML::Parser.new
|
9
|
-
# xp.string = self
|
10
|
-
# xp.parse
|
11
|
-
# end
|
12
|
-
#end
|
13
|
-
#
|
14
|
-
#module LibXML
|
15
|
-
# module XML
|
16
|
-
# class Document
|
17
|
-
# alias :search :find
|
18
|
-
# end
|
19
|
-
#
|
20
|
-
# class Node
|
21
|
-
# # find the child node with the given xpath
|
22
|
-
# def at(xpath)
|
23
|
-
# self.find_first(xpath)
|
24
|
-
# end
|
25
|
-
#
|
26
|
-
# # find the array of child nodes matching the given xpath
|
27
|
-
# def search(xpath)
|
28
|
-
# results = self.find(xpath).to_a
|
29
|
-
# if block_given?
|
30
|
-
# results.each do |result|
|
31
|
-
# yield result
|
32
|
-
# end
|
33
|
-
# end
|
34
|
-
# return results
|
35
|
-
# end
|
36
|
-
#
|
37
|
-
# def /(xpath)
|
38
|
-
# search(xpath)
|
39
|
-
# end
|
40
|
-
#
|
41
|
-
# # return the inner contents of this node as a string
|
42
|
-
# def inner_xml
|
43
|
-
# child.to_s
|
44
|
-
# end
|
45
|
-
#
|
46
|
-
# # alias for inner_xml
|
47
|
-
# def inner_html
|
48
|
-
# inner_xml
|
49
|
-
# end
|
50
|
-
#
|
51
|
-
# # return this node and its contents as an xml string
|
52
|
-
# def to_xml
|
53
|
-
# self.to_s
|
54
|
-
# end
|
55
|
-
#
|
56
|
-
# # alias for path
|
57
|
-
# def xpath
|
58
|
-
# self.path
|
59
|
-
# end
|
60
|
-
#
|
61
|
-
# def find_with_default_ns(xpath_expr, namespace=nil)
|
62
|
-
# find_base(xpath_expr, namespace || default_namespaces)
|
63
|
-
# end
|
64
|
-
#
|
65
|
-
# def find_first_with_default_ns(xpath_expr, namespace=nil)
|
66
|
-
# find_first_base(xpath_expr, namespace || default_namespaces)
|
67
|
-
# end
|
68
|
-
#
|
69
|
-
## alias_method :find_base, :find unless method_defined?(:find_base)
|
70
|
-
## alias_method :find, :find_with_default_ns
|
71
|
-
## alias_method :find_first_base, :find_first unless method_defined?(:find_first_base)
|
72
|
-
## alias_method :find_first, :find_first_with_default_ns
|
73
|
-
## alias :child? :first?
|
74
|
-
## alias :children? :first?
|
75
|
-
## alias :child :first
|
76
|
-
# end
|
77
|
-
# end
|
1
|
+
# encoding: UTF-8
|
2
|
+
|
3
|
+
## Provide hpricot API for libxml. Provided by Michael Guterl,
|
4
|
+
## inspired by http://thebogles.com/blog/an-hpricot-style-interface-to-libxml
|
5
|
+
#
|
6
|
+
#class String
|
7
|
+
# def to_libxml_doc
|
8
|
+
# xp = XML::Parser.new
|
9
|
+
# xp.string = self
|
10
|
+
# xp.parse
|
11
|
+
# end
|
12
|
+
#end
|
13
|
+
#
|
14
|
+
#module LibXML
|
15
|
+
# module XML
|
16
|
+
# class Document
|
17
|
+
# alias :search :find
|
18
|
+
# end
|
19
|
+
#
|
20
|
+
# class Node
|
21
|
+
# # find the child node with the given xpath
|
22
|
+
# def at(xpath)
|
23
|
+
# self.find_first(xpath)
|
24
|
+
# end
|
25
|
+
#
|
26
|
+
# # find the array of child nodes matching the given xpath
|
27
|
+
# def search(xpath)
|
28
|
+
# results = self.find(xpath).to_a
|
29
|
+
# if block_given?
|
30
|
+
# results.each do |result|
|
31
|
+
# yield result
|
32
|
+
# end
|
33
|
+
# end
|
34
|
+
# return results
|
35
|
+
# end
|
36
|
+
#
|
37
|
+
# def /(xpath)
|
38
|
+
# search(xpath)
|
39
|
+
# end
|
40
|
+
#
|
41
|
+
# # return the inner contents of this node as a string
|
42
|
+
# def inner_xml
|
43
|
+
# child.to_s
|
44
|
+
# end
|
45
|
+
#
|
46
|
+
# # alias for inner_xml
|
47
|
+
# def inner_html
|
48
|
+
# inner_xml
|
49
|
+
# end
|
50
|
+
#
|
51
|
+
# # return this node and its contents as an xml string
|
52
|
+
# def to_xml
|
53
|
+
# self.to_s
|
54
|
+
# end
|
55
|
+
#
|
56
|
+
# # alias for path
|
57
|
+
# def xpath
|
58
|
+
# self.path
|
59
|
+
# end
|
60
|
+
#
|
61
|
+
# def find_with_default_ns(xpath_expr, namespace=nil)
|
62
|
+
# find_base(xpath_expr, namespace || default_namespaces)
|
63
|
+
# end
|
64
|
+
#
|
65
|
+
# def find_first_with_default_ns(xpath_expr, namespace=nil)
|
66
|
+
# find_first_base(xpath_expr, namespace || default_namespaces)
|
67
|
+
# end
|
68
|
+
#
|
69
|
+
## alias_method :find_base, :find unless method_defined?(:find_base)
|
70
|
+
## alias_method :find, :find_with_default_ns
|
71
|
+
## alias_method :find_first_base, :find_first unless method_defined?(:find_first_base)
|
72
|
+
## alias_method :find_first, :find_first_with_default_ns
|
73
|
+
## alias :child? :first?
|
74
|
+
## alias :children? :first?
|
75
|
+
## alias :child :first
|
76
|
+
# end
|
77
|
+
# end
|
78
78
|
#end
|
data/lib/libxml/html_parser.rb
CHANGED
@@ -1,96 +1,96 @@
|
|
1
|
-
# encoding: UTF-8
|
2
|
-
|
3
|
-
module LibXML
|
4
|
-
module XML
|
5
|
-
class HTMLParser
|
6
|
-
# call-seq:
|
7
|
-
# XML::HTMLParser.file(path) -> XML::HTMLParser
|
8
|
-
# XML::HTMLParser.file(path, encoding: XML::Encoding::UTF_8,
|
9
|
-
# options: XML::HTMLParser::Options::NOENT) -> XML::HTMLParser
|
10
|
-
#
|
11
|
-
# Creates a new parser by parsing the specified file or uri.
|
12
|
-
#
|
13
|
-
# Parameters:
|
14
|
-
#
|
15
|
-
# path - Path to file to parse
|
16
|
-
# encoding - The document encoding, defaults to nil. Valid values
|
17
|
-
# are the encoding constants defined on XML::Encoding.
|
18
|
-
# options - Parser options. Valid values are the constants defined on
|
19
|
-
# XML::HTMLParser::Options. Mutliple options can be combined
|
20
|
-
# by using Bitwise OR (|).
|
21
|
-
def self.file(path, encoding: nil, options: nil)
|
22
|
-
context = XML::HTMLParser::Context.file(path)
|
23
|
-
context.encoding = encoding if encoding
|
24
|
-
context.options = options if options
|
25
|
-
self.new(context)
|
26
|
-
end
|
27
|
-
|
28
|
-
# call-seq:
|
29
|
-
# XML::HTMLParser.io(io) -> XML::HTMLParser
|
30
|
-
# XML::HTMLParser.io(io, encoding: XML::Encoding::UTF_8,
|
31
|
-
# options: XML::HTMLParser::Options::NOENT
|
32
|
-
# base_uri: "http://libxml.org") -> XML::HTMLParser
|
33
|
-
#
|
34
|
-
# Creates a new reader by parsing the specified io object.
|
35
|
-
#
|
36
|
-
# Parameters:
|
37
|
-
#
|
38
|
-
# io - io object that contains the xml to parser
|
39
|
-
# base_uri - The base url for the parsed document.
|
40
|
-
# encoding - The document encoding, defaults to nil. Valid values
|
41
|
-
# are the encoding constants defined on XML::Encoding.
|
42
|
-
# options - Parser options. Valid values are the constants defined on
|
43
|
-
# XML::HTMLParser::Options. Mutliple options can be combined
|
44
|
-
# by using Bitwise OR (|).
|
45
|
-
def self.io(io, base_uri: nil, encoding: nil, options: nil)
|
46
|
-
context = XML::HTMLParser::Context.io(io)
|
47
|
-
context.base_uri = base_uri if base_uri
|
48
|
-
context.encoding = encoding if encoding
|
49
|
-
context.options = options if options
|
50
|
-
self.new(context)
|
51
|
-
end
|
52
|
-
|
53
|
-
# call-seq:
|
54
|
-
# XML::HTMLParser.string(string)
|
55
|
-
# XML::HTMLParser.string(string, encoding: XML::Encoding::UTF_8,
|
56
|
-
# options: XML::HTMLParser::Options::NOENT
|
57
|
-
# base_uri: "http://libxml.org") -> XML::HTMLParser
|
58
|
-
#
|
59
|
-
# Creates a new parser by parsing the specified string.
|
60
|
-
#
|
61
|
-
# Parameters:
|
62
|
-
#
|
63
|
-
# string - String to parse
|
64
|
-
# base_uri - The base url for the parsed document.
|
65
|
-
# encoding - The document encoding, defaults to nil. Valid values
|
66
|
-
# are the encoding constants defined on XML::Encoding.
|
67
|
-
# options - Parser options. Valid values are the constants defined on
|
68
|
-
# XML::HTMLParser::Options. Mutliple options can be combined
|
69
|
-
# by using Bitwise OR (|).
|
70
|
-
def self.string(string, base_uri: nil, encoding: nil, options: nil)
|
71
|
-
context = XML::HTMLParser::Context.string(string)
|
72
|
-
context.base_uri = base_uri if base_uri
|
73
|
-
context.encoding = encoding if encoding
|
74
|
-
context.options = options if options
|
75
|
-
self.new(context)
|
76
|
-
end
|
77
|
-
|
78
|
-
# :enddoc:
|
79
|
-
|
80
|
-
def file=(value)
|
81
|
-
warn("XML::HTMLParser#file is deprecated. Use XML::HTMLParser.file instead")
|
82
|
-
@context = XML::HTMLParser::Context.file(value)
|
83
|
-
end
|
84
|
-
|
85
|
-
def io=(value)
|
86
|
-
warn("XML::HTMLParser#io is deprecated. Use XML::HTMLParser.io instead")
|
87
|
-
@context = XML::HTMLParser::Context.io(value)
|
88
|
-
end
|
89
|
-
|
90
|
-
def string=(value)
|
91
|
-
warn("XML::HTMLParser#string is deprecated. Use XML::HTMLParser.string instead")
|
92
|
-
@context = XML::HTMLParser::Context.string(value)
|
93
|
-
end
|
94
|
-
end
|
95
|
-
end
|
96
|
-
end
|
1
|
+
# encoding: UTF-8
|
2
|
+
|
3
|
+
module LibXML
|
4
|
+
module XML
|
5
|
+
class HTMLParser
|
6
|
+
# call-seq:
|
7
|
+
# XML::HTMLParser.file(path) -> XML::HTMLParser
|
8
|
+
# XML::HTMLParser.file(path, encoding: XML::Encoding::UTF_8,
|
9
|
+
# options: XML::HTMLParser::Options::NOENT) -> XML::HTMLParser
|
10
|
+
#
|
11
|
+
# Creates a new parser by parsing the specified file or uri.
|
12
|
+
#
|
13
|
+
# Parameters:
|
14
|
+
#
|
15
|
+
# path - Path to file to parse
|
16
|
+
# encoding - The document encoding, defaults to nil. Valid values
|
17
|
+
# are the encoding constants defined on XML::Encoding.
|
18
|
+
# options - Parser options. Valid values are the constants defined on
|
19
|
+
# XML::HTMLParser::Options. Mutliple options can be combined
|
20
|
+
# by using Bitwise OR (|).
|
21
|
+
def self.file(path, encoding: nil, options: nil)
|
22
|
+
context = XML::HTMLParser::Context.file(path)
|
23
|
+
context.encoding = encoding if encoding
|
24
|
+
context.options = options if options
|
25
|
+
self.new(context)
|
26
|
+
end
|
27
|
+
|
28
|
+
# call-seq:
|
29
|
+
# XML::HTMLParser.io(io) -> XML::HTMLParser
|
30
|
+
# XML::HTMLParser.io(io, encoding: XML::Encoding::UTF_8,
|
31
|
+
# options: XML::HTMLParser::Options::NOENT
|
32
|
+
# base_uri: "http://libxml.org") -> XML::HTMLParser
|
33
|
+
#
|
34
|
+
# Creates a new reader by parsing the specified io object.
|
35
|
+
#
|
36
|
+
# Parameters:
|
37
|
+
#
|
38
|
+
# io - io object that contains the xml to parser
|
39
|
+
# base_uri - The base url for the parsed document.
|
40
|
+
# encoding - The document encoding, defaults to nil. Valid values
|
41
|
+
# are the encoding constants defined on XML::Encoding.
|
42
|
+
# options - Parser options. Valid values are the constants defined on
|
43
|
+
# XML::HTMLParser::Options. Mutliple options can be combined
|
44
|
+
# by using Bitwise OR (|).
|
45
|
+
def self.io(io, base_uri: nil, encoding: nil, options: nil)
|
46
|
+
context = XML::HTMLParser::Context.io(io)
|
47
|
+
context.base_uri = base_uri if base_uri
|
48
|
+
context.encoding = encoding if encoding
|
49
|
+
context.options = options if options
|
50
|
+
self.new(context)
|
51
|
+
end
|
52
|
+
|
53
|
+
# call-seq:
|
54
|
+
# XML::HTMLParser.string(string)
|
55
|
+
# XML::HTMLParser.string(string, encoding: XML::Encoding::UTF_8,
|
56
|
+
# options: XML::HTMLParser::Options::NOENT
|
57
|
+
# base_uri: "http://libxml.org") -> XML::HTMLParser
|
58
|
+
#
|
59
|
+
# Creates a new parser by parsing the specified string.
|
60
|
+
#
|
61
|
+
# Parameters:
|
62
|
+
#
|
63
|
+
# string - String to parse
|
64
|
+
# base_uri - The base url for the parsed document.
|
65
|
+
# encoding - The document encoding, defaults to nil. Valid values
|
66
|
+
# are the encoding constants defined on XML::Encoding.
|
67
|
+
# options - Parser options. Valid values are the constants defined on
|
68
|
+
# XML::HTMLParser::Options. Mutliple options can be combined
|
69
|
+
# by using Bitwise OR (|).
|
70
|
+
def self.string(string, base_uri: nil, encoding: nil, options: nil)
|
71
|
+
context = XML::HTMLParser::Context.string(string)
|
72
|
+
context.base_uri = base_uri if base_uri
|
73
|
+
context.encoding = encoding if encoding
|
74
|
+
context.options = options if options
|
75
|
+
self.new(context)
|
76
|
+
end
|
77
|
+
|
78
|
+
# :enddoc:
|
79
|
+
|
80
|
+
def file=(value)
|
81
|
+
warn("XML::HTMLParser#file is deprecated. Use XML::HTMLParser.file instead")
|
82
|
+
@context = XML::HTMLParser::Context.file(value)
|
83
|
+
end
|
84
|
+
|
85
|
+
def io=(value)
|
86
|
+
warn("XML::HTMLParser#io is deprecated. Use XML::HTMLParser.io instead")
|
87
|
+
@context = XML::HTMLParser::Context.io(value)
|
88
|
+
end
|
89
|
+
|
90
|
+
def string=(value)
|
91
|
+
warn("XML::HTMLParser#string is deprecated. Use XML::HTMLParser.string instead")
|
92
|
+
@context = XML::HTMLParser::Context.string(value)
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
data/lib/libxml/namespace.rb
CHANGED
@@ -1,62 +1,62 @@
|
|
1
|
-
# encoding: UTF-8
|
2
|
-
|
3
|
-
module LibXML
|
4
|
-
module XML
|
5
|
-
class Namespace
|
6
|
-
include Comparable
|
7
|
-
include Enumerable
|
8
|
-
|
9
|
-
# call-seq:
|
10
|
-
# namespace1 <=> namespace2
|
11
|
-
#
|
12
|
-
# Compares two namespace objects. Namespace objects are
|
13
|
-
# considered equal if their prefixes and hrefs are the same.
|
14
|
-
def <=>(other)
|
15
|
-
if self.prefix.nil? and other.prefix.nil?
|
16
|
-
self.href <=> other.href
|
17
|
-
elsif self.prefix.nil?
|
18
|
-
-1
|
19
|
-
elsif other.prefix.nil?
|
20
|
-
1
|
21
|
-
else
|
22
|
-
self.prefix <=> other.prefix
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
# call-seq:
|
27
|
-
# namespace.each {|ns| .. }
|
28
|
-
#
|
29
|
-
# libxml stores namespaces in memory as a linked list.
|
30
|
-
# Use the each method to iterate over the list. Note
|
31
|
-
# the first namespace in the loop is the current namespace.
|
32
|
-
#
|
33
|
-
# Usage:
|
34
|
-
# namespace.each do |ns|
|
35
|
-
# ..
|
36
|
-
# end
|
37
|
-
def each
|
38
|
-
ns = self
|
39
|
-
|
40
|
-
while ns
|
41
|
-
yield ns
|
42
|
-
ns = ns.next
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
# call-seq:
|
47
|
-
# namespace.to_s -> "string"
|
48
|
-
#
|
49
|
-
# Returns the string represenation of a namespace.
|
50
|
-
#
|
51
|
-
# Usage:
|
52
|
-
# namespace.to_s
|
53
|
-
def to_s
|
54
|
-
if self.prefix
|
55
|
-
"#{self.prefix}:#{self.href}"
|
56
|
-
else
|
57
|
-
self.href
|
58
|
-
end
|
59
|
-
end
|
60
|
-
end
|
61
|
-
end
|
1
|
+
# encoding: UTF-8
|
2
|
+
|
3
|
+
module LibXML
|
4
|
+
module XML
|
5
|
+
class Namespace
|
6
|
+
include Comparable
|
7
|
+
include Enumerable
|
8
|
+
|
9
|
+
# call-seq:
|
10
|
+
# namespace1 <=> namespace2
|
11
|
+
#
|
12
|
+
# Compares two namespace objects. Namespace objects are
|
13
|
+
# considered equal if their prefixes and hrefs are the same.
|
14
|
+
def <=>(other)
|
15
|
+
if self.prefix.nil? and other.prefix.nil?
|
16
|
+
self.href <=> other.href
|
17
|
+
elsif self.prefix.nil?
|
18
|
+
-1
|
19
|
+
elsif other.prefix.nil?
|
20
|
+
1
|
21
|
+
else
|
22
|
+
self.prefix <=> other.prefix
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
# call-seq:
|
27
|
+
# namespace.each {|ns| .. }
|
28
|
+
#
|
29
|
+
# libxml stores namespaces in memory as a linked list.
|
30
|
+
# Use the each method to iterate over the list. Note
|
31
|
+
# the first namespace in the loop is the current namespace.
|
32
|
+
#
|
33
|
+
# Usage:
|
34
|
+
# namespace.each do |ns|
|
35
|
+
# ..
|
36
|
+
# end
|
37
|
+
def each
|
38
|
+
ns = self
|
39
|
+
|
40
|
+
while ns
|
41
|
+
yield ns
|
42
|
+
ns = ns.next
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
# call-seq:
|
47
|
+
# namespace.to_s -> "string"
|
48
|
+
#
|
49
|
+
# Returns the string represenation of a namespace.
|
50
|
+
#
|
51
|
+
# Usage:
|
52
|
+
# namespace.to_s
|
53
|
+
def to_s
|
54
|
+
if self.prefix
|
55
|
+
"#{self.prefix}:#{self.href}"
|
56
|
+
else
|
57
|
+
self.href
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
62
|
end
|
data/lib/libxml/namespaces.rb
CHANGED
@@ -1,38 +1,38 @@
|
|
1
|
-
# encoding: UTF-8
|
2
|
-
|
3
|
-
module LibXML
|
4
|
-
module XML
|
5
|
-
class Namespaces
|
6
|
-
# call-seq:
|
7
|
-
# namespace.default -> XML::Namespace
|
8
|
-
#
|
9
|
-
# Returns the default namespace for this node or nil.
|
10
|
-
#
|
11
|
-
# Usage:
|
12
|
-
# doc = XML::Document.string('<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/"/>')
|
13
|
-
# ns = doc.root.namespaces.default_namespace
|
14
|
-
# assert_equal(ns.href, 'http://schemas.xmlsoap.org/soap/envelope/')
|
15
|
-
def default
|
16
|
-
find_by_prefix(nil)
|
17
|
-
end
|
18
|
-
|
19
|
-
# call-seq:
|
20
|
-
# namespace.default_prefix = "string"
|
21
|
-
#
|
22
|
-
# Assigns a name (prefix) to the default namespace.
|
23
|
-
# This makes it much easier to perform XML::XPath
|
24
|
-
# searches.
|
25
|
-
#
|
26
|
-
# Usage:
|
27
|
-
# doc = XML::Document.string('<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/"/>')
|
28
|
-
# doc.root.namespaces.default_prefix = 'soap'
|
29
|
-
# node = doc.root.find_first('soap:Envelope')
|
30
|
-
def default_prefix=(prefix)
|
31
|
-
# Find default prefix
|
32
|
-
ns = find_by_prefix(nil)
|
33
|
-
raise(ArgumentError, "No default namespace was found") unless ns
|
34
|
-
Namespace.new(self.node, prefix, ns.href)
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
1
|
+
# encoding: UTF-8
|
2
|
+
|
3
|
+
module LibXML
|
4
|
+
module XML
|
5
|
+
class Namespaces
|
6
|
+
# call-seq:
|
7
|
+
# namespace.default -> XML::Namespace
|
8
|
+
#
|
9
|
+
# Returns the default namespace for this node or nil.
|
10
|
+
#
|
11
|
+
# Usage:
|
12
|
+
# doc = XML::Document.string('<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/"/>')
|
13
|
+
# ns = doc.root.namespaces.default_namespace
|
14
|
+
# assert_equal(ns.href, 'http://schemas.xmlsoap.org/soap/envelope/')
|
15
|
+
def default
|
16
|
+
find_by_prefix(nil)
|
17
|
+
end
|
18
|
+
|
19
|
+
# call-seq:
|
20
|
+
# namespace.default_prefix = "string"
|
21
|
+
#
|
22
|
+
# Assigns a name (prefix) to the default namespace.
|
23
|
+
# This makes it much easier to perform XML::XPath
|
24
|
+
# searches.
|
25
|
+
#
|
26
|
+
# Usage:
|
27
|
+
# doc = XML::Document.string('<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/"/>')
|
28
|
+
# doc.root.namespaces.default_prefix = 'soap'
|
29
|
+
# node = doc.root.find_first('soap:Envelope')
|
30
|
+
def default_prefix=(prefix)
|
31
|
+
# Find default prefix
|
32
|
+
ns = find_by_prefix(nil)
|
33
|
+
raise(ArgumentError, "No default namespace was found") unless ns
|
34
|
+
Namespace.new(self.node, prefix, ns.href)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
38
|
end
|