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.
Files changed (172) hide show
  1. checksums.yaml +4 -4
  2. data/{HISTORY → CHANGELOG.md} +875 -887
  3. data/LICENSE +20 -20
  4. data/README.md +67 -0
  5. data/Rakefile +77 -98
  6. data/ext/libxml/extconf.rb +39 -20
  7. data/ext/libxml/libxml.c +67 -79
  8. data/ext/libxml/ruby_libxml.h +43 -44
  9. data/ext/libxml/ruby_xml.c +556 -899
  10. data/ext/libxml/ruby_xml.h +9 -10
  11. data/ext/libxml/ruby_xml_attr.c +338 -333
  12. data/ext/libxml/ruby_xml_attr.h +13 -12
  13. data/ext/libxml/ruby_xml_attr_decl.c +19 -12
  14. data/ext/libxml/ruby_xml_attr_decl.h +11 -11
  15. data/ext/libxml/ruby_xml_attributes.c +18 -9
  16. data/ext/libxml/ruby_xml_attributes.h +17 -15
  17. data/ext/libxml/ruby_xml_document.c +1142 -1129
  18. data/ext/libxml/ruby_xml_document.h +12 -11
  19. data/ext/libxml/ruby_xml_dtd.c +287 -248
  20. data/ext/libxml/ruby_xml_dtd.h +10 -9
  21. data/ext/libxml/ruby_xml_encoding.c +250 -250
  22. data/ext/libxml/ruby_xml_encoding.h +20 -18
  23. data/ext/libxml/ruby_xml_error.c +1003 -996
  24. data/ext/libxml/ruby_xml_error.h +14 -14
  25. data/ext/libxml/ruby_xml_html_parser.c +91 -91
  26. data/ext/libxml/ruby_xml_html_parser.h +10 -10
  27. data/ext/libxml/ruby_xml_html_parser_context.c +364 -337
  28. data/ext/libxml/ruby_xml_html_parser_context.h +11 -10
  29. data/ext/libxml/ruby_xml_html_parser_options.c +48 -48
  30. data/ext/libxml/ruby_xml_html_parser_options.h +10 -10
  31. data/ext/libxml/ruby_xml_input_cbg.c +216 -188
  32. data/ext/libxml/ruby_xml_input_cbg.h +20 -20
  33. data/ext/libxml/ruby_xml_io.c +49 -47
  34. data/ext/libxml/ruby_xml_io.h +10 -10
  35. data/ext/libxml/ruby_xml_namespace.c +159 -154
  36. data/ext/libxml/ruby_xml_namespace.h +11 -10
  37. data/ext/libxml/ruby_xml_namespaces.c +313 -293
  38. data/ext/libxml/ruby_xml_namespaces.h +9 -9
  39. data/ext/libxml/ruby_xml_node.c +1433 -1398
  40. data/ext/libxml/ruby_xml_node.h +15 -13
  41. data/ext/libxml/ruby_xml_parser.c +91 -91
  42. data/ext/libxml/ruby_xml_parser.h +10 -10
  43. data/ext/libxml/ruby_xml_parser_context.c +1016 -1001
  44. data/ext/libxml/ruby_xml_parser_context.h +11 -10
  45. data/ext/libxml/ruby_xml_parser_options.c +74 -66
  46. data/ext/libxml/ruby_xml_parser_options.h +10 -10
  47. data/ext/libxml/ruby_xml_reader.c +40 -31
  48. data/ext/libxml/ruby_xml_reader.h +14 -14
  49. data/ext/libxml/ruby_xml_registry.c +31 -0
  50. data/ext/libxml/ruby_xml_registry.h +22 -0
  51. data/ext/libxml/ruby_xml_relaxng.c +21 -5
  52. data/ext/libxml/ruby_xml_relaxng.h +9 -8
  53. data/ext/libxml/ruby_xml_sax2_handler.c +326 -326
  54. data/ext/libxml/ruby_xml_sax2_handler.h +10 -10
  55. data/ext/libxml/ruby_xml_sax_parser.c +108 -116
  56. data/ext/libxml/ruby_xml_sax_parser.h +10 -10
  57. data/ext/libxml/ruby_xml_schema.c +22 -15
  58. data/ext/libxml/ruby_xml_schema.h +26 -25
  59. data/ext/libxml/ruby_xml_schema_attribute.c +7 -7
  60. data/ext/libxml/ruby_xml_schema_attribute.h +37 -37
  61. data/ext/libxml/ruby_xml_schema_element.c +8 -8
  62. data/ext/libxml/ruby_xml_schema_element.h +11 -11
  63. data/ext/libxml/ruby_xml_schema_facet.c +50 -50
  64. data/ext/libxml/ruby_xml_schema_facet.h +9 -9
  65. data/ext/libxml/ruby_xml_schema_type.c +12 -19
  66. data/ext/libxml/ruby_xml_schema_type.h +9 -9
  67. data/ext/libxml/ruby_xml_version.h +9 -9
  68. data/ext/libxml/ruby_xml_writer.c +183 -185
  69. data/ext/libxml/ruby_xml_writer.h +6 -6
  70. data/ext/libxml/ruby_xml_xinclude.c +20 -20
  71. data/ext/libxml/ruby_xml_xinclude.h +11 -11
  72. data/ext/libxml/ruby_xml_xpath.c +195 -195
  73. data/ext/libxml/ruby_xml_xpath.h +15 -15
  74. data/ext/libxml/ruby_xml_xpath_context.c +408 -362
  75. data/ext/libxml/ruby_xml_xpath_context.h +9 -9
  76. data/ext/libxml/ruby_xml_xpath_expression.c +12 -6
  77. data/ext/libxml/ruby_xml_xpath_expression.h +11 -10
  78. data/ext/libxml/ruby_xml_xpath_object.c +69 -54
  79. data/ext/libxml/ruby_xml_xpath_object.h +19 -17
  80. data/ext/vc/libxml_ruby/libxml_ruby.vcxproj +271 -0
  81. data/ext/xcode/libxml-ruby.xcodeproj/project.pbxproj +633 -0
  82. data/ext/xcode/libxml-ruby.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  83. data/ext/xcode/libxml-ruby.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  84. data/ext/xcode/libxml-ruby.xcodeproj/xcshareddata/xcschemes/libxml-ruby.xcscheme +80 -0
  85. data/lib/libxml/attr.rb +122 -122
  86. data/lib/libxml/attr_decl.rb +80 -80
  87. data/lib/libxml/attributes.rb +13 -13
  88. data/lib/libxml/document.rb +165 -194
  89. data/lib/libxml/error.rb +122 -95
  90. data/lib/libxml/html_parser.rb +80 -96
  91. data/lib/libxml/namespace.rb +61 -61
  92. data/lib/libxml/namespaces.rb +37 -37
  93. data/lib/libxml/node.rb +321 -323
  94. data/lib/libxml/parser.rb +94 -100
  95. data/lib/libxml/sax_callbacks.rb +179 -179
  96. data/lib/libxml/sax_parser.rb +40 -40
  97. data/lib/libxml/schema/attribute.rb +27 -19
  98. data/lib/libxml/schema/element.rb +20 -0
  99. data/lib/libxml/schema/type.rb +44 -21
  100. data/lib/libxml/schema.rb +47 -47
  101. data/lib/libxml/tree.rb +28 -28
  102. data/lib/libxml-ruby.rb +30 -30
  103. data/libxml-ruby.gemspec +46 -48
  104. data/test/c14n/result/1-1-without-comments/example-1 +3 -3
  105. data/test/c14n/result/1-1-without-comments/example-2 +10 -10
  106. data/test/c14n/result/1-1-without-comments/example-3 +13 -13
  107. data/test/c14n/result/1-1-without-comments/example-4 +8 -8
  108. data/test/c14n/result/1-1-without-comments/example-5 +2 -2
  109. data/test/c14n/result/with-comments/example-1 +5 -5
  110. data/test/c14n/result/with-comments/example-2 +10 -10
  111. data/test/c14n/result/with-comments/example-3 +13 -13
  112. data/test/c14n/result/with-comments/example-4 +8 -8
  113. data/test/c14n/result/with-comments/example-5 +3 -3
  114. data/test/c14n/result/without-comments/example-1 +3 -3
  115. data/test/c14n/result/without-comments/example-2 +10 -10
  116. data/test/c14n/result/without-comments/example-3 +13 -13
  117. data/test/c14n/result/without-comments/example-4 +8 -8
  118. data/test/c14n/result/without-comments/example-5 +2 -2
  119. data/test/test_attr.rb +179 -180
  120. data/test/test_attr_decl.rb +131 -131
  121. data/test/test_attributes.rb +135 -135
  122. data/test/test_canonicalize.rb +122 -120
  123. data/test/test_document.rb +138 -132
  124. data/test/test_document_write.rb +142 -145
  125. data/test/test_dtd.rb +134 -129
  126. data/test/test_encoding.rb +126 -129
  127. data/test/test_encoding_sax.rb +114 -114
  128. data/test/test_error.rb +197 -194
  129. data/test/test_helper.rb +21 -13
  130. data/test/test_html_parser.rb +166 -162
  131. data/test/test_html_parser_context.rb +22 -22
  132. data/test/test_input_callbacks.rb +36 -0
  133. data/test/test_namespace.rb +58 -60
  134. data/test/test_namespaces.rb +200 -200
  135. data/test/test_node.rb +251 -237
  136. data/test/test_node_cdata.rb +50 -50
  137. data/test/test_node_comment.rb +32 -32
  138. data/test/test_node_copy.rb +40 -40
  139. data/test/test_node_edit.rb +176 -158
  140. data/test/test_node_pi.rb +37 -37
  141. data/test/test_node_text.rb +69 -69
  142. data/test/test_node_write.rb +93 -96
  143. data/test/test_node_xlink.rb +28 -28
  144. data/test/test_parser.rb +297 -324
  145. data/test/test_parser_context.rb +198 -198
  146. data/test/test_properties.rb +38 -38
  147. data/test/test_reader.rb +413 -364
  148. data/test/test_relaxng.rb +59 -53
  149. data/test/test_sax_parser.rb +345 -326
  150. data/test/test_schema.rb +28 -0
  151. data/test/test_traversal.rb +152 -152
  152. data/test/test_writer.rb +469 -468
  153. data/test/test_xinclude.rb +20 -20
  154. data/test/test_xml.rb +164 -267
  155. data/test/test_xpath.rb +244 -244
  156. data/test/test_xpath_context.rb +87 -87
  157. data/test/test_xpath_expression.rb +37 -37
  158. metadata +49 -31
  159. data/README.rdoc +0 -217
  160. data/ext/libxml/extconf.h +0 -3
  161. data/ext/libxml/ruby_xml_cbg.c +0 -85
  162. data/lib/libxml/hpricot.rb +0 -78
  163. data/lib/libxml.rb +0 -5
  164. data/lib/xml/libxml.rb +0 -10
  165. data/lib/xml.rb +0 -14
  166. data/script/benchmark/depixelate +0 -634
  167. data/script/benchmark/hamlet.xml +0 -9055
  168. data/script/benchmark/parsecount +0 -170
  169. data/script/benchmark/sock_entries.xml +0 -507
  170. data/script/benchmark/throughput +0 -41
  171. data/script/test +0 -6
  172. data/test/test_deprecated_require.rb +0 -12
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Workspace
3
+ version = "1.0">
4
+ <FileRef
5
+ location = "self:">
6
+ </FileRef>
7
+ </Workspace>
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>IDEDidComputeMac32BitWarning</key>
6
+ <true/>
7
+ </dict>
8
+ </plist>
@@ -0,0 +1,80 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Scheme
3
+ LastUpgradeVersion = "1530"
4
+ version = "1.7">
5
+ <BuildAction
6
+ parallelizeBuildables = "YES"
7
+ buildImplicitDependencies = "YES">
8
+ <BuildActionEntries>
9
+ <BuildActionEntry
10
+ buildForTesting = "YES"
11
+ buildForRunning = "YES"
12
+ buildForProfiling = "YES"
13
+ buildForArchiving = "YES"
14
+ buildForAnalyzing = "YES">
15
+ <BuildableReference
16
+ BuildableIdentifier = "primary"
17
+ BlueprintIdentifier = "C7F2B59A2B4B608E004E0A86"
18
+ BuildableName = "libxml_ruby.bundle"
19
+ BlueprintName = "libxml_ruby"
20
+ ReferencedContainer = "container:libxml-ruby.xcodeproj">
21
+ </BuildableReference>
22
+ </BuildActionEntry>
23
+ </BuildActionEntries>
24
+ </BuildAction>
25
+ <TestAction
26
+ buildConfiguration = "Debug"
27
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
28
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29
+ shouldUseLaunchSchemeArgsEnv = "YES"
30
+ shouldAutocreateTestPlan = "YES">
31
+ </TestAction>
32
+ <LaunchAction
33
+ buildConfiguration = "Debug"
34
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
35
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
36
+ launchStyle = "0"
37
+ useCustomWorkingDirectory = "NO"
38
+ ignoresPersistentStateOnLaunch = "NO"
39
+ debugDocumentVersioning = "YES"
40
+ debugServiceExtension = "internal"
41
+ allowLocationSimulation = "YES">
42
+ <PathRunnable
43
+ runnableDebuggingMode = "0"
44
+ FilePath = "/usr/local/Cellar/ruby/3.2.2_1/bin/ruby">
45
+ </PathRunnable>
46
+ <CommandLineArguments>
47
+ <CommandLineArgument
48
+ argument = "/usr/local/src/libxml-ruby/test/test_attr.rb"
49
+ isEnabled = "YES">
50
+ </CommandLineArgument>
51
+ </CommandLineArguments>
52
+ <LocationScenarioReference
53
+ identifier = "com.apple.dt.IDEFoundation.CurrentLocationScenarioIdentifier"
54
+ referenceType = "1">
55
+ </LocationScenarioReference>
56
+ </LaunchAction>
57
+ <ProfileAction
58
+ buildConfiguration = "Release"
59
+ shouldUseLaunchSchemeArgsEnv = "YES"
60
+ savedToolIdentifier = ""
61
+ useCustomWorkingDirectory = "NO"
62
+ debugDocumentVersioning = "YES">
63
+ <MacroExpansion>
64
+ <BuildableReference
65
+ BuildableIdentifier = "primary"
66
+ BlueprintIdentifier = "C7F2B59A2B4B608E004E0A86"
67
+ BuildableName = "libxml_ruby.bundle"
68
+ BlueprintName = "libxml_ruby"
69
+ ReferencedContainer = "container:libxml-ruby.xcodeproj">
70
+ </BuildableReference>
71
+ </MacroExpansion>
72
+ </ProfileAction>
73
+ <AnalyzeAction
74
+ buildConfiguration = "Debug">
75
+ </AnalyzeAction>
76
+ <ArchiveAction
77
+ buildConfiguration = "Release"
78
+ revealArchiveInOrganizer = "YES">
79
+ </ArchiveAction>
80
+ </Scheme>
data/lib/libxml/attr.rb CHANGED
@@ -1,123 +1,123 @@
1
- # encoding: UTF-8
2
-
3
- module LibXML
4
- module XML
5
- class Attr
6
- include Enumerable
7
-
8
- # call-seq:
9
- # attr.child? -> (true|false)
10
- #
11
- # Returns whether this attribute has child attributes.
12
- #
13
- def child?
14
- not self.children.nil?
15
- end
16
-
17
- # call-seq:
18
- # attr.doc? -> (true|false)
19
- #
20
- # Determine whether this attribute is associated with an
21
- # XML::Document.
22
- def doc?
23
- not self.doc.nil?
24
- end
25
-
26
- # call-seq:
27
- # attr.last? -> (true|false)
28
- #
29
- # Determine whether this is the last attribute.
30
- def last?
31
- self.last.nil?
32
- end
33
-
34
- # call-seq:
35
- # attr.next? -> (true|false)
36
- #
37
- # Determine whether there is a next attribute.
38
- def next?
39
- not self.next.nil?
40
- end
41
-
42
- # call-seq:
43
- # attr.ns? -> (true|false)
44
- #
45
- # Determine whether this attribute has an associated
46
- # namespace.
47
- def ns?
48
- not self.ns.nil?
49
- end
50
-
51
- # call-seq:
52
- # attr.namespacess -> XML::Namespaces
53
- #
54
- # Returns this node's XML::Namespaces object,
55
- # which is used to access the namespaces
56
- # associated with this node.
57
- def namespaces
58
- @namespaces ||= XML::Namespaces.new(self)
59
- end
60
-
61
- #
62
- # call-seq:
63
- # attr.parent? -> (true|false)
64
- #
65
- # Determine whether this attribute has a parent.
66
- def parent?
67
- not self.parent.nil?
68
- end
69
-
70
- # call-seq:
71
- # attr.prev? -> (true|false)
72
- #
73
- # Determine whether there is a previous attribute.
74
- def prev?
75
- not self.prev.nil?
76
- end
77
-
78
- # Returns this node's type name
79
- def node_type_name
80
- if node_type == Node::ATTRIBUTE_NODE
81
- 'attribute'
82
- else
83
- raise(UnknownType, "Unknown node type: %n", node.node_type);
84
- end
85
- end
86
-
87
- # Iterates nodes and attributes
88
- def siblings(node, &blk)
89
- if n = node
90
- loop do
91
- blk.call(n)
92
- break unless n = n.next
93
- end
94
- end
95
- end
96
-
97
- def each_sibling(&blk)
98
- siblings(self,&blk)
99
- end
100
-
101
- alias :each_attr :each_sibling
102
- alias :each :each_sibling
103
-
104
- def to_h
105
- inject({}) do |h,a|
106
- h[a.name] = a.value
107
- h
108
- end
109
- end
110
-
111
- def to_a
112
- inject([]) do |ary,a|
113
- ary << [a.name, a.value]
114
- ary
115
- end
116
- end
117
-
118
- def to_s
119
- "#{name} = #{value}"
120
- end
121
- end
122
- end
1
+ # encoding: UTF-8
2
+
3
+ module LibXML
4
+ module XML
5
+ class Attr
6
+ include Enumerable
7
+
8
+ # call-seq:
9
+ # attr.child? -> (true|false)
10
+ #
11
+ # Returns whether this attribute has child attributes.
12
+ #
13
+ def child?
14
+ not self.children.nil?
15
+ end
16
+
17
+ # call-seq:
18
+ # attr.doc? -> (true|false)
19
+ #
20
+ # Determine whether this attribute is associated with an
21
+ # XML::Document.
22
+ def doc?
23
+ not self.doc.nil?
24
+ end
25
+
26
+ # call-seq:
27
+ # attr.last? -> (true|false)
28
+ #
29
+ # Determine whether this is the last attribute.
30
+ def last?
31
+ self.last.nil?
32
+ end
33
+
34
+ # call-seq:
35
+ # attr.next? -> (true|false)
36
+ #
37
+ # Determine whether there is a next attribute.
38
+ def next?
39
+ not self.next.nil?
40
+ end
41
+
42
+ # call-seq:
43
+ # attr.ns? -> (true|false)
44
+ #
45
+ # Determine whether this attribute has an associated
46
+ # namespace.
47
+ def ns?
48
+ not self.ns.nil?
49
+ end
50
+
51
+ # call-seq:
52
+ # attr.namespacess -> XML::Namespaces
53
+ #
54
+ # Returns this node's XML::Namespaces object,
55
+ # which is used to access the namespaces
56
+ # associated with this node.
57
+ def namespaces
58
+ @namespaces ||= XML::Namespaces.new(self)
59
+ end
60
+
61
+ #
62
+ # call-seq:
63
+ # attr.parent? -> (true|false)
64
+ #
65
+ # Determine whether this attribute has a parent.
66
+ def parent?
67
+ not self.parent.nil?
68
+ end
69
+
70
+ # call-seq:
71
+ # attr.prev? -> (true|false)
72
+ #
73
+ # Determine whether there is a previous attribute.
74
+ def prev?
75
+ not self.prev.nil?
76
+ end
77
+
78
+ # Returns this node's type name
79
+ def node_type_name
80
+ if node_type == Node::ATTRIBUTE_NODE
81
+ 'attribute'
82
+ else
83
+ raise(UnknownType, "Unknown node type: %n", node.node_type);
84
+ end
85
+ end
86
+
87
+ # Iterates nodes and attributes
88
+ def siblings(node, &blk)
89
+ if n = node
90
+ loop do
91
+ blk.call(n)
92
+ break unless n = n.next
93
+ end
94
+ end
95
+ end
96
+
97
+ def each_sibling(&blk)
98
+ siblings(self,&blk)
99
+ end
100
+
101
+ alias :each_attr :each_sibling
102
+ alias :each :each_sibling
103
+
104
+ def to_h
105
+ inject({}) do |h,a|
106
+ h[a.name] = a.value
107
+ h
108
+ end
109
+ end
110
+
111
+ def to_a
112
+ inject([]) do |ary,a|
113
+ ary << [a.name, a.value]
114
+ ary
115
+ end
116
+ end
117
+
118
+ def to_s
119
+ "#{name} = #{value}"
120
+ end
121
+ end
122
+ end
123
123
  end
