libxml-ruby 4.1.2 → 6.0.0
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 → CHANGELOG.md} +875 -887
- data/LICENSE +20 -20
- data/README.md +67 -0
- data/Rakefile +77 -98
- data/ext/libxml/extconf.rb +39 -20
- data/ext/libxml/libxml.c +67 -79
- data/ext/libxml/ruby_libxml.h +43 -44
- data/ext/libxml/ruby_xml.c +556 -899
- data/ext/libxml/ruby_xml.h +9 -10
- data/ext/libxml/ruby_xml_attr.c +338 -333
- data/ext/libxml/ruby_xml_attr.h +13 -12
- data/ext/libxml/ruby_xml_attr_decl.c +19 -12
- data/ext/libxml/ruby_xml_attr_decl.h +11 -11
- data/ext/libxml/ruby_xml_attributes.c +18 -9
- data/ext/libxml/ruby_xml_attributes.h +17 -15
- data/ext/libxml/ruby_xml_document.c +1142 -1129
- data/ext/libxml/ruby_xml_document.h +12 -11
- data/ext/libxml/ruby_xml_dtd.c +287 -248
- data/ext/libxml/ruby_xml_dtd.h +10 -9
- data/ext/libxml/ruby_xml_encoding.c +250 -250
- data/ext/libxml/ruby_xml_encoding.h +20 -18
- data/ext/libxml/ruby_xml_error.c +1003 -996
- data/ext/libxml/ruby_xml_error.h +14 -14
- data/ext/libxml/ruby_xml_html_parser.c +91 -91
- data/ext/libxml/ruby_xml_html_parser.h +10 -10
- data/ext/libxml/ruby_xml_html_parser_context.c +364 -337
- data/ext/libxml/ruby_xml_html_parser_context.h +11 -10
- data/ext/libxml/ruby_xml_html_parser_options.c +48 -48
- data/ext/libxml/ruby_xml_html_parser_options.h +10 -10
- data/ext/libxml/ruby_xml_input_cbg.c +216 -188
- data/ext/libxml/ruby_xml_input_cbg.h +20 -20
- data/ext/libxml/ruby_xml_io.c +49 -47
- data/ext/libxml/ruby_xml_io.h +10 -10
- data/ext/libxml/ruby_xml_namespace.c +159 -154
- data/ext/libxml/ruby_xml_namespace.h +11 -10
- data/ext/libxml/ruby_xml_namespaces.c +313 -293
- data/ext/libxml/ruby_xml_namespaces.h +9 -9
- data/ext/libxml/ruby_xml_node.c +1433 -1398
- data/ext/libxml/ruby_xml_node.h +15 -13
- data/ext/libxml/ruby_xml_parser.c +91 -91
- data/ext/libxml/ruby_xml_parser.h +10 -10
- data/ext/libxml/ruby_xml_parser_context.c +1016 -1001
- data/ext/libxml/ruby_xml_parser_context.h +11 -10
- data/ext/libxml/ruby_xml_parser_options.c +74 -66
- data/ext/libxml/ruby_xml_parser_options.h +10 -10
- data/ext/libxml/ruby_xml_reader.c +40 -31
- data/ext/libxml/ruby_xml_reader.h +14 -14
- data/ext/libxml/ruby_xml_registry.c +31 -0
- data/ext/libxml/ruby_xml_registry.h +22 -0
- data/ext/libxml/ruby_xml_relaxng.c +21 -5
- data/ext/libxml/ruby_xml_relaxng.h +9 -8
- data/ext/libxml/ruby_xml_sax2_handler.c +326 -326
- data/ext/libxml/ruby_xml_sax2_handler.h +10 -10
- data/ext/libxml/ruby_xml_sax_parser.c +108 -116
- data/ext/libxml/ruby_xml_sax_parser.h +10 -10
- data/ext/libxml/ruby_xml_schema.c +22 -15
- data/ext/libxml/ruby_xml_schema.h +26 -25
- data/ext/libxml/ruby_xml_schema_attribute.c +7 -7
- data/ext/libxml/ruby_xml_schema_attribute.h +37 -37
- data/ext/libxml/ruby_xml_schema_element.c +8 -8
- data/ext/libxml/ruby_xml_schema_element.h +11 -11
- data/ext/libxml/ruby_xml_schema_facet.c +50 -50
- data/ext/libxml/ruby_xml_schema_facet.h +9 -9
- data/ext/libxml/ruby_xml_schema_type.c +12 -19
- data/ext/libxml/ruby_xml_schema_type.h +9 -9
- data/ext/libxml/ruby_xml_version.h +9 -9
- data/ext/libxml/ruby_xml_writer.c +183 -185
- data/ext/libxml/ruby_xml_writer.h +6 -6
- data/ext/libxml/ruby_xml_xinclude.c +20 -20
- data/ext/libxml/ruby_xml_xinclude.h +11 -11
- data/ext/libxml/ruby_xml_xpath.c +195 -195
- data/ext/libxml/ruby_xml_xpath.h +15 -15
- data/ext/libxml/ruby_xml_xpath_context.c +408 -362
- data/ext/libxml/ruby_xml_xpath_context.h +9 -9
- data/ext/libxml/ruby_xml_xpath_expression.c +12 -6
- data/ext/libxml/ruby_xml_xpath_expression.h +11 -10
- data/ext/libxml/ruby_xml_xpath_object.c +69 -54
- data/ext/libxml/ruby_xml_xpath_object.h +19 -17
- data/ext/vc/libxml_ruby/libxml_ruby.vcxproj +271 -0
- data/ext/xcode/libxml-ruby.xcodeproj/project.pbxproj +633 -0
- data/ext/xcode/libxml-ruby.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- data/ext/xcode/libxml-ruby.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- data/ext/xcode/libxml-ruby.xcodeproj/xcshareddata/xcschemes/libxml-ruby.xcscheme +80 -0
- 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 +165 -194
- data/lib/libxml/error.rb +122 -95
- data/lib/libxml/html_parser.rb +80 -96
- data/lib/libxml/namespace.rb +61 -61
- data/lib/libxml/namespaces.rb +37 -37
- data/lib/libxml/node.rb +321 -323
- data/lib/libxml/parser.rb +94 -100
- data/lib/libxml/sax_callbacks.rb +179 -179
- data/lib/libxml/sax_parser.rb +40 -40
- data/lib/libxml/schema/attribute.rb +27 -19
- data/lib/libxml/schema/element.rb +20 -0
- data/lib/libxml/schema/type.rb +44 -21
- data/lib/libxml/schema.rb +47 -47
- data/lib/libxml/tree.rb +28 -28
- data/lib/libxml-ruby.rb +30 -30
- data/libxml-ruby.gemspec +46 -48
- data/test/c14n/result/1-1-without-comments/example-1 +3 -3
- data/test/c14n/result/1-1-without-comments/example-2 +10 -10
- data/test/c14n/result/1-1-without-comments/example-3 +13 -13
- data/test/c14n/result/1-1-without-comments/example-4 +8 -8
- data/test/c14n/result/1-1-without-comments/example-5 +2 -2
- data/test/c14n/result/with-comments/example-1 +5 -5
- data/test/c14n/result/with-comments/example-2 +10 -10
- data/test/c14n/result/with-comments/example-3 +13 -13
- data/test/c14n/result/with-comments/example-4 +8 -8
- data/test/c14n/result/with-comments/example-5 +3 -3
- data/test/c14n/result/without-comments/example-1 +3 -3
- data/test/c14n/result/without-comments/example-2 +10 -10
- data/test/c14n/result/without-comments/example-3 +13 -13
- data/test/c14n/result/without-comments/example-4 +8 -8
- data/test/c14n/result/without-comments/example-5 +2 -2
- data/test/test_attr.rb +179 -180
- data/test/test_attr_decl.rb +131 -131
- data/test/test_attributes.rb +135 -135
- data/test/test_canonicalize.rb +122 -120
- data/test/test_document.rb +138 -132
- data/test/test_document_write.rb +142 -145
- data/test/test_dtd.rb +134 -129
- data/test/test_encoding.rb +126 -129
- data/test/test_encoding_sax.rb +114 -114
- data/test/test_error.rb +197 -194
- data/test/test_helper.rb +21 -13
- data/test/test_html_parser.rb +166 -162
- data/test/test_html_parser_context.rb +22 -22
- data/test/test_input_callbacks.rb +36 -0
- data/test/test_namespace.rb +58 -60
- data/test/test_namespaces.rb +200 -200
- data/test/test_node.rb +251 -237
- data/test/test_node_cdata.rb +50 -50
- data/test/test_node_comment.rb +32 -32
- data/test/test_node_copy.rb +40 -40
- data/test/test_node_edit.rb +176 -158
- data/test/test_node_pi.rb +37 -37
- data/test/test_node_text.rb +69 -69
- data/test/test_node_write.rb +93 -96
- data/test/test_node_xlink.rb +28 -28
- data/test/test_parser.rb +297 -324
- data/test/test_parser_context.rb +198 -198
- data/test/test_properties.rb +38 -38
- data/test/test_reader.rb +413 -364
- data/test/test_relaxng.rb +59 -53
- data/test/test_sax_parser.rb +345 -326
- data/test/test_schema.rb +28 -0
- data/test/test_traversal.rb +152 -152
- data/test/test_writer.rb +469 -468
- data/test/test_xinclude.rb +20 -20
- data/test/test_xml.rb +164 -267
- data/test/test_xpath.rb +244 -244
- data/test/test_xpath_context.rb +87 -87
- data/test/test_xpath_expression.rb +37 -37
- metadata +49 -31
- data/README.rdoc +0 -217
- data/ext/libxml/extconf.h +0 -3
- data/ext/libxml/ruby_xml_cbg.c +0 -85
- data/lib/libxml/hpricot.rb +0 -78
- data/lib/libxml.rb +0 -5
- data/lib/xml/libxml.rb +0 -10
- data/lib/xml.rb +0 -14
- data/script/benchmark/depixelate +0 -634
- data/script/benchmark/hamlet.xml +0 -9055
- data/script/benchmark/parsecount +0 -170
- data/script/benchmark/sock_entries.xml +0 -507
- data/script/benchmark/throughput +0 -41
- data/script/test +0 -6
- data/test/test_deprecated_require.rb +0 -12
data/lib/libxml/html_parser.rb
CHANGED
|
@@ -1,96 +1,80 @@
|
|
|
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, :
|
|
9
|
-
#
|
|
10
|
-
#
|
|
11
|
-
# Creates a new parser by parsing the specified file or uri.
|
|
12
|
-
#
|
|
13
|
-
#
|
|
14
|
-
#
|
|
15
|
-
#
|
|
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, options
|
|
22
|
-
context = XML::HTMLParser::Context.file(path)
|
|
23
|
-
context.encoding =
|
|
24
|
-
context.options = options
|
|
25
|
-
self.new(context)
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
# call-seq:
|
|
29
|
-
# XML::HTMLParser.io(io) -> XML::HTMLParser
|
|
30
|
-
# XML::HTMLParser.io(io, :
|
|
31
|
-
#
|
|
32
|
-
#
|
|
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, options
|
|
46
|
-
context = XML::HTMLParser::Context.io(io)
|
|
47
|
-
context.base_uri =
|
|
48
|
-
context.encoding =
|
|
49
|
-
context.options = options
|
|
50
|
-
self.new(context)
|
|
51
|
-
end
|
|
52
|
-
|
|
53
|
-
# call-seq:
|
|
54
|
-
# XML::HTMLParser.string(string)
|
|
55
|
-
# XML::HTMLParser.string(string, :
|
|
56
|
-
#
|
|
57
|
-
#
|
|
58
|
-
#
|
|
59
|
-
# Creates a new parser by parsing the specified string.
|
|
60
|
-
#
|
|
61
|
-
#
|
|
62
|
-
#
|
|
63
|
-
#
|
|
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, options
|
|
71
|
-
context = XML::HTMLParser::Context.string(string)
|
|
72
|
-
context.base_uri =
|
|
73
|
-
context.encoding =
|
|
74
|
-
context.options = options
|
|
75
|
-
self.new(context)
|
|
76
|
-
end
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
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
|
+
end
|
|
79
|
+
end
|
|
80
|
+
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
|