@@ -1,80 +1,80 @@
1
- # encoding: UTF-8
2
-
3
- module LibXML
4
- module XML
5
- class AttrDecl
6
- include Enumerable
7
-
8
- # call-seq:
9
- # attr_decl.child -> nil
10
- #
11
- # Obtain this attribute declaration's child attribute(s).
12
- # It will always be nil.
13
- def child
14
- nil
15
- end
16
-
17
- # call-seq:
18
- # attr_decl.child? -> (true|false)
19
- #
20
- # Returns whether this attribute declaration has child attributes.
21
- #
22
- def child?
23
- not self.children.nil?
24
- end
25
-
26
- # call-seq:
27
- # attr_decl.doc? -> (true|false)
28
- #
29
- # Determine whether this attribute declaration is associated with an
30
- # XML::Document.
31
- def doc?
32
- not self.doc.nil?
33
- end
34
-
35
- # call-seq:
36
- # attr_decl.next? -> (true|false)
37
- #
38
- # Determine whether there is a next attribute declaration.
39
- def next?
40
- not self.next.nil?
41
- end
42
-
43
- # call-seq:
44
- # attr_decl.parent? -> (true|false)
45
- #
46
- # Determine whether this attribute declaration has a parent .
47
- def parent?
48
- not self.parent.nil?
49
- end
50
-
51
- # call-seq:
52
- # attr_decl.prev? -> (true|false)
53
- #
54
- # Determine whether there is a previous attribute declaration.
55
- def prev?
56
- not self.prev.nil?
57
- end
58
-
59
- # call-seq:
60
- # attr_decl.node_type_name -> 'attribute declaration'
61
- #
62
- # Returns this attribute declaration's node type name.
63
- def node_type_name
64
- if node_type == Node::ATTRIBUTE_DECL
65
- 'attribute declaration'
66
- else
67
- raise(UnknownType, "Unknown node type: %n", node.node_type);
68
- end
69
- end
70
-
71
- # call-seq:
72
- # attr_decl.to_s -> string
73
- #
74
- # Returns a string representation of this attribute declaration.
75
- def to_s
76
- "#{name} = #{value}"
77
- end
78
- end
79
- end
80
- end
1
+ # encoding: UTF-8
2
+
3
+ module LibXML
4
+ module XML
5
+ class AttrDecl
6
+ include Enumerable
7
+
8
+ # call-seq:
9
+ # attr_decl.child -> nil
10
+ #
11
+ # Obtain this attribute declaration's child attribute(s).
12
+ # It will always be nil.
13
+ def child
14
+ nil
15
+ end
16
+
17
+ # call-seq:
18
+ # attr_decl.child? -> (true|false)
19
+ #
20
+ # Returns whether this attribute declaration has child attributes.
21
+ #
22
+ def child?
23
+ not self.children.nil?
24
+ end
25
+
26
+ # call-seq:
27
+ # attr_decl.doc? -> (true|false)
28
+ #
29
+ # Determine whether this attribute declaration is associated with an
30
+ # XML::Document.
31
+ def doc?
32
+ not self.doc.nil?
33
+ end
34
+
35
+ # call-seq:
36
+ # attr_decl.next? -> (true|false)
37
+ #
38
+ # Determine whether there is a next attribute declaration.
39
+ def next?
40
+ not self.next.nil?
41
+ end
42
+
43
+ # call-seq:
44
+ # attr_decl.parent? -> (true|false)
45
+ #
46
+ # Determine whether this attribute declaration has a parent .
47
+ def parent?
48
+ not self.parent.nil?
49
+ end
50
+
51
+ # call-seq:
52
+ # attr_decl.prev? -> (true|false)
53
+ #
54
+ # Determine whether there is a previous attribute declaration.
55
+ def prev?
56
+ not self.prev.nil?
57
+ end
58
+
59
+ # call-seq:
60
+ # attr_decl.node_type_name -> 'attribute declaration'
61
+ #
62
+ # Returns this attribute declaration's node type name.
63
+ def node_type_name
64
+ if node_type == Node::ATTRIBUTE_DECL
65
+ 'attribute declaration'
66
+ else
67
+ raise(UnknownType, "Unknown node type: %n", node.node_type);
68
+ end
69
+ end
70
+
71
+ # call-seq:
72
+ # attr_decl.to_s -> string
73
+ #
74
+ # Returns a string representation of this attribute declaration.
75
+ def to_s
76
+ "#{name} = #{value}"
77
+ end
78
+ end
79
+ end
80
+ end
@@ -1,14 +1,14 @@
1
- # encoding: UTF-8
2
-
3
- module LibXML
4
- module XML
5
- class Attributes
6
- def to_h
7
- inject({}) do |hash, attr|
8
- hash[attr.name] = attr.value
9
- hash
10
- end
11
- end
12
- end
13
- end
1
+ # encoding: UTF-8
2
+
3
+ module LibXML
4
+ module XML
5
+ class Attributes
6
+ def to_h
7
+ inject({}) do |hash, attr|
8
+ hash[attr.name] = attr.value
9
+ hash
10
+ end
11
+ end
12
+ end
13
+ end
14
14
  end