checkoff 0.223.0 → 0.226.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/checkoff.gemspec +10 -5
- data/lib/checkoff/attachments.rb +1 -1
- data/lib/checkoff/cli.rb +1 -1
- data/lib/checkoff/clients.rb +1 -1
- data/lib/checkoff/custom_fields.rb +1 -1
- data/lib/checkoff/events.rb +1 -1
- data/lib/checkoff/internal/config_loader.rb +2 -3
- data/lib/checkoff/internal/selector_classes/section/function_evaluator.rb +3 -2
- data/lib/checkoff/my_tasks.rb +1 -1
- data/lib/checkoff/portfolios.rb +11 -9
- data/lib/checkoff/projects.rb +1 -1
- data/lib/checkoff/sections.rb +4 -5
- data/lib/checkoff/tags.rb +66 -17
- data/lib/checkoff/tasks.rb +1 -1
- data/lib/checkoff/version.rb +1 -1
- data/lib/checkoff/workspaces.rb +1 -1
- data/rbi/checkoff.rbi +4529 -0
- data/sig/checkoff.rbs +3749 -0
- metadata +5 -211
- data/.circleci/config.yml +0 -291
- data/.envrc +0 -9
- data/.git-hooks/pre_commit/circle_ci.rb +0 -26
- data/.git-hooks/pre_commit/punchlist.rb +0 -52
- data/.git-hooks/pre_commit/solargraph_typecheck.rb +0 -77
- data/.gitattributes +0 -6
- data/.gitignore +0 -65
- data/.markdownlint_style.rb +0 -4
- data/.mdlrc +0 -1
- data/.overcommit.yml +0 -115
- data/.rubocop.yml +0 -143
- data/.rubocop_todo.yml +0 -90
- data/.solargraph.yml +0 -35
- data/.yamllint.yml +0 -8
- data/.yardopts +0 -2
- data/CODE_OF_CONDUCT.md +0 -133
- data/CONTRIBUTING.rst +0 -75
- data/DEVELOPMENT.md +0 -69
- data/GLOSSARY.md +0 -16
- data/Gemfile +0 -67
- data/Gemfile.lock +0 -351
- data/LICENSE +0 -21
- data/Makefile +0 -139
- data/bin/brakeman +0 -27
- data/bin/bump +0 -29
- data/bin/checkoff +0 -29
- data/bin/console +0 -15
- data/bin/overcommit +0 -29
- data/bin/overcommit_branch +0 -114
- data/bin/rake +0 -29
- data/bin/rubocop +0 -27
- data/bin/setup +0 -8
- data/bin/solargraph +0 -27
- data/bin/sord +0 -27
- data/bin/spoom +0 -27
- data/bin/srb +0 -27
- data/bin/srb-rbi +0 -27
- data/bin/tapioca +0 -27
- data/bin/yard +0 -27
- data/config/annotations_asana.rb +0 -253
- data/config/annotations_misc.rb +0 -68
- data/config/env.1p +0 -2
- data/docs/.gitignore +0 -3
- data/docs/cookiecutter_input.json +0 -17
- data/docs/example_project.png +0 -0
- data/fix.sh +0 -534
- data/metrics/bigfiles_high_water_mark +0 -1
- data/metrics/brakeman_high_water_mark +0 -1
- data/metrics/bundle-audit_high_water_mark +0 -1
- data/metrics/cane_high_water_mark +0 -1
- data/metrics/eslint_high_water_mark +0 -1
- data/metrics/flake8_high_water_mark +0 -1
- data/metrics/flay_high_water_mark +0 -1
- data/metrics/flog_high_water_mark +0 -1
- data/metrics/jscs_high_water_mark +0 -1
- data/metrics/mdl_high_water_mark +0 -1
- data/metrics/pep8_high_water_mark +0 -1
- data/metrics/punchlist_high_water_mark +0 -1
- data/metrics/pycodestyle_high_water_mark +0 -1
- data/metrics/rails_best_practices_high_water_mark +0 -1
- data/metrics/rubocop_high_water_mark +0 -1
- data/metrics/scalastyle_high_water_mark +0 -1
- data/metrics/shellcheck_high_water_mark +0 -1
- data/package.json +0 -9
- data/rakelib/citest.rake +0 -4
- data/rakelib/clear_metrics.rake +0 -9
- data/rakelib/console.rake +0 -15
- data/rakelib/default.rake +0 -4
- data/rakelib/doc.rake +0 -6
- data/rakelib/gem_tasks.rake +0 -3
- data/rakelib/localtest.rake +0 -4
- data/rakelib/overcommit.rake +0 -6
- data/rakelib/quality.rake +0 -4
- data/rakelib/repl.rake +0 -4
- data/rakelib/test.rake +0 -10
- data/rakelib/trigger_next_builds.rake +0 -7
- data/rakelib/undercover.rake +0 -8
- data/requirements_dev.txt +0 -2
- data/sorbet/config +0 -4
- data/sorbet/rbi/annotations/.gitattributes +0 -1
- data/sorbet/rbi/annotations/activesupport.rbi +0 -453
- data/sorbet/rbi/annotations/faraday.rbi +0 -17
- data/sorbet/rbi/annotations/minitest.rbi +0 -119
- data/sorbet/rbi/annotations/mocha.rbi +0 -34
- data/sorbet/rbi/annotations/rainbow.rbi +0 -269
- data/sorbet/rbi/annotations/webmock.rbi +0 -9
- data/sorbet/rbi/dsl/.gitattributes +0 -1
- data/sorbet/rbi/dsl/active_support/callbacks.rbi +0 -23
- data/sorbet/rbi/gems/.gitattributes +0 -1
- data/sorbet/rbi/gems/activesupport@7.1.5.rbi +0 -18746
- data/sorbet/rbi/gems/addressable@2.8.6.rbi +0 -1994
- data/sorbet/rbi/gems/ansi@1.5.0.rbi +0 -688
- data/sorbet/rbi/gems/asana@0.10.6-ab9393136d9ca59b75e42a661fdddc1c65c8f7c3.rbi +0 -6142
- data/sorbet/rbi/gems/ast@2.4.2.rbi +0 -585
- data/sorbet/rbi/gems/backport@1.2.0.rbi +0 -523
- data/sorbet/rbi/gems/base64@0.2.0.rbi +0 -509
- data/sorbet/rbi/gems/benchmark@0.4.0.rbi +0 -618
- data/sorbet/rbi/gems/bigdecimal@3.1.5.rbi +0 -78
- data/sorbet/rbi/gems/brakeman@6.2.2.rbi +0 -222
- data/sorbet/rbi/gems/builder@3.2.4.rbi +0 -505
- data/sorbet/rbi/gems/bump@0.10.0.rbi +0 -169
- data/sorbet/rbi/gems/cache@0.4.1.rbi +0 -211
- data/sorbet/rbi/gems/cache_method@0.2.7.rbi +0 -293
- data/sorbet/rbi/gems/chef-utils@18.3.0.rbi +0 -9
- data/sorbet/rbi/gems/childprocess@5.1.0.rbi +0 -383
- data/sorbet/rbi/gems/coderay@1.1.3.rbi +0 -3427
- data/sorbet/rbi/gems/commander@4.6.0.rbi +0 -9
- data/sorbet/rbi/gems/concurrent-ruby@1.2.3.rbi +0 -11591
- data/sorbet/rbi/gems/connection_pool@2.4.1.rbi +0 -9
- data/sorbet/rbi/gems/crack@0.4.5.rbi +0 -145
- data/sorbet/rbi/gems/diff-lcs@1.5.1.rbi +0 -969
- data/sorbet/rbi/gems/docile@1.4.0.rbi +0 -377
- data/sorbet/rbi/gems/drb@2.2.1.rbi +0 -1347
- data/sorbet/rbi/gems/e2mmap@0.1.0.rbi +0 -9
- data/sorbet/rbi/gems/erubi@1.13.0.rbi +0 -152
- data/sorbet/rbi/gems/faraday-em_http@1.0.0.rbi +0 -222
- data/sorbet/rbi/gems/faraday-em_synchrony@1.0.0.rbi +0 -126
- data/sorbet/rbi/gems/faraday-excon@1.1.0.rbi +0 -136
- data/sorbet/rbi/gems/faraday-httpclient@1.0.1.rbi +0 -145
- data/sorbet/rbi/gems/faraday-multipart@1.0.4.rbi +0 -259
- data/sorbet/rbi/gems/faraday-net_http@1.0.1.rbi +0 -142
- data/sorbet/rbi/gems/faraday-net_http_persistent@1.2.0.rbi +0 -118
- data/sorbet/rbi/gems/faraday-patron@1.0.0.rbi +0 -125
- data/sorbet/rbi/gems/faraday-rack@1.0.0.rbi +0 -133
- data/sorbet/rbi/gems/faraday-retry@1.0.3.rbi +0 -198
- data/sorbet/rbi/gems/faraday@1.10.3.rbi +0 -2729
- data/sorbet/rbi/gems/faraday_middleware-multi_json@0.0.6.rbi +0 -29
- data/sorbet/rbi/gems/faraday_middleware@1.2.0.rbi +0 -1004
- data/sorbet/rbi/gems/gli@2.22.0.rbi +0 -9
- data/sorbet/rbi/gems/hashdiff@1.0.1.rbi +0 -351
- data/sorbet/rbi/gems/highline@2.0.3.rbi +0 -9
- data/sorbet/rbi/gems/i18n@1.14.6.rbi +0 -2359
- data/sorbet/rbi/gems/imagen@0.1.8.rbi +0 -340
- data/sorbet/rbi/gems/iniparse@1.5.0.rbi +0 -899
- data/sorbet/rbi/gems/jaro_winkler@1.6.0.rbi +0 -22
- data/sorbet/rbi/gems/json@2.7.1.rbi +0 -1562
- data/sorbet/rbi/gems/jwt@2.7.1.rbi +0 -1405
- data/sorbet/rbi/gems/kramdown-parser-gfm@1.1.0.rbi +0 -128
- data/sorbet/rbi/gems/kramdown@2.4.0.rbi +0 -3272
- data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +0 -14238
- data/sorbet/rbi/gems/logger@1.6.2.rbi +0 -923
- data/sorbet/rbi/gems/mdl@0.13.0.rbi +0 -445
- data/sorbet/rbi/gems/method_source@1.0.0.rbi +0 -273
- data/sorbet/rbi/gems/mime-types-data@3.2023.1205.rbi +0 -127
- data/sorbet/rbi/gems/mime-types@3.5.1.rbi +0 -1252
- data/sorbet/rbi/gems/minitest-profile@0.0.2.rbi +0 -136
- data/sorbet/rbi/gems/minitest-reporters@1.6.1.rbi +0 -1014
- data/sorbet/rbi/gems/minitest@5.21.1.rbi +0 -1539
- data/sorbet/rbi/gems/mixlib-cli@2.1.8.rbi +0 -314
- data/sorbet/rbi/gems/mixlib-config@3.0.27.rbi +0 -581
- data/sorbet/rbi/gems/mixlib-shellout@3.2.7.rbi +0 -629
- data/sorbet/rbi/gems/mocha@2.1.0.rbi +0 -12
- data/sorbet/rbi/gems/multi_json@1.15.0.rbi +0 -268
- data/sorbet/rbi/gems/multi_xml@0.6.0.rbi +0 -102
- data/sorbet/rbi/gems/multipart-post@2.3.0.rbi +0 -234
- data/sorbet/rbi/gems/mutex_m@0.3.0.rbi +0 -97
- data/sorbet/rbi/gems/netrc@0.11.0.rbi +0 -159
- data/sorbet/rbi/gems/nokogiri@1.17.0.rbi +0 -8201
- data/sorbet/rbi/gems/oauth2@1.4.11.rbi +0 -833
- data/sorbet/rbi/gems/overcommit@0.64.1.rbi +0 -2400
- data/sorbet/rbi/gems/parallel@1.23.0.rbi +0 -274
- data/sorbet/rbi/gems/parlour@5.0.0.rbi +0 -3007
- data/sorbet/rbi/gems/parser@3.2.2.4.rbi +0 -7253
- data/sorbet/rbi/gems/prism@1.2.0.rbi +0 -39085
- data/sorbet/rbi/gems/pry@0.14.2.rbi +0 -10070
- data/sorbet/rbi/gems/public_suffix@5.0.4.rbi +0 -936
- data/sorbet/rbi/gems/punchlist@1.3.2.rbi +0 -173
- data/sorbet/rbi/gems/racc@1.8.1.rbi +0 -162
- data/sorbet/rbi/gems/rack@3.1.8.rbi +0 -4896
- data/sorbet/rbi/gems/rainbow@3.1.1.rbi +0 -403
- data/sorbet/rbi/gems/rake@13.1.0.rbi +0 -3022
- data/sorbet/rbi/gems/rbi@0.2.1.rbi +0 -4535
- data/sorbet/rbi/gems/rbs@2.8.4.rbi +0 -5613
- data/sorbet/rbi/gems/regexp_parser@2.8.3.rbi +0 -3750
- data/sorbet/rbi/gems/reverse_markdown@2.1.1.rbi +0 -390
- data/sorbet/rbi/gems/rexml@3.3.9.rbi +0 -4964
- data/sorbet/rbi/gems/rubocop-ast@1.30.0.rbi +0 -7127
- data/sorbet/rbi/gems/rubocop-minitest@0.34.5.rbi +0 -2577
- data/sorbet/rbi/gems/rubocop-performance@1.20.2.rbi +0 -3262
- data/sorbet/rbi/gems/rubocop-rake@0.6.0.rbi +0 -329
- data/sorbet/rbi/gems/rubocop-rspec@3.0.0.rbi +0 -7546
- data/sorbet/rbi/gems/rubocop@1.59.0.rbi +0 -57238
- data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +0 -1318
- data/sorbet/rbi/gems/ruby2_keywords@0.0.5.rbi +0 -9
- data/sorbet/rbi/gems/rugged@1.6.3.rbi +0 -1577
- data/sorbet/rbi/gems/securerandom@0.4.0.rbi +0 -75
- data/sorbet/rbi/gems/simplecov-html@0.12.3.rbi +0 -217
- data/sorbet/rbi/gems/simplecov-lcov@0.8.0.rbi +0 -256
- data/sorbet/rbi/gems/simplecov@0.22.0.rbi +0 -2149
- data/sorbet/rbi/gems/simplecov_json_formatter@0.1.4.rbi +0 -9
- data/sorbet/rbi/gems/solargraph-rails@1.1.0-9dc37915bd4f3b169046e34db6fb32193ab347d8.rbi +0 -320
- data/sorbet/rbi/gems/solargraph@0.50.1-904b9304770a59fac393c5cc3cad481e5bdf0fd8.rbi +0 -9396
- data/sorbet/rbi/gems/sord@5.1.0.rbi +0 -820
- data/sorbet/rbi/gems/source_finder@3.2.1.rbi +0 -317
- data/sorbet/rbi/gems/spoom@1.5.0.rbi +0 -4932
- data/sorbet/rbi/gems/tapioca@0.16.5.rbi +0 -3617
- data/sorbet/rbi/gems/thor@1.3.2.rbi +0 -4378
- data/sorbet/rbi/gems/tilt@2.4.0.rbi +0 -933
- data/sorbet/rbi/gems/tomlrb@2.0.3.rbi +0 -9
- data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +0 -5918
- data/sorbet/rbi/gems/undercover@0.5.0.rbi +0 -433
- data/sorbet/rbi/gems/unicode-display_width@2.5.0.rbi +0 -66
- data/sorbet/rbi/gems/webmock@3.19.1.rbi +0 -1769
- data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +0 -435
- data/sorbet/rbi/gems/yard@0.9.37.rbi +0 -18406
- data/sorbet/rbi/todo.rbi +0 -11
- data/sorbet/tapioca/config.yml +0 -13
- data/sorbet/tapioca/require.rb +0 -4
@@ -1,4964 +0,0 @@
|
|
1
|
-
# typed: false
|
2
|
-
|
3
|
-
# DO NOT EDIT MANUALLY
|
4
|
-
# This is an autogenerated file for types exported from the `rexml` gem.
|
5
|
-
# Please instead update this file by running `bin/tapioca gem rexml`.
|
6
|
-
|
7
|
-
|
8
|
-
# This class needs:
|
9
|
-
# * Documentation
|
10
|
-
# * Work! Not all types of attlists are intelligently parsed, so we just
|
11
|
-
# spew back out what we get in. This works, but it would be better if
|
12
|
-
# we formatted the output ourselves.
|
13
|
-
#
|
14
|
-
# AttlistDecls provide *just* enough support to allow namespace
|
15
|
-
# declarations. If you need some sort of generalized support, or have an
|
16
|
-
# interesting idea about how to map the hideous, terrible design of DTD
|
17
|
-
# AttlistDecls onto an intuitive Ruby interface, let me know. I'm desperate
|
18
|
-
# for anything to make DTDs more palateable.
|
19
|
-
#
|
20
|
-
# source://rexml//lib/rexml/attlistdecl.rb#18
|
21
|
-
class REXML::AttlistDecl < ::REXML::Child
|
22
|
-
include ::Enumerable
|
23
|
-
|
24
|
-
# Create an AttlistDecl, pulling the information from a Source. Notice
|
25
|
-
# that this isn't very convenient; to create an AttlistDecl, you basically
|
26
|
-
# have to format it yourself, and then have the initializer parse it.
|
27
|
-
# Sorry, but for the foreseeable future, DTD support in REXML is pretty
|
28
|
-
# weak on convenience. Have I mentioned how much I hate DTDs?
|
29
|
-
#
|
30
|
-
# @return [AttlistDecl] a new instance of AttlistDecl
|
31
|
-
#
|
32
|
-
# source://rexml//lib/rexml/attlistdecl.rb#29
|
33
|
-
def initialize(source); end
|
34
|
-
|
35
|
-
# Access the attlist attribute/value pairs.
|
36
|
-
# value = attlist_decl[ attribute_name ]
|
37
|
-
#
|
38
|
-
# source://rexml//lib/rexml/attlistdecl.rb#38
|
39
|
-
def [](key); end
|
40
|
-
|
41
|
-
# Iterate over the key/value pairs:
|
42
|
-
# attlist_decl.each { |attribute_name, attribute_value| ... }
|
43
|
-
#
|
44
|
-
# source://rexml//lib/rexml/attlistdecl.rb#50
|
45
|
-
def each(&block); end
|
46
|
-
|
47
|
-
# What is this? Got me.
|
48
|
-
#
|
49
|
-
# source://rexml//lib/rexml/attlistdecl.rb#22
|
50
|
-
def element_name; end
|
51
|
-
|
52
|
-
# Whether an attlist declaration includes the given attribute definition
|
53
|
-
# if attlist_decl.include? "xmlns:foobar"
|
54
|
-
#
|
55
|
-
# @return [Boolean]
|
56
|
-
#
|
57
|
-
# source://rexml//lib/rexml/attlistdecl.rb#44
|
58
|
-
def include?(key); end
|
59
|
-
|
60
|
-
# source://rexml//lib/rexml/attlistdecl.rb#59
|
61
|
-
def node_type; end
|
62
|
-
|
63
|
-
# Write out exactly what we got in.
|
64
|
-
#
|
65
|
-
# source://rexml//lib/rexml/attlistdecl.rb#55
|
66
|
-
def write(out, indent = T.unsafe(nil)); end
|
67
|
-
end
|
68
|
-
|
69
|
-
# Defines an Element Attribute; IE, a attribute=value pair, as in:
|
70
|
-
# <element attribute="value"/>. Attributes can be in their own
|
71
|
-
# namespaces. General users of REXML will not interact with the
|
72
|
-
# Attribute class much.
|
73
|
-
#
|
74
|
-
# source://rexml//lib/rexml/attribute.rb#10
|
75
|
-
class REXML::Attribute
|
76
|
-
include ::REXML::Node
|
77
|
-
include ::REXML::XMLTokens
|
78
|
-
include ::REXML::Namespace
|
79
|
-
|
80
|
-
# Constructor.
|
81
|
-
# FIXME: The parser doesn't catch illegal characters in attributes
|
82
|
-
#
|
83
|
-
# first::
|
84
|
-
# Either: an Attribute, which this new attribute will become a
|
85
|
-
# clone of; or a String, which is the name of this attribute
|
86
|
-
# second::
|
87
|
-
# If +first+ is an Attribute, then this may be an Element, or nil.
|
88
|
-
# If nil, then the Element parent of this attribute is the parent
|
89
|
-
# of the +first+ Attribute. If the first argument is a String,
|
90
|
-
# then this must also be a String, and is the content of the attribute.
|
91
|
-
# If this is the content, it must be fully normalized (contain no
|
92
|
-
# illegal characters).
|
93
|
-
# parent::
|
94
|
-
# Ignored unless +first+ is a String; otherwise, may be the Element
|
95
|
-
# parent of this attribute, or nil.
|
96
|
-
#
|
97
|
-
#
|
98
|
-
# Attribute.new( attribute_to_clone )
|
99
|
-
# Attribute.new( attribute_to_clone, parent_element )
|
100
|
-
# Attribute.new( "attr", "attr_value" )
|
101
|
-
# Attribute.new( "attr", "attr_value", parent_element )
|
102
|
-
#
|
103
|
-
# @return [Attribute] a new instance of Attribute
|
104
|
-
#
|
105
|
-
# source://rexml//lib/rexml/attribute.rb#42
|
106
|
-
def initialize(first, second = T.unsafe(nil), parent = T.unsafe(nil)); end
|
107
|
-
|
108
|
-
# Returns true if other is an Attribute and has the same name and value,
|
109
|
-
# false otherwise.
|
110
|
-
#
|
111
|
-
# source://rexml//lib/rexml/attribute.rb#106
|
112
|
-
def ==(other); end
|
113
|
-
|
114
|
-
# Returns a copy of this attribute
|
115
|
-
#
|
116
|
-
# source://rexml//lib/rexml/attribute.rb#164
|
117
|
-
def clone; end
|
118
|
-
|
119
|
-
# source://rexml//lib/rexml/attribute.rb#132
|
120
|
-
def doctype; end
|
121
|
-
|
122
|
-
# The element to which this attribute belongs
|
123
|
-
#
|
124
|
-
# source://rexml//lib/rexml/attribute.rb#15
|
125
|
-
def element; end
|
126
|
-
|
127
|
-
# Sets the element of which this object is an attribute. Normally, this
|
128
|
-
# is not directly called.
|
129
|
-
#
|
130
|
-
# Returns this attribute
|
131
|
-
#
|
132
|
-
# source://rexml//lib/rexml/attribute.rb#172
|
133
|
-
def element=(element); end
|
134
|
-
|
135
|
-
# Creates (and returns) a hash from both the name and value
|
136
|
-
#
|
137
|
-
# source://rexml//lib/rexml/attribute.rb#111
|
138
|
-
def hash; end
|
139
|
-
|
140
|
-
# source://rexml//lib/rexml/attribute.rb#198
|
141
|
-
def inspect; end
|
142
|
-
|
143
|
-
# Returns the namespace URL, if defined, or nil otherwise
|
144
|
-
#
|
145
|
-
# e = Element.new("el")
|
146
|
-
# e.add_namespace("ns", "http://url")
|
147
|
-
# e.add_attribute("ns:a", "b")
|
148
|
-
# e.add_attribute("nsx:a", "c")
|
149
|
-
# e.attribute("ns:a").namespace # => "http://url"
|
150
|
-
# e.attribute("nsx:a").namespace # => nil
|
151
|
-
#
|
152
|
-
# This method always returns "" for no namespace attribute. Because
|
153
|
-
# the default namespace doesn't apply to attribute names.
|
154
|
-
#
|
155
|
-
# From https://www.w3.org/TR/xml-names/#uniqAttrs
|
156
|
-
#
|
157
|
-
# > the default namespace does not apply to attribute names
|
158
|
-
#
|
159
|
-
# e = REXML::Element.new("el")
|
160
|
-
# e.add_namespace("", "http://example.com/")
|
161
|
-
# e.namespace # => "http://example.com/"
|
162
|
-
# e.add_attribute("a", "b")
|
163
|
-
# e.attribute("a").namespace # => ""
|
164
|
-
#
|
165
|
-
# source://rexml//lib/rexml/attribute.rb#95
|
166
|
-
def namespace(arg = T.unsafe(nil)); end
|
167
|
-
|
168
|
-
# source://rexml//lib/rexml/attribute.rb#194
|
169
|
-
def node_type; end
|
170
|
-
|
171
|
-
# The normalized value of this attribute. That is, the attribute with
|
172
|
-
# entities intact.
|
173
|
-
#
|
174
|
-
# source://rexml//lib/rexml/attribute.rb#158
|
175
|
-
def normalized=(new_normalized); end
|
176
|
-
|
177
|
-
# Returns the namespace of the attribute.
|
178
|
-
#
|
179
|
-
# e = Element.new( "elns:myelement" )
|
180
|
-
# e.add_attribute( "nsa:a", "aval" )
|
181
|
-
# e.add_attribute( "b", "bval" )
|
182
|
-
# e.attributes.get_attribute( "a" ).prefix # -> "nsa"
|
183
|
-
# e.attributes.get_attribute( "b" ).prefix # -> ""
|
184
|
-
# a = Attribute.new( "x", "y" )
|
185
|
-
# a.prefix # -> ""
|
186
|
-
#
|
187
|
-
# source://rexml//lib/rexml/attribute.rb#70
|
188
|
-
def prefix; end
|
189
|
-
|
190
|
-
# Removes this Attribute from the tree, and returns true if successful
|
191
|
-
#
|
192
|
-
# This method is usually not called directly.
|
193
|
-
#
|
194
|
-
# source://rexml//lib/rexml/attribute.rb#185
|
195
|
-
def remove; end
|
196
|
-
|
197
|
-
# Returns the attribute value, with entities replaced
|
198
|
-
#
|
199
|
-
# source://rexml//lib/rexml/attribute.rb#140
|
200
|
-
def to_s; end
|
201
|
-
|
202
|
-
# Returns this attribute out as XML source, expanding the name
|
203
|
-
#
|
204
|
-
# a = Attribute.new( "x", "y" )
|
205
|
-
# a.to_string # -> "x='y'"
|
206
|
-
# b = Attribute.new( "ns:x", "y" )
|
207
|
-
# b.to_string # -> "ns:x='y'"
|
208
|
-
#
|
209
|
-
# source://rexml//lib/rexml/attribute.rb#121
|
210
|
-
def to_string; end
|
211
|
-
|
212
|
-
# Returns the UNNORMALIZED value of this attribute. That is, entities
|
213
|
-
# have been expanded to their values
|
214
|
-
#
|
215
|
-
# source://rexml//lib/rexml/attribute.rb#149
|
216
|
-
def value; end
|
217
|
-
|
218
|
-
# Writes this attribute (EG, puts 'key="value"' to the output)
|
219
|
-
#
|
220
|
-
# source://rexml//lib/rexml/attribute.rb#190
|
221
|
-
def write(output, indent = T.unsafe(nil)); end
|
222
|
-
|
223
|
-
# source://rexml//lib/rexml/attribute.rb#204
|
224
|
-
def xpath; end
|
225
|
-
end
|
226
|
-
|
227
|
-
# A class that defines the set of Attributes of an Element and provides
|
228
|
-
# operations for accessing elements in that set.
|
229
|
-
#
|
230
|
-
# source://rexml//lib/rexml/element.rb#2137
|
231
|
-
class REXML::Attributes < ::Hash
|
232
|
-
# :call-seq:
|
233
|
-
# new(element)
|
234
|
-
#
|
235
|
-
# Creates and returns a new \REXML::Attributes object.
|
236
|
-
# The element given by argument +element+ is stored,
|
237
|
-
# but its own attributes are not modified:
|
238
|
-
#
|
239
|
-
# ele = REXML::Element.new('foo')
|
240
|
-
# attrs = REXML::Attributes.new(ele)
|
241
|
-
# attrs.object_id == ele.attributes.object_id # => false
|
242
|
-
#
|
243
|
-
# Other instance methods in class \REXML::Attributes may refer to:
|
244
|
-
#
|
245
|
-
# - +element.document+.
|
246
|
-
# - +element.prefix+.
|
247
|
-
# - +element.expanded_name+.
|
248
|
-
#
|
249
|
-
# @return [Attributes] a new instance of Attributes
|
250
|
-
#
|
251
|
-
# source://rexml//lib/rexml/element.rb#2156
|
252
|
-
def initialize(element); end
|
253
|
-
|
254
|
-
# :call-seq:
|
255
|
-
# add(attribute) -> attribute
|
256
|
-
#
|
257
|
-
# Adds attribute +attribute+, replacing the previous
|
258
|
-
# attribute of the same name if it exists;
|
259
|
-
# returns +attribute+:
|
260
|
-
#
|
261
|
-
# xml_string = <<-EOT
|
262
|
-
# <root xmlns:foo="http://foo" xmlns:bar="http://bar">
|
263
|
-
# <ele foo:att='1' bar:att='2' att='<'/>
|
264
|
-
# </root>
|
265
|
-
# EOT
|
266
|
-
# d = REXML::Document.new(xml_string)
|
267
|
-
# ele = d.root.elements['//ele'] # => <a foo:att='1' bar:att='2' att='<'/>
|
268
|
-
# attrs = ele.attributes
|
269
|
-
# attrs # => {"att"=>{"foo"=>foo:att='1', "bar"=>bar:att='2', ""=>att='<'}}
|
270
|
-
# attrs.add(REXML::Attribute.new('foo:att', '2')) # => foo:att='2'
|
271
|
-
# attrs.add(REXML::Attribute.new('baz', '3')) # => baz='3'
|
272
|
-
# attrs.include?('baz') # => true
|
273
|
-
#
|
274
|
-
# source://rexml//lib/rexml/element.rb#2522
|
275
|
-
def <<(attribute); end
|
276
|
-
|
277
|
-
# :call-seq:
|
278
|
-
# [name] -> attribute_value or nil
|
279
|
-
#
|
280
|
-
# Returns the value for the attribute given by +name+,
|
281
|
-
# if it exists; otherwise +nil+.
|
282
|
-
# The value returned is the unnormalized attribute value,
|
283
|
-
# with entities expanded:
|
284
|
-
#
|
285
|
-
# xml_string = <<-EOT
|
286
|
-
# <root xmlns:foo="http://foo" xmlns:bar="http://bar">
|
287
|
-
# <ele foo:att='1' bar:att='2' att='<'/>
|
288
|
-
# </root>
|
289
|
-
# EOT
|
290
|
-
# d = REXML::Document.new(xml_string)
|
291
|
-
# ele = d.elements['//ele'] # => <a foo:att='1' bar:att='2' att='<'/>
|
292
|
-
# ele.attributes['att'] # => "<"
|
293
|
-
# ele.attributes['bar:att'] # => "2"
|
294
|
-
# ele.attributes['nosuch'] # => nil
|
295
|
-
#
|
296
|
-
# Related: get_attribute (returns an \Attribute object).
|
297
|
-
#
|
298
|
-
# source://rexml//lib/rexml/element.rb#2181
|
299
|
-
def [](name); end
|
300
|
-
|
301
|
-
# :call-seq:
|
302
|
-
# [name] = value -> value
|
303
|
-
#
|
304
|
-
# When +value+ is non-+nil+,
|
305
|
-
# assigns that to the attribute for the given +name+,
|
306
|
-
# overwriting the previous value if it exists:
|
307
|
-
#
|
308
|
-
# xml_string = <<-EOT
|
309
|
-
# <root xmlns:foo="http://foo" xmlns:bar="http://bar">
|
310
|
-
# <ele foo:att='1' bar:att='2' att='<'/>
|
311
|
-
# </root>
|
312
|
-
# EOT
|
313
|
-
# d = REXML::Document.new(xml_string)
|
314
|
-
# ele = d.root.elements['//ele'] # => <a foo:att='1' bar:att='2' att='<'/>
|
315
|
-
# attrs = ele.attributes
|
316
|
-
# attrs['foo:att'] = '2' # => "2"
|
317
|
-
# attrs['baz:att'] = '3' # => "3"
|
318
|
-
#
|
319
|
-
# When +value+ is +nil+, deletes the attribute if it exists:
|
320
|
-
#
|
321
|
-
# attrs['baz:att'] = nil
|
322
|
-
# attrs.include?('baz:att') # => false
|
323
|
-
#
|
324
|
-
# source://rexml//lib/rexml/element.rb#2365
|
325
|
-
def []=(name, value); end
|
326
|
-
|
327
|
-
# :call-seq:
|
328
|
-
# add(attribute) -> attribute
|
329
|
-
#
|
330
|
-
# Adds attribute +attribute+, replacing the previous
|
331
|
-
# attribute of the same name if it exists;
|
332
|
-
# returns +attribute+:
|
333
|
-
#
|
334
|
-
# xml_string = <<-EOT
|
335
|
-
# <root xmlns:foo="http://foo" xmlns:bar="http://bar">
|
336
|
-
# <ele foo:att='1' bar:att='2' att='<'/>
|
337
|
-
# </root>
|
338
|
-
# EOT
|
339
|
-
# d = REXML::Document.new(xml_string)
|
340
|
-
# ele = d.root.elements['//ele'] # => <a foo:att='1' bar:att='2' att='<'/>
|
341
|
-
# attrs = ele.attributes
|
342
|
-
# attrs # => {"att"=>{"foo"=>foo:att='1', "bar"=>bar:att='2', ""=>att='<'}}
|
343
|
-
# attrs.add(REXML::Attribute.new('foo:att', '2')) # => foo:att='2'
|
344
|
-
# attrs.add(REXML::Attribute.new('baz', '3')) # => baz='3'
|
345
|
-
# attrs.include?('baz') # => true
|
346
|
-
#
|
347
|
-
# source://rexml//lib/rexml/element.rb#2522
|
348
|
-
def add(attribute); end
|
349
|
-
|
350
|
-
# :call-seq:
|
351
|
-
# delete(name) -> element
|
352
|
-
# delete(attribute) -> element
|
353
|
-
#
|
354
|
-
# Removes a specified attribute if it exists;
|
355
|
-
# returns the attributes' element.
|
356
|
-
#
|
357
|
-
# When string argument +name+ is given,
|
358
|
-
# removes the attribute of that name if it exists:
|
359
|
-
#
|
360
|
-
# xml_string = <<-EOT
|
361
|
-
# <root xmlns:foo="http://foo" xmlns:bar="http://bar">
|
362
|
-
# <ele foo:att='1' bar:att='2' att='<'/>
|
363
|
-
# </root>
|
364
|
-
# EOT
|
365
|
-
# d = REXML::Document.new(xml_string)
|
366
|
-
# ele = d.root.elements['//ele'] # => <a foo:att='1' bar:att='2' att='<'/>
|
367
|
-
# attrs = ele.attributes
|
368
|
-
# attrs.delete('foo:att') # => <ele bar:att='2' att='<'/>
|
369
|
-
# attrs.delete('foo:att') # => <ele bar:att='2' att='<'/>
|
370
|
-
#
|
371
|
-
# When attribute argument +attribute+ is given,
|
372
|
-
# removes that attribute if it exists:
|
373
|
-
#
|
374
|
-
# attr = REXML::Attribute.new('bar:att', '2')
|
375
|
-
# attrs.delete(attr) # => <ele att='<'/> # => <ele att='<'/>
|
376
|
-
# attrs.delete(attr) # => <ele att='<'/> # => <ele/>
|
377
|
-
#
|
378
|
-
# source://rexml//lib/rexml/element.rb#2475
|
379
|
-
def delete(attribute); end
|
380
|
-
|
381
|
-
# :call-seq:
|
382
|
-
# delete_all(name) -> array_of_removed_attributes
|
383
|
-
#
|
384
|
-
# Removes all attributes matching the given +name+;
|
385
|
-
# returns an array of the removed attributes:
|
386
|
-
#
|
387
|
-
# xml_string = <<-EOT
|
388
|
-
# <root xmlns:foo="http://foo" xmlns:bar="http://bar">
|
389
|
-
# <ele foo:att='1' bar:att='2' att='<'/>
|
390
|
-
# </root>
|
391
|
-
# EOT
|
392
|
-
# d = REXML::Document.new(xml_string)
|
393
|
-
# ele = d.root.elements['//ele'] # => <a foo:att='1' bar:att='2' att='<'/>
|
394
|
-
# attrs = ele.attributes
|
395
|
-
# attrs.delete_all('att') # => [att='<']
|
396
|
-
#
|
397
|
-
# source://rexml//lib/rexml/element.rb#2544
|
398
|
-
def delete_all(name); end
|
399
|
-
|
400
|
-
# :call-seq:
|
401
|
-
# each {|expanded_name, value| ... }
|
402
|
-
#
|
403
|
-
# Calls the given block with each expanded-name/value pair:
|
404
|
-
#
|
405
|
-
# xml_string = <<-EOT
|
406
|
-
# <root xmlns:foo="http://foo" xmlns:bar="http://bar">
|
407
|
-
# <ele foo:att='1' bar:att='2' att='<'/>
|
408
|
-
# </root>
|
409
|
-
# EOT
|
410
|
-
# d = REXML::Document.new(xml_string)
|
411
|
-
# ele = d.root.elements['//ele'] # => <a foo:att='1' bar:att='2' att='<'/>
|
412
|
-
# ele.attributes.each do |expanded_name, value|
|
413
|
-
# p [expanded_name, value]
|
414
|
-
# end
|
415
|
-
#
|
416
|
-
# Output:
|
417
|
-
#
|
418
|
-
# ["foo:att", "1"]
|
419
|
-
# ["bar:att", "2"]
|
420
|
-
# ["att", "<"]
|
421
|
-
#
|
422
|
-
# source://rexml//lib/rexml/element.rb#2283
|
423
|
-
def each; end
|
424
|
-
|
425
|
-
# :call-seq:
|
426
|
-
# each_attribute {|attr| ... }
|
427
|
-
#
|
428
|
-
# Calls the given block with each \REXML::Attribute object:
|
429
|
-
#
|
430
|
-
# xml_string = <<-EOT
|
431
|
-
# <root xmlns:foo="http://foo" xmlns:bar="http://bar">
|
432
|
-
# <ele foo:att='1' bar:att='2' att='<'/>
|
433
|
-
# </root>
|
434
|
-
# EOT
|
435
|
-
# d = REXML::Document.new(xml_string)
|
436
|
-
# ele = d.root.elements['//ele'] # => <a foo:att='1' bar:att='2' att='<'/>
|
437
|
-
# ele.attributes.each_attribute do |attr|
|
438
|
-
# p [attr.class, attr]
|
439
|
-
# end
|
440
|
-
#
|
441
|
-
# Output:
|
442
|
-
#
|
443
|
-
# [REXML::Attribute, foo:att='1']
|
444
|
-
# [REXML::Attribute, bar:att='2']
|
445
|
-
# [REXML::Attribute, att='<']
|
446
|
-
#
|
447
|
-
# source://rexml//lib/rexml/element.rb#2250
|
448
|
-
def each_attribute; end
|
449
|
-
|
450
|
-
# :call-seq:
|
451
|
-
# get_attribute(name) -> attribute_object or nil
|
452
|
-
#
|
453
|
-
# Returns the \REXML::Attribute object for the given +name+:
|
454
|
-
#
|
455
|
-
# xml_string = <<-EOT
|
456
|
-
# <root xmlns:foo="http://foo" xmlns:bar="http://bar">
|
457
|
-
# <ele foo:att='1' bar:att='2' att='<'/>
|
458
|
-
# </root>
|
459
|
-
# EOT
|
460
|
-
# d = REXML::Document.new(xml_string)
|
461
|
-
# ele = d.root.elements['//ele'] # => <a foo:att='1' bar:att='2' att='<'/>
|
462
|
-
# attrs = ele.attributes
|
463
|
-
# attrs.get_attribute('foo:att') # => foo:att='1'
|
464
|
-
# attrs.get_attribute('foo:att').class # => REXML::Attribute
|
465
|
-
# attrs.get_attribute('bar:att') # => bar:att='2'
|
466
|
-
# attrs.get_attribute('att') # => att='<'
|
467
|
-
# attrs.get_attribute('nosuch') # => nil
|
468
|
-
#
|
469
|
-
# source://rexml//lib/rexml/element.rb#2309
|
470
|
-
def get_attribute(name); end
|
471
|
-
|
472
|
-
# :call-seq:
|
473
|
-
# get_attribute_ns(namespace, name)
|
474
|
-
#
|
475
|
-
# Returns the \REXML::Attribute object among the attributes
|
476
|
-
# that matches the given +namespace+ and +name+:
|
477
|
-
#
|
478
|
-
# xml_string = <<-EOT
|
479
|
-
# <root xmlns:foo="http://foo" xmlns:bar="http://bar">
|
480
|
-
# <ele foo:att='1' bar:att='2' att='<'/>
|
481
|
-
# </root>
|
482
|
-
# EOT
|
483
|
-
# d = REXML::Document.new(xml_string)
|
484
|
-
# ele = d.root.elements['//ele'] # => <a foo:att='1' bar:att='2' att='<'/>
|
485
|
-
# attrs = ele.attributes
|
486
|
-
# attrs.get_attribute_ns('http://foo', 'att') # => foo:att='1'
|
487
|
-
# attrs.get_attribute_ns('http://foo', 'nosuch') # => nil
|
488
|
-
#
|
489
|
-
# source://rexml//lib/rexml/element.rb#2570
|
490
|
-
def get_attribute_ns(namespace, name); end
|
491
|
-
|
492
|
-
# :call-seq:
|
493
|
-
# length
|
494
|
-
#
|
495
|
-
# Returns the count of attributes:
|
496
|
-
#
|
497
|
-
# xml_string = <<-EOT
|
498
|
-
# <root xmlns:foo="http://foo" xmlns:bar="http://bar">
|
499
|
-
# <ele foo:att='1' bar:att='2' att='<'/>
|
500
|
-
# </root>
|
501
|
-
# EOT
|
502
|
-
# d = REXML::Document.new(xml_string)
|
503
|
-
# ele = d.root.elements['//ele'] # => <a foo:att='1' bar:att='2' att='<'/>
|
504
|
-
# ele.attributes.length # => 3
|
505
|
-
#
|
506
|
-
# source://rexml//lib/rexml/element.rb#2221
|
507
|
-
def length; end
|
508
|
-
|
509
|
-
# :call-seq:
|
510
|
-
# namespaces
|
511
|
-
#
|
512
|
-
# Returns a hash of name/value pairs for the namespaces:
|
513
|
-
#
|
514
|
-
# xml_string = '<a xmlns="foo" xmlns:x="bar" xmlns:y="twee" z="glorp"/>'
|
515
|
-
# d = REXML::Document.new(xml_string)
|
516
|
-
# d.root.attributes.namespaces # => {"xmlns"=>"foo", "x"=>"bar", "y"=>"twee"}
|
517
|
-
#
|
518
|
-
# source://rexml//lib/rexml/element.rb#2431
|
519
|
-
def namespaces; end
|
520
|
-
|
521
|
-
# :call-seq:
|
522
|
-
# prefixes -> array_of_prefix_strings
|
523
|
-
#
|
524
|
-
# Returns an array of prefix strings in the attributes.
|
525
|
-
# The array does not include the default
|
526
|
-
# namespace declaration, if one exists.
|
527
|
-
#
|
528
|
-
# xml_string = '<a xmlns="foo" xmlns:x="bar" xmlns:y="twee" z="glorp"/>'
|
529
|
-
# d = REXML::Document.new(xml_string)
|
530
|
-
# d.root.attributes.prefixes # => ["x", "y"]
|
531
|
-
#
|
532
|
-
# source://rexml//lib/rexml/element.rb#2406
|
533
|
-
def prefixes; end
|
534
|
-
|
535
|
-
# :call-seq:
|
536
|
-
# length
|
537
|
-
#
|
538
|
-
# Returns the count of attributes:
|
539
|
-
#
|
540
|
-
# xml_string = <<-EOT
|
541
|
-
# <root xmlns:foo="http://foo" xmlns:bar="http://bar">
|
542
|
-
# <ele foo:att='1' bar:att='2' att='<'/>
|
543
|
-
# </root>
|
544
|
-
# EOT
|
545
|
-
# d = REXML::Document.new(xml_string)
|
546
|
-
# ele = d.root.elements['//ele'] # => <a foo:att='1' bar:att='2' att='<'/>
|
547
|
-
# ele.attributes.length # => 3
|
548
|
-
#
|
549
|
-
# source://rexml//lib/rexml/element.rb#2221
|
550
|
-
def size; end
|
551
|
-
|
552
|
-
# :call-seq:
|
553
|
-
# to_a -> array_of_attribute_objects
|
554
|
-
#
|
555
|
-
# Returns an array of \REXML::Attribute objects representing
|
556
|
-
# the attributes:
|
557
|
-
#
|
558
|
-
# xml_string = <<-EOT
|
559
|
-
# <root xmlns:foo="http://foo" xmlns:bar="http://bar">
|
560
|
-
# <ele foo:att='1' bar:att='2' att='<'/>
|
561
|
-
# </root>
|
562
|
-
# EOT
|
563
|
-
# d = REXML::Document.new(xml_string)
|
564
|
-
# ele = d.root.elements['//ele'] # => <a foo:att='1' bar:att='2' att='<'/>
|
565
|
-
# attrs = ele.attributes.to_a # => [foo:att='1', bar:att='2', att='<']
|
566
|
-
# attrs.first.class # => REXML::Attribute
|
567
|
-
#
|
568
|
-
# source://rexml//lib/rexml/element.rb#2203
|
569
|
-
def to_a; end
|
570
|
-
end
|
571
|
-
|
572
|
-
# source://rexml//lib/rexml/cdata.rb#5
|
573
|
-
class REXML::CData < ::REXML::Text
|
574
|
-
# Constructor. CData is data between <![CDATA[ ... ]]>
|
575
|
-
#
|
576
|
-
# _Examples_
|
577
|
-
# CData.new( source )
|
578
|
-
# CData.new( "Here is some CDATA" )
|
579
|
-
# CData.new( "Some unprocessed data", respect_whitespace_TF, parent_element )
|
580
|
-
#
|
581
|
-
# @return [CData] a new instance of CData
|
582
|
-
#
|
583
|
-
# source://rexml//lib/rexml/cdata.rb#16
|
584
|
-
def initialize(first, whitespace = T.unsafe(nil), parent = T.unsafe(nil)); end
|
585
|
-
|
586
|
-
# Make a copy of this object
|
587
|
-
#
|
588
|
-
# _Examples_
|
589
|
-
# c = CData.new( "Some text" )
|
590
|
-
# d = c.clone
|
591
|
-
# d.to_s # -> "Some text"
|
592
|
-
#
|
593
|
-
# source://rexml//lib/rexml/cdata.rb#26
|
594
|
-
def clone; end
|
595
|
-
|
596
|
-
# Returns the content of this CData object
|
597
|
-
#
|
598
|
-
# _Examples_
|
599
|
-
# c = CData.new( "Some text" )
|
600
|
-
# c.to_s # -> "Some text"
|
601
|
-
#
|
602
|
-
# source://rexml//lib/rexml/cdata.rb#35
|
603
|
-
def to_s; end
|
604
|
-
|
605
|
-
# source://rexml//lib/rexml/cdata.rb#39
|
606
|
-
def value; end
|
607
|
-
|
608
|
-
# == DEPRECATED
|
609
|
-
# See the rexml/formatters package
|
610
|
-
#
|
611
|
-
# Generates XML output of this object
|
612
|
-
#
|
613
|
-
# output::
|
614
|
-
# Where to write the string. Defaults to $stdout
|
615
|
-
# indent::
|
616
|
-
# The amount to indent this node by
|
617
|
-
# transitive::
|
618
|
-
# Ignored
|
619
|
-
# ie_hack::
|
620
|
-
# Ignored
|
621
|
-
#
|
622
|
-
# _Examples_
|
623
|
-
# c = CData.new( " Some text " )
|
624
|
-
# c.write( $stdout ) #-> <![CDATA[ Some text ]]>
|
625
|
-
#
|
626
|
-
# source://rexml//lib/rexml/cdata.rb#60
|
627
|
-
def write(output = T.unsafe(nil), indent = T.unsafe(nil), transitive = T.unsafe(nil), ie_hack = T.unsafe(nil)); end
|
628
|
-
end
|
629
|
-
|
630
|
-
# A Child object is something contained by a parent, and this class
|
631
|
-
# contains methods to support that. Most user code will not use this
|
632
|
-
# class directly.
|
633
|
-
#
|
634
|
-
# source://rexml//lib/rexml/child.rb#9
|
635
|
-
class REXML::Child
|
636
|
-
include ::REXML::Node
|
637
|
-
|
638
|
-
# Constructor. Any inheritors of this class should call super to make
|
639
|
-
# sure this method is called.
|
640
|
-
# parent::
|
641
|
-
# if supplied, the parent of this child will be set to the
|
642
|
-
# supplied value, and self will be added to the parent
|
643
|
-
#
|
644
|
-
# @return [Child] a new instance of Child
|
645
|
-
#
|
646
|
-
# source://rexml//lib/rexml/child.rb#18
|
647
|
-
def initialize(parent = T.unsafe(nil)); end
|
648
|
-
|
649
|
-
# This doesn't yet handle encodings
|
650
|
-
#
|
651
|
-
# source://rexml//lib/rexml/child.rb#91
|
652
|
-
def bytes; end
|
653
|
-
|
654
|
-
# Returns:: the document this child belongs to, or nil if this child
|
655
|
-
# belongs to no document
|
656
|
-
#
|
657
|
-
# source://rexml//lib/rexml/child.rb#85
|
658
|
-
def document; end
|
659
|
-
|
660
|
-
# source://rexml//lib/rexml/node.rb#11
|
661
|
-
def next_sibling; end
|
662
|
-
|
663
|
-
# Sets the next sibling of this child. This can be used to insert a child
|
664
|
-
# after some other child.
|
665
|
-
# a = Element.new("a")
|
666
|
-
# b = a.add_element("b")
|
667
|
-
# c = Element.new("c")
|
668
|
-
# b.next_sibling = c
|
669
|
-
# # => <a><b/><c/></a>
|
670
|
-
#
|
671
|
-
# source://rexml//lib/rexml/child.rb#68
|
672
|
-
def next_sibling=(other); end
|
673
|
-
|
674
|
-
# The Parent of this object
|
675
|
-
#
|
676
|
-
# source://rexml//lib/rexml/child.rb#11
|
677
|
-
def parent; end
|
678
|
-
|
679
|
-
# Sets the parent of this child to the supplied argument.
|
680
|
-
#
|
681
|
-
# other::
|
682
|
-
# Must be a Parent object. If this object is the same object as the
|
683
|
-
# existing parent of this child, no action is taken. Otherwise, this
|
684
|
-
# child is removed from the current parent (if one exists), and is added
|
685
|
-
# to the new parent.
|
686
|
-
# Returns:: The parent added
|
687
|
-
#
|
688
|
-
# source://rexml//lib/rexml/child.rb#52
|
689
|
-
def parent=(other); end
|
690
|
-
|
691
|
-
# source://rexml//lib/rexml/node.rb#17
|
692
|
-
def previous_sibling; end
|
693
|
-
|
694
|
-
# Sets the previous sibling of this child. This can be used to insert a
|
695
|
-
# child before some other child.
|
696
|
-
# a = Element.new("a")
|
697
|
-
# b = a.add_element("b")
|
698
|
-
# c = Element.new("c")
|
699
|
-
# b.previous_sibling = c
|
700
|
-
# # => <a><b/><c/></a>
|
701
|
-
#
|
702
|
-
# source://rexml//lib/rexml/child.rb#79
|
703
|
-
def previous_sibling=(other); end
|
704
|
-
|
705
|
-
# Removes this child from the parent.
|
706
|
-
#
|
707
|
-
# Returns:: self
|
708
|
-
#
|
709
|
-
# source://rexml//lib/rexml/child.rb#37
|
710
|
-
def remove; end
|
711
|
-
|
712
|
-
# Replaces this object with another object. Basically, calls
|
713
|
-
# Parent.replace_child
|
714
|
-
#
|
715
|
-
# Returns:: self
|
716
|
-
#
|
717
|
-
# source://rexml//lib/rexml/child.rb#29
|
718
|
-
def replace_with(child); end
|
719
|
-
end
|
720
|
-
|
721
|
-
# Represents an XML comment; that is, text between \<!-- ... -->
|
722
|
-
#
|
723
|
-
# source://rexml//lib/rexml/comment.rb#7
|
724
|
-
class REXML::Comment < ::REXML::Child
|
725
|
-
include ::Comparable
|
726
|
-
|
727
|
-
# Constructor. The first argument can be one of three types:
|
728
|
-
# argument. If Comment, the argument is duplicated. If
|
729
|
-
# Source, the argument is scanned for a comment.
|
730
|
-
# should be nil, not supplied, or a Parent to be set as the parent
|
731
|
-
# of this object
|
732
|
-
#
|
733
|
-
# @param first If String, the contents of this comment are set to the
|
734
|
-
# @param second If the first argument is a Source, this argument
|
735
|
-
# @return [Comment] a new instance of Comment
|
736
|
-
#
|
737
|
-
# source://rexml//lib/rexml/comment.rb#24
|
738
|
-
def initialize(first, second = T.unsafe(nil)); end
|
739
|
-
|
740
|
-
# Compares this Comment to another; the contents of the comment are used
|
741
|
-
# in the comparison.
|
742
|
-
#
|
743
|
-
# source://rexml//lib/rexml/comment.rb#63
|
744
|
-
def <=>(other); end
|
745
|
-
|
746
|
-
# Compares this Comment to another; the contents of the comment are used
|
747
|
-
# in the comparison.
|
748
|
-
#
|
749
|
-
# source://rexml//lib/rexml/comment.rb#70
|
750
|
-
def ==(other); end
|
751
|
-
|
752
|
-
# source://rexml//lib/rexml/comment.rb#33
|
753
|
-
def clone; end
|
754
|
-
|
755
|
-
# source://rexml//lib/rexml/comment.rb#75
|
756
|
-
def node_type; end
|
757
|
-
|
758
|
-
# The content text
|
759
|
-
#
|
760
|
-
# source://rexml//lib/rexml/comment.rb#14
|
761
|
-
def string; end
|
762
|
-
|
763
|
-
# The content text
|
764
|
-
#
|
765
|
-
# source://rexml//lib/rexml/comment.rb#14
|
766
|
-
def string=(_arg0); end
|
767
|
-
|
768
|
-
# The content text
|
769
|
-
#
|
770
|
-
# source://rexml//lib/rexml/comment.rb#14
|
771
|
-
def to_s; end
|
772
|
-
|
773
|
-
# == DEPRECATED
|
774
|
-
# See REXML::Formatters
|
775
|
-
#
|
776
|
-
# output::
|
777
|
-
# Where to write the string
|
778
|
-
# indent::
|
779
|
-
# An integer. If -1, no indenting will be used; otherwise, the
|
780
|
-
# indentation will be this number of spaces, and children will be
|
781
|
-
# indented an additional amount.
|
782
|
-
# transitive::
|
783
|
-
# Ignored by this class. The contents of comments are never modified.
|
784
|
-
# ie_hack::
|
785
|
-
# Needed for conformity to the child API, but not used by this class.
|
786
|
-
#
|
787
|
-
# source://rexml//lib/rexml/comment.rb#50
|
788
|
-
def write(output, indent = T.unsafe(nil), transitive = T.unsafe(nil), ie_hack = T.unsafe(nil)); end
|
789
|
-
end
|
790
|
-
|
791
|
-
# source://rexml//lib/rexml/xpath_parser.rb#11
|
792
|
-
module REXML::DClonable; end
|
793
|
-
|
794
|
-
# This is an abstract class. You never use this directly; it serves as a
|
795
|
-
# parent class for the specific declarations.
|
796
|
-
#
|
797
|
-
# source://rexml//lib/rexml/doctype.rb#242
|
798
|
-
class REXML::Declaration < ::REXML::Child
|
799
|
-
# @return [Declaration] a new instance of Declaration
|
800
|
-
#
|
801
|
-
# source://rexml//lib/rexml/doctype.rb#243
|
802
|
-
def initialize(src); end
|
803
|
-
|
804
|
-
# source://rexml//lib/rexml/doctype.rb#248
|
805
|
-
def to_s; end
|
806
|
-
|
807
|
-
# == DEPRECATED
|
808
|
-
# See REXML::Formatters
|
809
|
-
#
|
810
|
-
# source://rexml//lib/rexml/doctype.rb#255
|
811
|
-
def write(output, indent); end
|
812
|
-
end
|
813
|
-
|
814
|
-
# Represents an XML DOCTYPE declaration; that is, the contents of <!DOCTYPE
|
815
|
-
# ... >. DOCTYPES can be used to declare the DTD of a document, as well as
|
816
|
-
# being used to declare entities used in the document.
|
817
|
-
#
|
818
|
-
# source://rexml//lib/rexml/doctype.rb#51
|
819
|
-
class REXML::DocType < ::REXML::Parent
|
820
|
-
include ::REXML::XMLTokens
|
821
|
-
|
822
|
-
# Constructor
|
823
|
-
#
|
824
|
-
# dt = DocType.new( 'foo', '-//I/Hate/External/IDs' )
|
825
|
-
# # <!DOCTYPE foo '-//I/Hate/External/IDs'>
|
826
|
-
# dt = DocType.new( doctype_to_clone )
|
827
|
-
# # Incomplete. Shallow clone of doctype
|
828
|
-
#
|
829
|
-
# +Note+ that the constructor:
|
830
|
-
#
|
831
|
-
# Doctype.new( Source.new( "<!DOCTYPE foo 'bar'>" ) )
|
832
|
-
#
|
833
|
-
# is _deprecated_. Do not use it. It will probably disappear.
|
834
|
-
#
|
835
|
-
# @return [DocType] a new instance of DocType
|
836
|
-
#
|
837
|
-
# source://rexml//lib/rexml/doctype.rb#80
|
838
|
-
def initialize(first, parent = T.unsafe(nil)); end
|
839
|
-
|
840
|
-
# source://rexml//lib/rexml/doctype.rb#185
|
841
|
-
def add(child); end
|
842
|
-
|
843
|
-
# source://rexml//lib/rexml/doctype.rb#125
|
844
|
-
def attribute_of(element, attribute); end
|
845
|
-
|
846
|
-
# source://rexml//lib/rexml/doctype.rb#115
|
847
|
-
def attributes_of(element); end
|
848
|
-
|
849
|
-
# source://rexml//lib/rexml/doctype.rb#135
|
850
|
-
def clone; end
|
851
|
-
|
852
|
-
# source://rexml//lib/rexml/doctype.rb#173
|
853
|
-
def context; end
|
854
|
-
|
855
|
-
# name is the name of the doctype
|
856
|
-
# external_id is the referenced DTD, if given
|
857
|
-
#
|
858
|
-
# source://rexml//lib/rexml/doctype.rb#66
|
859
|
-
def entities; end
|
860
|
-
|
861
|
-
# source://rexml//lib/rexml/doctype.rb#181
|
862
|
-
def entity(name); end
|
863
|
-
|
864
|
-
# name is the name of the doctype
|
865
|
-
# external_id is the referenced DTD, if given
|
866
|
-
#
|
867
|
-
# source://rexml//lib/rexml/doctype.rb#66
|
868
|
-
def external_id; end
|
869
|
-
|
870
|
-
# name is the name of the doctype
|
871
|
-
# external_id is the referenced DTD, if given
|
872
|
-
#
|
873
|
-
# source://rexml//lib/rexml/doctype.rb#66
|
874
|
-
def name; end
|
875
|
-
|
876
|
-
# name is the name of the doctype
|
877
|
-
# external_id is the referenced DTD, if given
|
878
|
-
#
|
879
|
-
# source://rexml//lib/rexml/doctype.rb#66
|
880
|
-
def namespaces; end
|
881
|
-
|
882
|
-
# source://rexml//lib/rexml/doctype.rb#111
|
883
|
-
def node_type; end
|
884
|
-
|
885
|
-
# Retrieves a named notation. Only notations declared in the internal
|
886
|
-
# DTD subset can be retrieved.
|
887
|
-
#
|
888
|
-
# Method contributed by Henrik Martensson
|
889
|
-
#
|
890
|
-
# source://rexml//lib/rexml/doctype.rb#229
|
891
|
-
def notation(name); end
|
892
|
-
|
893
|
-
# This method returns a list of notations that have been declared in the
|
894
|
-
# _internal_ DTD subset. Notations in the external DTD subset are not
|
895
|
-
# listed.
|
896
|
-
#
|
897
|
-
# Method contributed by Henrik Martensson
|
898
|
-
#
|
899
|
-
# source://rexml//lib/rexml/doctype.rb#221
|
900
|
-
def notations; end
|
901
|
-
|
902
|
-
# This method retrieves the public identifier identifying the document's
|
903
|
-
# DTD.
|
904
|
-
#
|
905
|
-
# Method contributed by Henrik Martensson
|
906
|
-
#
|
907
|
-
# source://rexml//lib/rexml/doctype.rb#195
|
908
|
-
def public; end
|
909
|
-
|
910
|
-
# This method retrieves the system identifier identifying the document's DTD
|
911
|
-
#
|
912
|
-
# Method contributed by Henrik Martensson
|
913
|
-
#
|
914
|
-
# source://rexml//lib/rexml/doctype.rb#207
|
915
|
-
def system; end
|
916
|
-
|
917
|
-
# output::
|
918
|
-
# Where to write the string
|
919
|
-
# indent::
|
920
|
-
# An integer. If -1, no indentation will be used; otherwise, the
|
921
|
-
# indentation will be this number of spaces, and children will be
|
922
|
-
# indented an additional amount.
|
923
|
-
# transitive::
|
924
|
-
# Ignored
|
925
|
-
# ie_hack::
|
926
|
-
# Ignored
|
927
|
-
#
|
928
|
-
# source://rexml//lib/rexml/doctype.rb#149
|
929
|
-
def write(output, indent = T.unsafe(nil), transitive = T.unsafe(nil), ie_hack = T.unsafe(nil)); end
|
930
|
-
end
|
931
|
-
|
932
|
-
# Represents an XML document.
|
933
|
-
#
|
934
|
-
# A document may have:
|
935
|
-
#
|
936
|
-
# - A single child that may be accessed via method #root.
|
937
|
-
# - An XML declaration.
|
938
|
-
# - A document type.
|
939
|
-
# - Processing instructions.
|
940
|
-
#
|
941
|
-
# == In a Hurry?
|
942
|
-
#
|
943
|
-
# If you're somewhat familiar with XML
|
944
|
-
# and have a particular task in mind,
|
945
|
-
# you may want to see the
|
946
|
-
# {tasks pages}[../doc/rexml/tasks/tocs/master_toc_rdoc.html],
|
947
|
-
# and in particular, the
|
948
|
-
# {tasks page for documents}[../doc/rexml/tasks/tocs/document_toc_rdoc.html].
|
949
|
-
#
|
950
|
-
# source://rexml//lib/rexml/document.rb#39
|
951
|
-
class REXML::Document < ::REXML::Element
|
952
|
-
# :call-seq:
|
953
|
-
# new(string = nil, context = {}) -> new_document
|
954
|
-
# new(io_stream = nil, context = {}) -> new_document
|
955
|
-
# new(document = nil, context = {}) -> new_document
|
956
|
-
#
|
957
|
-
# Returns a new \REXML::Document object.
|
958
|
-
#
|
959
|
-
# When no arguments are given,
|
960
|
-
# returns an empty document:
|
961
|
-
#
|
962
|
-
# d = REXML::Document.new
|
963
|
-
# d.to_s # => ""
|
964
|
-
#
|
965
|
-
# When argument +string+ is given, it must be a string
|
966
|
-
# containing a valid XML document:
|
967
|
-
#
|
968
|
-
# xml_string = '<root><foo>Foo</foo><bar>Bar</bar></root>'
|
969
|
-
# d = REXML::Document.new(xml_string)
|
970
|
-
# d.to_s # => "<root><foo>Foo</foo><bar>Bar</bar></root>"
|
971
|
-
#
|
972
|
-
# When argument +io_stream+ is given, it must be an \IO object
|
973
|
-
# that is opened for reading, and when read must return a valid XML document:
|
974
|
-
#
|
975
|
-
# File.write('t.xml', xml_string)
|
976
|
-
# d = File.open('t.xml', 'r') do |io|
|
977
|
-
# REXML::Document.new(io)
|
978
|
-
# end
|
979
|
-
# d.to_s # => "<root><foo>Foo</foo><bar>Bar</bar></root>"
|
980
|
-
#
|
981
|
-
# When argument +document+ is given, it must be an existing
|
982
|
-
# document object, whose context and attributes (but not children)
|
983
|
-
# are cloned into the new document:
|
984
|
-
#
|
985
|
-
# d = REXML::Document.new(xml_string)
|
986
|
-
# d.children # => [<root> ... </>]
|
987
|
-
# d.context = {raw: :all, compress_whitespace: :all}
|
988
|
-
# d.add_attributes({'bar' => 0, 'baz' => 1})
|
989
|
-
# d1 = REXML::Document.new(d)
|
990
|
-
# d1.children # => []
|
991
|
-
# d1.context # => {:raw=>:all, :compress_whitespace=>:all}
|
992
|
-
# d1.attributes # => {"bar"=>bar='0', "baz"=>baz='1'}
|
993
|
-
#
|
994
|
-
# When argument +context+ is given, it must be a hash
|
995
|
-
# containing context entries for the document;
|
996
|
-
# see {Element Context}[../doc/rexml/context_rdoc.html]:
|
997
|
-
#
|
998
|
-
# context = {raw: :all, compress_whitespace: :all}
|
999
|
-
# d = REXML::Document.new(xml_string, context)
|
1000
|
-
# d.context # => {:raw=>:all, :compress_whitespace=>:all}
|
1001
|
-
#
|
1002
|
-
# @return [Document] a new instance of Document
|
1003
|
-
#
|
1004
|
-
# source://rexml//lib/rexml/document.rb#92
|
1005
|
-
def initialize(source = T.unsafe(nil), context = T.unsafe(nil)); end
|
1006
|
-
|
1007
|
-
# :call-seq:
|
1008
|
-
# add(xml_decl) -> self
|
1009
|
-
# add(doc_type) -> self
|
1010
|
-
# add(object) -> self
|
1011
|
-
#
|
1012
|
-
# Adds an object to the document; returns +self+.
|
1013
|
-
#
|
1014
|
-
# When argument +xml_decl+ is given,
|
1015
|
-
# it must be an REXML::XMLDecl object,
|
1016
|
-
# which becomes the XML declaration for the document,
|
1017
|
-
# replacing the previous XML declaration if any:
|
1018
|
-
#
|
1019
|
-
# d = REXML::Document.new
|
1020
|
-
# d.xml_decl.to_s # => ""
|
1021
|
-
# d.add(REXML::XMLDecl.new('2.0'))
|
1022
|
-
# d.xml_decl.to_s # => "<?xml version='2.0'?>"
|
1023
|
-
#
|
1024
|
-
# When argument +doc_type+ is given,
|
1025
|
-
# it must be an REXML::DocType object,
|
1026
|
-
# which becomes the document type for the document,
|
1027
|
-
# replacing the previous document type, if any:
|
1028
|
-
#
|
1029
|
-
# d = REXML::Document.new
|
1030
|
-
# d.doctype.to_s # => ""
|
1031
|
-
# d.add(REXML::DocType.new('foo'))
|
1032
|
-
# d.doctype.to_s # => "<!DOCTYPE foo>"
|
1033
|
-
#
|
1034
|
-
# When argument +object+ (not an REXML::XMLDecl or REXML::DocType object)
|
1035
|
-
# is given it is added as the last child:
|
1036
|
-
#
|
1037
|
-
# d = REXML::Document.new
|
1038
|
-
# d.add(REXML::Element.new('foo'))
|
1039
|
-
# d.to_s # => "<foo/>"
|
1040
|
-
#
|
1041
|
-
# source://rexml//lib/rexml/document.rb#172
|
1042
|
-
def <<(child); end
|
1043
|
-
|
1044
|
-
# :call-seq:
|
1045
|
-
# add(xml_decl) -> self
|
1046
|
-
# add(doc_type) -> self
|
1047
|
-
# add(object) -> self
|
1048
|
-
#
|
1049
|
-
# Adds an object to the document; returns +self+.
|
1050
|
-
#
|
1051
|
-
# When argument +xml_decl+ is given,
|
1052
|
-
# it must be an REXML::XMLDecl object,
|
1053
|
-
# which becomes the XML declaration for the document,
|
1054
|
-
# replacing the previous XML declaration if any:
|
1055
|
-
#
|
1056
|
-
# d = REXML::Document.new
|
1057
|
-
# d.xml_decl.to_s # => ""
|
1058
|
-
# d.add(REXML::XMLDecl.new('2.0'))
|
1059
|
-
# d.xml_decl.to_s # => "<?xml version='2.0'?>"
|
1060
|
-
#
|
1061
|
-
# When argument +doc_type+ is given,
|
1062
|
-
# it must be an REXML::DocType object,
|
1063
|
-
# which becomes the document type for the document,
|
1064
|
-
# replacing the previous document type, if any:
|
1065
|
-
#
|
1066
|
-
# d = REXML::Document.new
|
1067
|
-
# d.doctype.to_s # => ""
|
1068
|
-
# d.add(REXML::DocType.new('foo'))
|
1069
|
-
# d.doctype.to_s # => "<!DOCTYPE foo>"
|
1070
|
-
#
|
1071
|
-
# When argument +object+ (not an REXML::XMLDecl or REXML::DocType object)
|
1072
|
-
# is given it is added as the last child:
|
1073
|
-
#
|
1074
|
-
# d = REXML::Document.new
|
1075
|
-
# d.add(REXML::Element.new('foo'))
|
1076
|
-
# d.to_s # => "<foo/>"
|
1077
|
-
#
|
1078
|
-
# source://rexml//lib/rexml/document.rb#172
|
1079
|
-
def add(child); end
|
1080
|
-
|
1081
|
-
# :call-seq:
|
1082
|
-
# add_element(name_or_element = nil, attributes = nil) -> new_element
|
1083
|
-
#
|
1084
|
-
# Adds an element to the document by calling REXML::Element.add_element:
|
1085
|
-
#
|
1086
|
-
# REXML::Element.add_element(name_or_element, attributes)
|
1087
|
-
#
|
1088
|
-
# source://rexml//lib/rexml/document.rb#211
|
1089
|
-
def add_element(arg = T.unsafe(nil), arg2 = T.unsafe(nil)); end
|
1090
|
-
|
1091
|
-
# :call-seq:
|
1092
|
-
# clone -> new_document
|
1093
|
-
#
|
1094
|
-
# Returns the new document resulting from executing
|
1095
|
-
# <tt>Document.new(self)</tt>. See Document.new.
|
1096
|
-
#
|
1097
|
-
# source://rexml//lib/rexml/document.rb#122
|
1098
|
-
def clone; end
|
1099
|
-
|
1100
|
-
# :call-seq:
|
1101
|
-
# doctype -> doc_type or nil
|
1102
|
-
#
|
1103
|
-
# Returns the DocType object for the document, if it exists, otherwise +nil+:
|
1104
|
-
#
|
1105
|
-
# d = REXML::Document.new('<!DOCTYPE document SYSTEM "subjects.dtd">')
|
1106
|
-
# d.doctype.class # => REXML::DocType
|
1107
|
-
# d = REXML::Document.new('')
|
1108
|
-
# d.doctype.class # => nil
|
1109
|
-
#
|
1110
|
-
# source://rexml//lib/rexml/document.rb#243
|
1111
|
-
def doctype; end
|
1112
|
-
|
1113
|
-
# source://rexml//lib/rexml/document.rb#446
|
1114
|
-
def document; end
|
1115
|
-
|
1116
|
-
# :call-seq:
|
1117
|
-
# encoding -> encoding_string
|
1118
|
-
#
|
1119
|
-
# Returns the XMLDecl encoding of the document,
|
1120
|
-
#
|
1121
|
-
# d = REXML::Document.new('<?xml version="1.0" encoding="UTF-16"?>')
|
1122
|
-
# d.encoding # => "UTF-16"
|
1123
|
-
# d = REXML::Document.new('')
|
1124
|
-
# d.encoding # => "UTF-8"
|
1125
|
-
#
|
1126
|
-
# source://rexml//lib/rexml/document.rb#292
|
1127
|
-
def encoding; end
|
1128
|
-
|
1129
|
-
# Returns the value of attribute entity_expansion_count.
|
1130
|
-
#
|
1131
|
-
# source://rexml//lib/rexml/document.rb#435
|
1132
|
-
def entity_expansion_count; end
|
1133
|
-
|
1134
|
-
# Sets the attribute entity_expansion_limit
|
1135
|
-
#
|
1136
|
-
# @param value the value to set the attribute entity_expansion_limit to.
|
1137
|
-
#
|
1138
|
-
# source://rexml//lib/rexml/document.rb#436
|
1139
|
-
def entity_expansion_limit=(_arg0); end
|
1140
|
-
|
1141
|
-
# Returns the value of attribute entity_expansion_text_limit.
|
1142
|
-
#
|
1143
|
-
# source://rexml//lib/rexml/document.rb#437
|
1144
|
-
def entity_expansion_text_limit; end
|
1145
|
-
|
1146
|
-
# Sets the attribute entity_expansion_text_limit
|
1147
|
-
#
|
1148
|
-
# @param value the value to set the attribute entity_expansion_text_limit to.
|
1149
|
-
#
|
1150
|
-
# source://rexml//lib/rexml/document.rb#437
|
1151
|
-
def entity_expansion_text_limit=(_arg0); end
|
1152
|
-
|
1153
|
-
# :call-seq:
|
1154
|
-
# expanded_name -> empty_string
|
1155
|
-
#
|
1156
|
-
# Returns an empty string.
|
1157
|
-
#
|
1158
|
-
# source://rexml//lib/rexml/document.rb#131
|
1159
|
-
def expanded_name; end
|
1160
|
-
|
1161
|
-
# :call-seq:
|
1162
|
-
# expanded_name -> empty_string
|
1163
|
-
#
|
1164
|
-
# Returns an empty string.
|
1165
|
-
# d = doc_type
|
1166
|
-
# d ? d.name : "UNDEFINED"
|
1167
|
-
#
|
1168
|
-
# source://rexml//lib/rexml/document.rb#131
|
1169
|
-
def name; end
|
1170
|
-
|
1171
|
-
# :call-seq:
|
1172
|
-
# node_type -> :document
|
1173
|
-
#
|
1174
|
-
# Returns the symbol +:document+.
|
1175
|
-
#
|
1176
|
-
# source://rexml//lib/rexml/document.rb#112
|
1177
|
-
def node_type; end
|
1178
|
-
|
1179
|
-
# source://rexml//lib/rexml/document.rb#439
|
1180
|
-
def record_entity_expansion; end
|
1181
|
-
|
1182
|
-
# :call-seq:
|
1183
|
-
# root -> root_element or nil
|
1184
|
-
#
|
1185
|
-
# Returns the root element of the document, if it exists, otherwise +nil+:
|
1186
|
-
#
|
1187
|
-
# d = REXML::Document.new('<root></root>')
|
1188
|
-
# d.root # => <root/>
|
1189
|
-
# d = REXML::Document.new('')
|
1190
|
-
# d.root # => nil
|
1191
|
-
#
|
1192
|
-
# source://rexml//lib/rexml/document.rb#227
|
1193
|
-
def root; end
|
1194
|
-
|
1195
|
-
# :call-seq:
|
1196
|
-
# stand_alone?
|
1197
|
-
#
|
1198
|
-
# Returns the XMLDecl standalone value of the document as a string,
|
1199
|
-
# if it has been set, otherwise the default standalone value:
|
1200
|
-
#
|
1201
|
-
# d = REXML::Document.new('<?xml standalone="yes"?>')
|
1202
|
-
# d.stand_alone? # => "yes"
|
1203
|
-
# d = REXML::Document.new('')
|
1204
|
-
# d.stand_alone? # => nil
|
1205
|
-
#
|
1206
|
-
# @return [Boolean]
|
1207
|
-
#
|
1208
|
-
# source://rexml//lib/rexml/document.rb#307
|
1209
|
-
def stand_alone?; end
|
1210
|
-
|
1211
|
-
# :call-seq:
|
1212
|
-
# version -> version_string
|
1213
|
-
#
|
1214
|
-
# Returns the XMLDecl version of this document as a string,
|
1215
|
-
# if it has been set, otherwise the default version:
|
1216
|
-
#
|
1217
|
-
# d = REXML::Document.new('<?xml version="2.0" encoding="UTF-8"?>')
|
1218
|
-
# d.version # => "2.0"
|
1219
|
-
# d = REXML::Document.new('')
|
1220
|
-
# d.version # => "1.0"
|
1221
|
-
#
|
1222
|
-
# source://rexml//lib/rexml/document.rb#277
|
1223
|
-
def version; end
|
1224
|
-
|
1225
|
-
# :call-seq:
|
1226
|
-
# doc.write(output=$stdout, indent=-1, transtive=false, ie_hack=false, encoding=nil)
|
1227
|
-
# doc.write(options={:output => $stdout, :indent => -1, :transtive => false, :ie_hack => false, :encoding => nil})
|
1228
|
-
#
|
1229
|
-
# Write the XML tree out, optionally with indent. This writes out the
|
1230
|
-
# entire XML document, including XML declarations, doctype declarations,
|
1231
|
-
# and processing instructions (if any are given).
|
1232
|
-
#
|
1233
|
-
# A controversial point is whether Document should always write the XML
|
1234
|
-
# declaration (<?xml version='1.0'?>) whether or not one is given by the
|
1235
|
-
# user (or source document). REXML does not write one if one was not
|
1236
|
-
# specified, because it adds unnecessary bandwidth to applications such
|
1237
|
-
# as XML-RPC.
|
1238
|
-
#
|
1239
|
-
# Accept Nth argument style and options Hash style as argument.
|
1240
|
-
# The recommended style is options Hash style for one or more
|
1241
|
-
# arguments case.
|
1242
|
-
#
|
1243
|
-
# _Examples_
|
1244
|
-
# Document.new("<a><b/></a>").write
|
1245
|
-
#
|
1246
|
-
# output = ""
|
1247
|
-
# Document.new("<a><b/></a>").write(output)
|
1248
|
-
#
|
1249
|
-
# output = ""
|
1250
|
-
# Document.new("<a><b/></a>").write(:output => output, :indent => 2)
|
1251
|
-
#
|
1252
|
-
# See also the classes in the rexml/formatters package for the proper way
|
1253
|
-
# to change the default formatting of XML output.
|
1254
|
-
#
|
1255
|
-
# _Examples_
|
1256
|
-
#
|
1257
|
-
# output = ""
|
1258
|
-
# tr = Transitive.new
|
1259
|
-
# tr.write(Document.new("<a><b/></a>"), output)
|
1260
|
-
#
|
1261
|
-
# output::
|
1262
|
-
# output an object which supports '<< string'; this is where the
|
1263
|
-
# document will be written.
|
1264
|
-
# indent::
|
1265
|
-
# An integer. If -1, no indenting will be used; otherwise, the
|
1266
|
-
# indentation will be twice this number of spaces, and children will be
|
1267
|
-
# indented an additional amount. For a value of 3, every item will be
|
1268
|
-
# indented 3 more levels, or 6 more spaces (2 * 3). Defaults to -1
|
1269
|
-
# transitive::
|
1270
|
-
# If transitive is true and indent is >= 0, then the output will be
|
1271
|
-
# pretty-printed in such a way that the added whitespace does not affect
|
1272
|
-
# the absolute *value* of the document -- that is, it leaves the value
|
1273
|
-
# and number of Text nodes in the document unchanged.
|
1274
|
-
# ie_hack::
|
1275
|
-
# This hack inserts a space before the /> on empty tags to address
|
1276
|
-
# a limitation of Internet Explorer. Defaults to false
|
1277
|
-
# Encoding name as String. Change output encoding to specified encoding
|
1278
|
-
# instead of encoding in XML declaration.
|
1279
|
-
# Defaults to nil. It means encoding in XML declaration is used.
|
1280
|
-
#
|
1281
|
-
# source://rexml//lib/rexml/document.rb#367
|
1282
|
-
def write(*arguments); end
|
1283
|
-
|
1284
|
-
# :call-seq:
|
1285
|
-
# xml_decl -> xml_decl
|
1286
|
-
#
|
1287
|
-
# Returns the XMLDecl object for the document, if it exists,
|
1288
|
-
# otherwise the default XMLDecl object:
|
1289
|
-
#
|
1290
|
-
# d = REXML::Document.new('<?xml version="1.0" encoding="UTF-8"?>')
|
1291
|
-
# d.xml_decl.class # => REXML::XMLDecl
|
1292
|
-
# d.xml_decl.to_s # => "<?xml version='1.0' encoding='UTF-8'?>"
|
1293
|
-
# d = REXML::Document.new('')
|
1294
|
-
# d.xml_decl.class # => REXML::XMLDecl
|
1295
|
-
# d.xml_decl.to_s # => ""
|
1296
|
-
#
|
1297
|
-
# source://rexml//lib/rexml/document.rb#260
|
1298
|
-
def xml_decl; end
|
1299
|
-
|
1300
|
-
private
|
1301
|
-
|
1302
|
-
# source://rexml//lib/rexml/document.rb#451
|
1303
|
-
def build(source); end
|
1304
|
-
|
1305
|
-
class << self
|
1306
|
-
# Get the entity expansion limit. By default the limit is set to 10000.
|
1307
|
-
#
|
1308
|
-
# Deprecated. Use REXML::Security.entity_expansion_limit= instead.
|
1309
|
-
#
|
1310
|
-
# source://rexml//lib/rexml/document.rb#417
|
1311
|
-
def entity_expansion_limit; end
|
1312
|
-
|
1313
|
-
# Set the entity expansion limit. By default the limit is set to 10000.
|
1314
|
-
#
|
1315
|
-
# Deprecated. Use REXML::Security.entity_expansion_limit= instead.
|
1316
|
-
#
|
1317
|
-
# source://rexml//lib/rexml/document.rb#410
|
1318
|
-
def entity_expansion_limit=(val); end
|
1319
|
-
|
1320
|
-
# Get the entity expansion limit. By default the limit is set to 10240.
|
1321
|
-
#
|
1322
|
-
# Deprecated. Use REXML::Security.entity_expansion_text_limit instead.
|
1323
|
-
#
|
1324
|
-
# source://rexml//lib/rexml/document.rb#431
|
1325
|
-
def entity_expansion_text_limit; end
|
1326
|
-
|
1327
|
-
# Set the entity expansion limit. By default the limit is set to 10240.
|
1328
|
-
#
|
1329
|
-
# Deprecated. Use REXML::Security.entity_expansion_text_limit= instead.
|
1330
|
-
#
|
1331
|
-
# source://rexml//lib/rexml/document.rb#424
|
1332
|
-
def entity_expansion_text_limit=(val); end
|
1333
|
-
|
1334
|
-
# source://rexml//lib/rexml/document.rb#403
|
1335
|
-
def parse_stream(source, listener); end
|
1336
|
-
end
|
1337
|
-
end
|
1338
|
-
|
1339
|
-
# An \REXML::Element object represents an XML element.
|
1340
|
-
#
|
1341
|
-
# An element:
|
1342
|
-
#
|
1343
|
-
# - Has a name (string).
|
1344
|
-
# - May have a parent (another element).
|
1345
|
-
# - Has zero or more children
|
1346
|
-
# (other elements, text, CDATA, processing instructions, and comments).
|
1347
|
-
# - Has zero or more siblings
|
1348
|
-
# (other elements, text, CDATA, processing instructions, and comments).
|
1349
|
-
# - Has zero or more named attributes.
|
1350
|
-
#
|
1351
|
-
# == In a Hurry?
|
1352
|
-
#
|
1353
|
-
# If you're somewhat familiar with XML
|
1354
|
-
# and have a particular task in mind,
|
1355
|
-
# you may want to see the
|
1356
|
-
# {tasks pages}[../doc/rexml/tasks/tocs/master_toc_rdoc.html],
|
1357
|
-
# and in particular, the
|
1358
|
-
# {tasks page for elements}[../doc/rexml/tasks/tocs/element_toc_rdoc.html].
|
1359
|
-
#
|
1360
|
-
# === Name
|
1361
|
-
#
|
1362
|
-
# An element has a name, which is initially set when the element is created:
|
1363
|
-
#
|
1364
|
-
# e = REXML::Element.new('foo')
|
1365
|
-
# e.name # => "foo"
|
1366
|
-
#
|
1367
|
-
# The name may be changed:
|
1368
|
-
#
|
1369
|
-
# e.name = 'bar'
|
1370
|
-
# e.name # => "bar"
|
1371
|
-
#
|
1372
|
-
#
|
1373
|
-
# === \Parent
|
1374
|
-
#
|
1375
|
-
# An element may have a parent.
|
1376
|
-
#
|
1377
|
-
# Its parent may be assigned explicitly when the element is created:
|
1378
|
-
#
|
1379
|
-
# e0 = REXML::Element.new('foo')
|
1380
|
-
# e1 = REXML::Element.new('bar', e0)
|
1381
|
-
# e1.parent # => <foo> ... </>
|
1382
|
-
#
|
1383
|
-
# Note: the representation of an element always shows the element's name.
|
1384
|
-
# If the element has children, the representation indicates that
|
1385
|
-
# by including an ellipsis (<tt>...</tt>).
|
1386
|
-
#
|
1387
|
-
# The parent may be assigned explicitly at any time:
|
1388
|
-
#
|
1389
|
-
# e2 = REXML::Element.new('baz')
|
1390
|
-
# e1.parent = e2
|
1391
|
-
# e1.parent # => <baz/>
|
1392
|
-
#
|
1393
|
-
# When an element is added as a child, its parent is set automatically:
|
1394
|
-
#
|
1395
|
-
# e1.add_element(e0)
|
1396
|
-
# e0.parent # => <bar> ... </>
|
1397
|
-
#
|
1398
|
-
# For an element that has no parent, method +parent+ returns +nil+.
|
1399
|
-
#
|
1400
|
-
# === Children
|
1401
|
-
#
|
1402
|
-
# An element has zero or more children.
|
1403
|
-
# The children are an ordered collection
|
1404
|
-
# of all objects whose parent is the element itself.
|
1405
|
-
#
|
1406
|
-
# The children may include any combination of elements, text, comments,
|
1407
|
-
# processing instructions, and CDATA.
|
1408
|
-
# (This example keeps things clean by controlling whitespace
|
1409
|
-
# via a +context+ setting.)
|
1410
|
-
#
|
1411
|
-
# xml_string = <<-EOT
|
1412
|
-
# <root>
|
1413
|
-
# <ele_0/>
|
1414
|
-
# text 0
|
1415
|
-
# <!--comment 0-->
|
1416
|
-
# <?target_0 pi_0?>
|
1417
|
-
# <![CDATA[cdata 0]]>
|
1418
|
-
# <ele_1/>
|
1419
|
-
# text 1
|
1420
|
-
# <!--comment 1-->
|
1421
|
-
# <?target_0 pi_1?>
|
1422
|
-
# <![CDATA[cdata 1]]>
|
1423
|
-
# </root>
|
1424
|
-
# EOT
|
1425
|
-
# context = {ignore_whitespace_nodes: :all, compress_whitespace: :all}
|
1426
|
-
# d = REXML::Document.new(xml_string, context)
|
1427
|
-
# root = d.root
|
1428
|
-
# root.children.size # => 10
|
1429
|
-
# root.each {|child| p "#{child.class}: #{child}" }
|
1430
|
-
#
|
1431
|
-
# Output:
|
1432
|
-
#
|
1433
|
-
# "REXML::Element: <ele_0/>"
|
1434
|
-
# "REXML::Text: \n text 0\n "
|
1435
|
-
# "REXML::Comment: comment 0"
|
1436
|
-
# "REXML::Instruction: <?target_0 pi_0?>"
|
1437
|
-
# "REXML::CData: cdata 0"
|
1438
|
-
# "REXML::Element: <ele_1/>"
|
1439
|
-
# "REXML::Text: \n text 1\n "
|
1440
|
-
# "REXML::Comment: comment 1"
|
1441
|
-
# "REXML::Instruction: <?target_0 pi_1?>"
|
1442
|
-
# "REXML::CData: cdata 1"
|
1443
|
-
#
|
1444
|
-
# A child may be added using inherited methods
|
1445
|
-
# Parent#insert_before or Parent#insert_after:
|
1446
|
-
#
|
1447
|
-
# xml_string = '<root><a/><c/><d/></root>'
|
1448
|
-
# d = REXML::Document.new(xml_string)
|
1449
|
-
# root = d.root
|
1450
|
-
# c = d.root[1] # => <c/>
|
1451
|
-
# root.insert_before(c, REXML::Element.new('b'))
|
1452
|
-
# root.to_a # => [<a/>, <b/>, <c/>, <d/>]
|
1453
|
-
#
|
1454
|
-
# A child may be replaced using Parent#replace_child:
|
1455
|
-
#
|
1456
|
-
# root.replace_child(c, REXML::Element.new('x'))
|
1457
|
-
# root.to_a # => [<a/>, <b/>, <x/>, <d/>]
|
1458
|
-
#
|
1459
|
-
# A child may be removed using Parent#delete:
|
1460
|
-
#
|
1461
|
-
# x = root[2] # => <x/>
|
1462
|
-
# root.delete(x)
|
1463
|
-
# root.to_a # => [<a/>, <b/>, <d/>]
|
1464
|
-
#
|
1465
|
-
# === Siblings
|
1466
|
-
#
|
1467
|
-
# An element has zero or more siblings,
|
1468
|
-
# which are the other children of the element's parent.
|
1469
|
-
#
|
1470
|
-
# In the example above, element +ele_1+ is between a CDATA sibling
|
1471
|
-
# and a text sibling:
|
1472
|
-
#
|
1473
|
-
# ele_1 = root[5] # => <ele_1/>
|
1474
|
-
# ele_1.previous_sibling # => "cdata 0"
|
1475
|
-
# ele_1.next_sibling # => "\n text 1\n "
|
1476
|
-
#
|
1477
|
-
# === \Attributes
|
1478
|
-
#
|
1479
|
-
# An element has zero or more named attributes.
|
1480
|
-
#
|
1481
|
-
# A new element has no attributes:
|
1482
|
-
#
|
1483
|
-
# e = REXML::Element.new('foo')
|
1484
|
-
# e.attributes # => {}
|
1485
|
-
#
|
1486
|
-
# Attributes may be added:
|
1487
|
-
#
|
1488
|
-
# e.add_attribute('bar', 'baz')
|
1489
|
-
# e.add_attribute('bat', 'bam')
|
1490
|
-
# e.attributes.size # => 2
|
1491
|
-
# e['bar'] # => "baz"
|
1492
|
-
# e['bat'] # => "bam"
|
1493
|
-
#
|
1494
|
-
# An existing attribute may be modified:
|
1495
|
-
#
|
1496
|
-
# e.add_attribute('bar', 'bad')
|
1497
|
-
# e.attributes.size # => 2
|
1498
|
-
# e['bar'] # => "bad"
|
1499
|
-
#
|
1500
|
-
# An existing attribute may be deleted:
|
1501
|
-
#
|
1502
|
-
# e.delete_attribute('bar')
|
1503
|
-
# e.attributes.size # => 1
|
1504
|
-
# e['bar'] # => nil
|
1505
|
-
#
|
1506
|
-
# == What's Here
|
1507
|
-
#
|
1508
|
-
# To begin with, what's elsewhere?
|
1509
|
-
#
|
1510
|
-
# \Class \REXML::Element inherits from its ancestor classes:
|
1511
|
-
#
|
1512
|
-
# - REXML::Child
|
1513
|
-
# - REXML::Parent
|
1514
|
-
#
|
1515
|
-
# \REXML::Element itself and its ancestors also include modules:
|
1516
|
-
#
|
1517
|
-
# - {Enumerable}[https://docs.ruby-lang.org/en/master/Enumerable.html]
|
1518
|
-
# - REXML::Namespace
|
1519
|
-
# - REXML::Node
|
1520
|
-
# - REXML::XMLTokens
|
1521
|
-
#
|
1522
|
-
# === Methods for Creating an \Element
|
1523
|
-
#
|
1524
|
-
# ::new:: Returns a new empty element.
|
1525
|
-
# #clone:: Returns a clone of another element.
|
1526
|
-
#
|
1527
|
-
# === Methods for Attributes
|
1528
|
-
#
|
1529
|
-
# {[attribute_name]}[#method-i-5B-5D]:: Returns an attribute value.
|
1530
|
-
# #add_attribute:: Adds a new attribute.
|
1531
|
-
# #add_attributes:: Adds multiple new attributes.
|
1532
|
-
# #attribute:: Returns the attribute value for a given name and optional namespace.
|
1533
|
-
# #delete_attribute:: Removes an attribute.
|
1534
|
-
#
|
1535
|
-
# === Methods for Children
|
1536
|
-
#
|
1537
|
-
# {[index]}[#method-i-5B-5D]:: Returns the child at the given offset.
|
1538
|
-
# #add_element:: Adds an element as the last child.
|
1539
|
-
# #delete_element:: Deletes a child element.
|
1540
|
-
# #each_element:: Calls the given block with each child element.
|
1541
|
-
# #each_element_with_attribute:: Calls the given block with each child element
|
1542
|
-
# that meets given criteria,
|
1543
|
-
# which can include the attribute name.
|
1544
|
-
# #each_element_with_text:: Calls the given block with each child element
|
1545
|
-
# that meets given criteria,
|
1546
|
-
# which can include text.
|
1547
|
-
# #get_elements:: Returns an array of element children that match a given xpath.
|
1548
|
-
#
|
1549
|
-
# === Methods for \Text Children
|
1550
|
-
#
|
1551
|
-
# #add_text:: Adds a text node to the element.
|
1552
|
-
# #get_text:: Returns a text node that meets specified criteria.
|
1553
|
-
# #text:: Returns the text string from the first node that meets specified criteria.
|
1554
|
-
# #texts:: Returns an array of the text children of the element.
|
1555
|
-
# #text=:: Adds, removes, or replaces the first text child of the element
|
1556
|
-
#
|
1557
|
-
# === Methods for Other Children
|
1558
|
-
#
|
1559
|
-
# #cdatas:: Returns an array of the cdata children of the element.
|
1560
|
-
# #comments:: Returns an array of the comment children of the element.
|
1561
|
-
# #instructions:: Returns an array of the instruction children of the element.
|
1562
|
-
#
|
1563
|
-
# === Methods for Namespaces
|
1564
|
-
#
|
1565
|
-
# #add_namespace:: Adds a namespace to the element.
|
1566
|
-
# #delete_namespace:: Removes a namespace from the element.
|
1567
|
-
# #namespace:: Returns the string namespace URI for the element.
|
1568
|
-
# #namespaces:: Returns a hash of all defined namespaces in the element.
|
1569
|
-
# #prefixes:: Returns an array of the string prefixes (names)
|
1570
|
-
# of all defined namespaces in the element
|
1571
|
-
#
|
1572
|
-
# === Methods for Querying
|
1573
|
-
#
|
1574
|
-
# #document:: Returns the document, if any, that the element belongs to.
|
1575
|
-
# #root:: Returns the most distant element (not document) ancestor of the element.
|
1576
|
-
# #root_node:: Returns the most distant ancestor of the element.
|
1577
|
-
# #xpath:: Returns the string xpath to the element
|
1578
|
-
# relative to the most distant parent
|
1579
|
-
# #has_attributes?:: Returns whether the element has attributes.
|
1580
|
-
# #has_elements?:: Returns whether the element has elements.
|
1581
|
-
# #has_text?:: Returns whether the element has text.
|
1582
|
-
# #next_element:: Returns the next sibling that is an element.
|
1583
|
-
# #previous_element:: Returns the previous sibling that is an element.
|
1584
|
-
# #raw:: Returns whether raw mode is set for the element.
|
1585
|
-
# #whitespace:: Returns whether whitespace is respected for the element.
|
1586
|
-
# #ignore_whitespace_nodes:: Returns whether whitespace nodes
|
1587
|
-
# are to be ignored for the element.
|
1588
|
-
# #node_type:: Returns symbol <tt>:element</tt>.
|
1589
|
-
#
|
1590
|
-
# === One More Method
|
1591
|
-
#
|
1592
|
-
# #inspect:: Returns a string representation of the element.
|
1593
|
-
#
|
1594
|
-
# === Accessors
|
1595
|
-
#
|
1596
|
-
# #elements:: Returns the REXML::Elements object for the element.
|
1597
|
-
# #attributes:: Returns the REXML::Attributes object for the element.
|
1598
|
-
# #context:: Returns or sets the context hash for the element.
|
1599
|
-
#
|
1600
|
-
# source://rexml//lib/rexml/element.rb#271
|
1601
|
-
class REXML::Element < ::REXML::Parent
|
1602
|
-
include ::REXML::XMLTokens
|
1603
|
-
include ::REXML::Namespace
|
1604
|
-
|
1605
|
-
# :call-seq:
|
1606
|
-
# Element.new(name = 'UNDEFINED', parent = nil, context = nil) -> new_element
|
1607
|
-
# Element.new(element, parent = nil, context = nil) -> new_element
|
1608
|
-
#
|
1609
|
-
# Returns a new \REXML::Element object.
|
1610
|
-
#
|
1611
|
-
# When no arguments are given,
|
1612
|
-
# returns an element with name <tt>'UNDEFINED'</tt>:
|
1613
|
-
#
|
1614
|
-
# e = REXML::Element.new # => <UNDEFINED/>
|
1615
|
-
# e.class # => REXML::Element
|
1616
|
-
# e.name # => "UNDEFINED"
|
1617
|
-
#
|
1618
|
-
# When only argument +name+ is given,
|
1619
|
-
# returns an element of the given name:
|
1620
|
-
#
|
1621
|
-
# REXML::Element.new('foo') # => <foo/>
|
1622
|
-
#
|
1623
|
-
# When only argument +element+ is given, it must be an \REXML::Element object;
|
1624
|
-
# returns a shallow copy of the given element:
|
1625
|
-
#
|
1626
|
-
# e0 = REXML::Element.new('foo')
|
1627
|
-
# e1 = REXML::Element.new(e0) # => <foo/>
|
1628
|
-
#
|
1629
|
-
# When argument +parent+ is also given, it must be an REXML::Parent object:
|
1630
|
-
#
|
1631
|
-
# e = REXML::Element.new('foo', REXML::Parent.new)
|
1632
|
-
# e.parent # => #<REXML::Parent @parent=nil, @children=[<foo/>]>
|
1633
|
-
#
|
1634
|
-
# When argument +context+ is also given, it must be a hash
|
1635
|
-
# representing the context for the element;
|
1636
|
-
# see {Element Context}[../doc/rexml/context_rdoc.html]:
|
1637
|
-
#
|
1638
|
-
# e = REXML::Element.new('foo', nil, {raw: :all})
|
1639
|
-
# e.context # => {:raw=>:all}
|
1640
|
-
#
|
1641
|
-
# @return [Element] a new instance of Element
|
1642
|
-
#
|
1643
|
-
# source://rexml//lib/rexml/element.rb#319
|
1644
|
-
def initialize(arg = T.unsafe(nil), parent = T.unsafe(nil), context = T.unsafe(nil)); end
|
1645
|
-
|
1646
|
-
# :call-seq:
|
1647
|
-
# [index] -> object
|
1648
|
-
# [attr_name] -> attr_value
|
1649
|
-
# [attr_sym] -> attr_value
|
1650
|
-
#
|
1651
|
-
# With integer argument +index+ given,
|
1652
|
-
# returns the child at offset +index+, or +nil+ if none:
|
1653
|
-
#
|
1654
|
-
# d = REXML::Document.new '><root><a/>text<b/>more<c/></root>'
|
1655
|
-
# root = d.root
|
1656
|
-
# (0..root.size).each do |index|
|
1657
|
-
# node = root[index]
|
1658
|
-
# p "#{index}: #{node} (#{node.class})"
|
1659
|
-
# end
|
1660
|
-
#
|
1661
|
-
# Output:
|
1662
|
-
#
|
1663
|
-
# "0: <a/> (REXML::Element)"
|
1664
|
-
# "1: text (REXML::Text)"
|
1665
|
-
# "2: <b/> (REXML::Element)"
|
1666
|
-
# "3: more (REXML::Text)"
|
1667
|
-
# "4: <c/> (REXML::Element)"
|
1668
|
-
# "5: (NilClass)"
|
1669
|
-
#
|
1670
|
-
# With string argument +attr_name+ given,
|
1671
|
-
# returns the string value for the given attribute name if it exists,
|
1672
|
-
# otherwise +nil+:
|
1673
|
-
#
|
1674
|
-
# d = REXML::Document.new('<root attr="value"></root>')
|
1675
|
-
# root = d.root
|
1676
|
-
# root['attr'] # => "value"
|
1677
|
-
# root['nosuch'] # => nil
|
1678
|
-
#
|
1679
|
-
# With symbol argument +attr_sym+ given,
|
1680
|
-
# returns <tt>[attr_sym.to_s]</tt>:
|
1681
|
-
#
|
1682
|
-
# root[:attr] # => "value"
|
1683
|
-
# root[:nosuch] # => nil
|
1684
|
-
#
|
1685
|
-
# source://rexml//lib/rexml/element.rb#1246
|
1686
|
-
def [](name_or_index); end
|
1687
|
-
|
1688
|
-
# :call-seq:
|
1689
|
-
# add_attribute(name, value) -> value
|
1690
|
-
# add_attribute(attribute) -> attribute
|
1691
|
-
#
|
1692
|
-
# Adds an attribute to this element, overwriting any existing attribute
|
1693
|
-
# by the same name.
|
1694
|
-
#
|
1695
|
-
# With string argument +name+ and object +value+ are given,
|
1696
|
-
# adds the attribute created with that name and value:
|
1697
|
-
#
|
1698
|
-
# e = REXML::Element.new
|
1699
|
-
# e.add_attribute('attr', 'value') # => "value"
|
1700
|
-
# e['attr'] # => "value"
|
1701
|
-
# e.add_attribute('attr', 'VALUE') # => "VALUE"
|
1702
|
-
# e['attr'] # => "VALUE"
|
1703
|
-
#
|
1704
|
-
# With only attribute object +attribute+ given,
|
1705
|
-
# adds the given attribute:
|
1706
|
-
#
|
1707
|
-
# a = REXML::Attribute.new('attr', 'value')
|
1708
|
-
# e.add_attribute(a) # => attr='value'
|
1709
|
-
# e['attr'] # => "value"
|
1710
|
-
# a = REXML::Attribute.new('attr', 'VALUE')
|
1711
|
-
# e.add_attribute(a) # => attr='VALUE'
|
1712
|
-
# e['attr'] # => "VALUE"
|
1713
|
-
#
|
1714
|
-
# source://rexml//lib/rexml/element.rb#1345
|
1715
|
-
def add_attribute(key, value = T.unsafe(nil)); end
|
1716
|
-
|
1717
|
-
# :call-seq:
|
1718
|
-
# add_attributes(hash) -> hash
|
1719
|
-
# add_attributes(array)
|
1720
|
-
#
|
1721
|
-
# Adds zero or more attributes to the element;
|
1722
|
-
# returns the argument.
|
1723
|
-
#
|
1724
|
-
# If hash argument +hash+ is given,
|
1725
|
-
# each key must be a string;
|
1726
|
-
# adds each attribute created with the key/value pair:
|
1727
|
-
#
|
1728
|
-
# e = REXML::Element.new
|
1729
|
-
# h = {'foo' => 'bar', 'baz' => 'bat'}
|
1730
|
-
# e.add_attributes(h)
|
1731
|
-
#
|
1732
|
-
# If argument +array+ is given,
|
1733
|
-
# each array member must be a 2-element array <tt>[name, value];
|
1734
|
-
# each name must be a string:
|
1735
|
-
#
|
1736
|
-
# e = REXML::Element.new
|
1737
|
-
# a = [['foo' => 'bar'], ['baz' => 'bat']]
|
1738
|
-
# e.add_attributes(a)
|
1739
|
-
#
|
1740
|
-
# source://rexml//lib/rexml/element.rb#1376
|
1741
|
-
def add_attributes(hash); end
|
1742
|
-
|
1743
|
-
# :call-seq:
|
1744
|
-
# add_element(name, attributes = nil) -> new_element
|
1745
|
-
# add_element(element, attributes = nil) -> element
|
1746
|
-
#
|
1747
|
-
# Adds a child element, optionally setting attributes
|
1748
|
-
# on the added element; returns the added element.
|
1749
|
-
#
|
1750
|
-
# With string argument +name+, creates a new element with that name
|
1751
|
-
# and adds the new element as a child:
|
1752
|
-
#
|
1753
|
-
# e0 = REXML::Element.new('foo')
|
1754
|
-
# e0.add_element('bar')
|
1755
|
-
# e0[0] # => <bar/>
|
1756
|
-
#
|
1757
|
-
#
|
1758
|
-
# With argument +name+ and hash argument +attributes+,
|
1759
|
-
# sets attributes on the new element:
|
1760
|
-
#
|
1761
|
-
# e0.add_element('baz', {'bat' => '0', 'bam' => '1'})
|
1762
|
-
# e0[1] # => <baz bat='0' bam='1'/>
|
1763
|
-
#
|
1764
|
-
# With element argument +element+, adds that element as a child:
|
1765
|
-
#
|
1766
|
-
# e0 = REXML::Element.new('foo')
|
1767
|
-
# e1 = REXML::Element.new('bar')
|
1768
|
-
# e0.add_element(e1)
|
1769
|
-
# e0[0] # => <bar/>
|
1770
|
-
#
|
1771
|
-
# With argument +element+ and hash argument +attributes+,
|
1772
|
-
# sets attributes on the added element:
|
1773
|
-
#
|
1774
|
-
# e0.add_element(e1, {'bat' => '0', 'bam' => '1'})
|
1775
|
-
# e0[1] # => <bar bat='0' bam='1'/>
|
1776
|
-
#
|
1777
|
-
# source://rexml//lib/rexml/element.rb#732
|
1778
|
-
def add_element(element, attrs = T.unsafe(nil)); end
|
1779
|
-
|
1780
|
-
# :call-seq:
|
1781
|
-
# add_namespace(prefix, uri = nil) -> self
|
1782
|
-
#
|
1783
|
-
# Adds a namespace to the element; returns +self+.
|
1784
|
-
#
|
1785
|
-
# With the single argument +prefix+,
|
1786
|
-
# adds a namespace using the given +prefix+ and the namespace URI:
|
1787
|
-
#
|
1788
|
-
# e = REXML::Element.new('foo')
|
1789
|
-
# e.add_namespace('bar')
|
1790
|
-
# e.namespaces # => {"xmlns"=>"bar"}
|
1791
|
-
#
|
1792
|
-
# With both arguments +prefix+ and +uri+ given,
|
1793
|
-
# adds a namespace using both arguments:
|
1794
|
-
#
|
1795
|
-
# e.add_namespace('baz', 'bat')
|
1796
|
-
# e.namespaces # => {"xmlns"=>"bar", "baz"=>"bat"}
|
1797
|
-
#
|
1798
|
-
# source://rexml//lib/rexml/element.rb#655
|
1799
|
-
def add_namespace(prefix, uri = T.unsafe(nil)); end
|
1800
|
-
|
1801
|
-
# :call-seq:
|
1802
|
-
# add_text(string) -> nil
|
1803
|
-
# add_text(text_node) -> self
|
1804
|
-
#
|
1805
|
-
# Adds text to the element.
|
1806
|
-
#
|
1807
|
-
# When string argument +string+ is given, returns +nil+.
|
1808
|
-
#
|
1809
|
-
# If the element has no child text node,
|
1810
|
-
# creates a \REXML::Text object using the string,
|
1811
|
-
# honoring the current settings for whitespace and raw,
|
1812
|
-
# then adds that node to the element:
|
1813
|
-
#
|
1814
|
-
# d = REXML::Document.new('<a><b/></a>')
|
1815
|
-
# a = d.root
|
1816
|
-
# a.add_text('foo')
|
1817
|
-
# a.to_a # => [<b/>, "foo"]
|
1818
|
-
#
|
1819
|
-
# If the element has child text nodes,
|
1820
|
-
# appends the string to the _last_ text node:
|
1821
|
-
#
|
1822
|
-
# d = REXML::Document.new('<a>foo<b/>bar</a>')
|
1823
|
-
# a = d.root
|
1824
|
-
# a.add_text('baz')
|
1825
|
-
# a.to_a # => ["foo", <b/>, "barbaz"]
|
1826
|
-
# a.add_text('baz')
|
1827
|
-
# a.to_a # => ["foo", <b/>, "barbazbaz"]
|
1828
|
-
#
|
1829
|
-
# When text node argument +text_node+ is given,
|
1830
|
-
# appends the node as the last text node in the element;
|
1831
|
-
# returns +self+:
|
1832
|
-
#
|
1833
|
-
# d = REXML::Document.new('<a>foo<b/>bar</a>')
|
1834
|
-
# a = d.root
|
1835
|
-
# a.add_text(REXML::Text.new('baz'))
|
1836
|
-
# a.to_a # => ["foo", <b/>, "bar", "baz"]
|
1837
|
-
# a.add_text(REXML::Text.new('baz'))
|
1838
|
-
# a.to_a # => ["foo", <b/>, "bar", "baz", "baz"]
|
1839
|
-
#
|
1840
|
-
# source://rexml//lib/rexml/element.rb#1147
|
1841
|
-
def add_text(text); end
|
1842
|
-
|
1843
|
-
# :call-seq:
|
1844
|
-
# attribute(name, namespace = nil)
|
1845
|
-
#
|
1846
|
-
# Returns the string value for the given attribute name.
|
1847
|
-
#
|
1848
|
-
# With only argument +name+ given,
|
1849
|
-
# returns the value of the named attribute if it exists, otherwise +nil+:
|
1850
|
-
#
|
1851
|
-
# xml_string = <<-EOT
|
1852
|
-
# <root xmlns="ns0">
|
1853
|
-
# <a xmlns="ns1" attr="value"></a>
|
1854
|
-
# <b xmlns="ns2" attr="value"></b>
|
1855
|
-
# <c attr="value"/>
|
1856
|
-
# </root>
|
1857
|
-
# EOT
|
1858
|
-
# d = REXML::Document.new(xml_string)
|
1859
|
-
# root = d.root
|
1860
|
-
# a = root[1] # => <a xmlns='ns1' attr='value'/>
|
1861
|
-
# a.attribute('attr') # => attr='value'
|
1862
|
-
# a.attribute('nope') # => nil
|
1863
|
-
#
|
1864
|
-
# With arguments +name+ and +namespace+ given,
|
1865
|
-
# returns the value of the named attribute if it exists, otherwise +nil+:
|
1866
|
-
#
|
1867
|
-
# xml_string = "<root xmlns:a='a' a:x='a:x' x='x'/>"
|
1868
|
-
# document = REXML::Document.new(xml_string)
|
1869
|
-
# document.root.attribute("x") # => x='x'
|
1870
|
-
# document.root.attribute("x", "a") # => a:x='a:x'
|
1871
|
-
#
|
1872
|
-
# source://rexml//lib/rexml/element.rb#1287
|
1873
|
-
def attribute(name, namespace = T.unsafe(nil)); end
|
1874
|
-
|
1875
|
-
# Mechanisms for accessing attributes and child elements of this
|
1876
|
-
# element.
|
1877
|
-
#
|
1878
|
-
# source://rexml//lib/rexml/element.rb#278
|
1879
|
-
def attributes; end
|
1880
|
-
|
1881
|
-
# :call-seq:
|
1882
|
-
# cdatas -> array_of_cdata_children
|
1883
|
-
#
|
1884
|
-
# Returns a frozen array of the REXML::CData children of the element:
|
1885
|
-
#
|
1886
|
-
# xml_string = <<-EOT
|
1887
|
-
# <root>
|
1888
|
-
# <![CDATA[foo]]>
|
1889
|
-
# <![CDATA[bar]]>
|
1890
|
-
# </root>
|
1891
|
-
# EOT
|
1892
|
-
# d = REXML::Document.new(xml_string)
|
1893
|
-
# cds = d.root.cdatas # => ["foo", "bar"]
|
1894
|
-
# cds.frozen? # => true
|
1895
|
-
# cds.map {|cd| cd.class } # => [REXML::CData, REXML::CData]
|
1896
|
-
#
|
1897
|
-
# source://rexml//lib/rexml/element.rb#1420
|
1898
|
-
def cdatas; end
|
1899
|
-
|
1900
|
-
# :call-seq:
|
1901
|
-
# clone -> new_element
|
1902
|
-
#
|
1903
|
-
# Returns a shallow copy of the element, containing the name and attributes,
|
1904
|
-
# but not the parent or children:
|
1905
|
-
#
|
1906
|
-
# e = REXML::Element.new('foo')
|
1907
|
-
# e.add_attributes({'bar' => 0, 'baz' => 1})
|
1908
|
-
# e.clone # => <foo bar='0' baz='1'/>
|
1909
|
-
#
|
1910
|
-
# source://rexml//lib/rexml/element.rb#383
|
1911
|
-
def clone; end
|
1912
|
-
|
1913
|
-
# :call-seq:
|
1914
|
-
# comments -> array_of_comment_children
|
1915
|
-
#
|
1916
|
-
# Returns a frozen array of the REXML::Comment children of the element:
|
1917
|
-
#
|
1918
|
-
# xml_string = <<-EOT
|
1919
|
-
# <root>
|
1920
|
-
# <!--foo-->
|
1921
|
-
# <!--bar-->
|
1922
|
-
# </root>
|
1923
|
-
# EOT
|
1924
|
-
# d = REXML::Document.new(xml_string)
|
1925
|
-
# cs = d.root.comments
|
1926
|
-
# cs.frozen? # => true
|
1927
|
-
# cs.map {|c| c.class } # => [REXML::Comment, REXML::Comment]
|
1928
|
-
# cs.map {|c| c.to_s } # => ["foo", "bar"]
|
1929
|
-
#
|
1930
|
-
# source://rexml//lib/rexml/element.rb#1441
|
1931
|
-
def comments; end
|
1932
|
-
|
1933
|
-
# The context holds information about the processing environment, such as
|
1934
|
-
# whitespace handling.
|
1935
|
-
#
|
1936
|
-
# source://rexml//lib/rexml/element.rb#281
|
1937
|
-
def context; end
|
1938
|
-
|
1939
|
-
# The context holds information about the processing environment, such as
|
1940
|
-
# whitespace handling.
|
1941
|
-
#
|
1942
|
-
# source://rexml//lib/rexml/element.rb#281
|
1943
|
-
def context=(_arg0); end
|
1944
|
-
|
1945
|
-
# :call-seq:
|
1946
|
-
# delete_attribute(name) -> removed_attribute or nil
|
1947
|
-
#
|
1948
|
-
# Removes a named attribute if it exists;
|
1949
|
-
# returns the removed attribute if found, otherwise +nil+:
|
1950
|
-
#
|
1951
|
-
# e = REXML::Element.new('foo')
|
1952
|
-
# e.add_attribute('bar', 'baz')
|
1953
|
-
# e.delete_attribute('bar') # => <bar/>
|
1954
|
-
# e.delete_attribute('bar') # => nil
|
1955
|
-
#
|
1956
|
-
# source://rexml//lib/rexml/element.rb#1395
|
1957
|
-
def delete_attribute(key); end
|
1958
|
-
|
1959
|
-
# :call-seq:
|
1960
|
-
# delete_element(index) -> removed_element or nil
|
1961
|
-
# delete_element(element) -> removed_element or nil
|
1962
|
-
# delete_element(xpath) -> removed_element or nil
|
1963
|
-
#
|
1964
|
-
# Deletes a child element.
|
1965
|
-
#
|
1966
|
-
# When 1-based integer argument +index+ is given,
|
1967
|
-
# removes and returns the child element at that offset if it exists;
|
1968
|
-
# indexing does not include text nodes;
|
1969
|
-
# returns +nil+ if the element does not exist:
|
1970
|
-
#
|
1971
|
-
# d = REXML::Document.new '<a><b/>text<c/></a>'
|
1972
|
-
# a = d.root # => <a> ... </>
|
1973
|
-
# a.delete_element(1) # => <b/>
|
1974
|
-
# a.delete_element(1) # => <c/>
|
1975
|
-
# a.delete_element(1) # => nil
|
1976
|
-
#
|
1977
|
-
# When element argument +element+ is given,
|
1978
|
-
# removes and returns that child element if it exists,
|
1979
|
-
# otherwise returns +nil+:
|
1980
|
-
#
|
1981
|
-
# d = REXML::Document.new '<a><b/>text<c/></a>'
|
1982
|
-
# a = d.root # => <a> ... </>
|
1983
|
-
# c = a[2] # => <c/>
|
1984
|
-
# a.delete_element(c) # => <c/>
|
1985
|
-
# a.delete_element(c) # => nil
|
1986
|
-
#
|
1987
|
-
# When xpath argument +xpath+ is given,
|
1988
|
-
# removes and returns the element at xpath if it exists,
|
1989
|
-
# otherwise returns +nil+:
|
1990
|
-
#
|
1991
|
-
# d = REXML::Document.new '<a><b/>text<c/></a>'
|
1992
|
-
# a = d.root # => <a> ... </>
|
1993
|
-
# a.delete_element('//c') # => <c/>
|
1994
|
-
# a.delete_element('//c') # => nil
|
1995
|
-
#
|
1996
|
-
# source://rexml//lib/rexml/element.rb#778
|
1997
|
-
def delete_element(element); end
|
1998
|
-
|
1999
|
-
# :call-seq:
|
2000
|
-
# delete_namespace(namespace = 'xmlns') -> self
|
2001
|
-
#
|
2002
|
-
# Removes a namespace from the element.
|
2003
|
-
#
|
2004
|
-
# With no argument, removes the default namespace:
|
2005
|
-
#
|
2006
|
-
# d = REXML::Document.new "<a xmlns:foo='bar' xmlns='twiddle'/>"
|
2007
|
-
# d.to_s # => "<a xmlns:foo='bar' xmlns='twiddle'/>"
|
2008
|
-
# d.root.delete_namespace # => <a xmlns:foo='bar'/>
|
2009
|
-
# d.to_s # => "<a xmlns:foo='bar'/>"
|
2010
|
-
#
|
2011
|
-
# With argument +namespace+, removes the specified namespace:
|
2012
|
-
#
|
2013
|
-
# d.root.delete_namespace('foo')
|
2014
|
-
# d.to_s # => "<a/>"
|
2015
|
-
#
|
2016
|
-
# Does nothing if no such namespace is found:
|
2017
|
-
#
|
2018
|
-
# d.root.delete_namespace('nosuch')
|
2019
|
-
# d.to_s # => "<a/>"
|
2020
|
-
#
|
2021
|
-
# source://rexml//lib/rexml/element.rb#687
|
2022
|
-
def delete_namespace(namespace = T.unsafe(nil)); end
|
2023
|
-
|
2024
|
-
# :call-seq:
|
2025
|
-
# document -> document or nil
|
2026
|
-
#
|
2027
|
-
# If the element is part of a document, returns that document:
|
2028
|
-
#
|
2029
|
-
# d = REXML::Document.new('<a><b><c/></b></a>')
|
2030
|
-
# top_element = d.first
|
2031
|
-
# child = top_element.first
|
2032
|
-
# top_element.document == d # => true
|
2033
|
-
# child.document == d # => true
|
2034
|
-
#
|
2035
|
-
# If the element is not part of a document, returns +nil+:
|
2036
|
-
#
|
2037
|
-
# REXML::Element.new.document # => nil
|
2038
|
-
#
|
2039
|
-
# For a document, returns +self+:
|
2040
|
-
#
|
2041
|
-
# d.document == d # => true
|
2042
|
-
#
|
2043
|
-
# Related: #root, #root_node.
|
2044
|
-
#
|
2045
|
-
# source://rexml//lib/rexml/element.rb#475
|
2046
|
-
def document; end
|
2047
|
-
|
2048
|
-
# :call-seq:
|
2049
|
-
# each_element {|e| ... }
|
2050
|
-
#
|
2051
|
-
# Calls the given block with each child element:
|
2052
|
-
#
|
2053
|
-
# d = REXML::Document.new '<a><b>b</b><c>b</c><d>d</d><e/></a>'
|
2054
|
-
# a = d.root
|
2055
|
-
# a.each_element {|e| p e }
|
2056
|
-
#
|
2057
|
-
# Output:
|
2058
|
-
#
|
2059
|
-
# <b> ... </>
|
2060
|
-
# <c> ... </>
|
2061
|
-
# <d> ... </>
|
2062
|
-
# <e/>
|
2063
|
-
#
|
2064
|
-
# source://rexml//lib/rexml/element.rb#930
|
2065
|
-
def each_element(xpath = T.unsafe(nil), &block); end
|
2066
|
-
|
2067
|
-
# :call-seq:
|
2068
|
-
# each_element_with_attribute(attr_name, value = nil, max = 0, xpath = nil) {|e| ... }
|
2069
|
-
#
|
2070
|
-
# Calls the given block with each child element that meets given criteria.
|
2071
|
-
#
|
2072
|
-
# When only string argument +attr_name+ is given,
|
2073
|
-
# calls the block with each child element that has that attribute:
|
2074
|
-
#
|
2075
|
-
# d = REXML::Document.new '<a><b id="1"/><c id="2"/><d id="1"/><e/></a>'
|
2076
|
-
# a = d.root
|
2077
|
-
# a.each_element_with_attribute('id') {|e| p e }
|
2078
|
-
#
|
2079
|
-
# Output:
|
2080
|
-
#
|
2081
|
-
# <b id='1'/>
|
2082
|
-
# <c id='2'/>
|
2083
|
-
# <d id='1'/>
|
2084
|
-
#
|
2085
|
-
# With argument +attr_name+ and string argument +value+ given,
|
2086
|
-
# calls the block with each child element that has that attribute
|
2087
|
-
# with that value:
|
2088
|
-
#
|
2089
|
-
# a.each_element_with_attribute('id', '1') {|e| p e }
|
2090
|
-
#
|
2091
|
-
# Output:
|
2092
|
-
#
|
2093
|
-
# <b id='1'/>
|
2094
|
-
# <d id='1'/>
|
2095
|
-
#
|
2096
|
-
# With arguments +attr_name+, +value+, and integer argument +max+ given,
|
2097
|
-
# calls the block with at most +max+ child elements:
|
2098
|
-
#
|
2099
|
-
# a.each_element_with_attribute('id', '1', 1) {|e| p e }
|
2100
|
-
#
|
2101
|
-
# Output:
|
2102
|
-
#
|
2103
|
-
# <b id='1'/>
|
2104
|
-
#
|
2105
|
-
# With all arguments given, including +xpath+,
|
2106
|
-
# calls the block with only those child elements
|
2107
|
-
# that meet the first three criteria,
|
2108
|
-
# and also match the given +xpath+:
|
2109
|
-
#
|
2110
|
-
# a.each_element_with_attribute('id', '1', 2, '//d') {|e| p e }
|
2111
|
-
#
|
2112
|
-
# Output:
|
2113
|
-
#
|
2114
|
-
# <d id='1'/>
|
2115
|
-
#
|
2116
|
-
# source://rexml//lib/rexml/element.rb#847
|
2117
|
-
def each_element_with_attribute(key, value = T.unsafe(nil), max = T.unsafe(nil), name = T.unsafe(nil), &block); end
|
2118
|
-
|
2119
|
-
# :call-seq:
|
2120
|
-
# each_element_with_text(text = nil, max = 0, xpath = nil) {|e| ... }
|
2121
|
-
#
|
2122
|
-
# Calls the given block with each child element that meets given criteria.
|
2123
|
-
#
|
2124
|
-
# With no arguments, calls the block with each child element that has text:
|
2125
|
-
#
|
2126
|
-
# d = REXML::Document.new '<a><b>b</b><c>b</c><d>d</d><e/></a>'
|
2127
|
-
# a = d.root
|
2128
|
-
# a.each_element_with_text {|e| p e }
|
2129
|
-
#
|
2130
|
-
# Output:
|
2131
|
-
#
|
2132
|
-
# <b> ... </>
|
2133
|
-
# <c> ... </>
|
2134
|
-
# <d> ... </>
|
2135
|
-
#
|
2136
|
-
# With the single string argument +text+,
|
2137
|
-
# calls the block with each element that has exactly that text:
|
2138
|
-
#
|
2139
|
-
# a.each_element_with_text('b') {|e| p e }
|
2140
|
-
#
|
2141
|
-
# Output:
|
2142
|
-
#
|
2143
|
-
# <b> ... </>
|
2144
|
-
# <c> ... </>
|
2145
|
-
#
|
2146
|
-
# With argument +text+ and integer argument +max+,
|
2147
|
-
# calls the block with at most +max+ elements:
|
2148
|
-
#
|
2149
|
-
# a.each_element_with_text('b', 1) {|e| p e }
|
2150
|
-
#
|
2151
|
-
# Output:
|
2152
|
-
#
|
2153
|
-
# <b> ... </>
|
2154
|
-
#
|
2155
|
-
# With all arguments given, including +xpath+,
|
2156
|
-
# calls the block with only those child elements
|
2157
|
-
# that meet the first two criteria,
|
2158
|
-
# and also match the given +xpath+:
|
2159
|
-
#
|
2160
|
-
# a.each_element_with_text('b', 2, '//c') {|e| p e }
|
2161
|
-
#
|
2162
|
-
# Output:
|
2163
|
-
#
|
2164
|
-
# <c> ... </>
|
2165
|
-
#
|
2166
|
-
# source://rexml//lib/rexml/element.rb#904
|
2167
|
-
def each_element_with_text(text = T.unsafe(nil), max = T.unsafe(nil), name = T.unsafe(nil), &block); end
|
2168
|
-
|
2169
|
-
# Mechanisms for accessing attributes and child elements of this
|
2170
|
-
# element.
|
2171
|
-
#
|
2172
|
-
# source://rexml//lib/rexml/element.rb#278
|
2173
|
-
def elements; end
|
2174
|
-
|
2175
|
-
# :call-seq:
|
2176
|
-
# get_elements(xpath)
|
2177
|
-
#
|
2178
|
-
# Returns an array of the elements that match the given +xpath+:
|
2179
|
-
#
|
2180
|
-
# xml_string = <<-EOT
|
2181
|
-
# <root>
|
2182
|
-
# <a level='1'>
|
2183
|
-
# <a level='2'/>
|
2184
|
-
# </a>
|
2185
|
-
# </root>
|
2186
|
-
# EOT
|
2187
|
-
# d = REXML::Document.new(xml_string)
|
2188
|
-
# d.root.get_elements('//a') # => [<a level='1'> ... </>, <a level='2'/>]
|
2189
|
-
#
|
2190
|
-
# source://rexml//lib/rexml/element.rb#949
|
2191
|
-
def get_elements(xpath); end
|
2192
|
-
|
2193
|
-
# :call-seq:
|
2194
|
-
# get_text(xpath = nil) -> text_node or nil
|
2195
|
-
#
|
2196
|
-
# Returns the first text node child in a specified element, if it exists,
|
2197
|
-
# +nil+ otherwise.
|
2198
|
-
#
|
2199
|
-
# With no argument, returns the first text node from +self+:
|
2200
|
-
#
|
2201
|
-
# d = REXML::Document.new "<p>some text <b>this is bold!</b> more text</p>"
|
2202
|
-
# d.root.get_text.class # => REXML::Text
|
2203
|
-
# d.root.get_text # => "some text "
|
2204
|
-
#
|
2205
|
-
# With argument +xpath+, returns the first text node from the element
|
2206
|
-
# that matches +xpath+:
|
2207
|
-
#
|
2208
|
-
# d.root.get_text(1) # => "this is bold!"
|
2209
|
-
#
|
2210
|
-
# source://rexml//lib/rexml/element.rb#1053
|
2211
|
-
def get_text(path = T.unsafe(nil)); end
|
2212
|
-
|
2213
|
-
# :call-seq:
|
2214
|
-
# has_attributes? -> true or false
|
2215
|
-
#
|
2216
|
-
# Returns +true+ if the element has attributes, +false+ otherwise:
|
2217
|
-
#
|
2218
|
-
# d = REXML::Document.new('<root><a attr="val"/><b/></root>')
|
2219
|
-
# a, b = *d.root
|
2220
|
-
# a.has_attributes? # => true
|
2221
|
-
# b.has_attributes? # => false
|
2222
|
-
#
|
2223
|
-
# @return [Boolean]
|
2224
|
-
#
|
2225
|
-
# source://rexml//lib/rexml/element.rb#1315
|
2226
|
-
def has_attributes?; end
|
2227
|
-
|
2228
|
-
# :call-seq:
|
2229
|
-
# has_elements?
|
2230
|
-
#
|
2231
|
-
# Returns +true+ if the element has one or more element children,
|
2232
|
-
# +false+ otherwise:
|
2233
|
-
#
|
2234
|
-
# d = REXML::Document.new '<a><b/>text<c/></a>'
|
2235
|
-
# a = d.root # => <a> ... </>
|
2236
|
-
# a.has_elements? # => true
|
2237
|
-
# b = a[0] # => <b/>
|
2238
|
-
# b.has_elements? # => false
|
2239
|
-
#
|
2240
|
-
# @return [Boolean]
|
2241
|
-
#
|
2242
|
-
# source://rexml//lib/rexml/element.rb#794
|
2243
|
-
def has_elements?; end
|
2244
|
-
|
2245
|
-
# :call-seq:
|
2246
|
-
# has_text? -> true or false
|
2247
|
-
#
|
2248
|
-
# Returns +true+ if the element has one or more text noded,
|
2249
|
-
# +false+ otherwise:
|
2250
|
-
#
|
2251
|
-
# d = REXML::Document.new '<a><b/>text<c/></a>'
|
2252
|
-
# a = d.root
|
2253
|
-
# a.has_text? # => true
|
2254
|
-
# b = a[0]
|
2255
|
-
# b.has_text? # => false
|
2256
|
-
#
|
2257
|
-
# @return [Boolean]
|
2258
|
-
#
|
2259
|
-
# source://rexml//lib/rexml/element.rb#1002
|
2260
|
-
def has_text?; end
|
2261
|
-
|
2262
|
-
# :call-seq:
|
2263
|
-
# ignore_whitespace_nodes
|
2264
|
-
#
|
2265
|
-
# Returns +true+ if whitespace nodes are ignored for the element.
|
2266
|
-
#
|
2267
|
-
# See {Element Context}[../doc/rexml/context_rdoc.html].
|
2268
|
-
#
|
2269
|
-
# source://rexml//lib/rexml/element.rb#513
|
2270
|
-
def ignore_whitespace_nodes; end
|
2271
|
-
|
2272
|
-
# :call-seq:
|
2273
|
-
# inspect -> string
|
2274
|
-
#
|
2275
|
-
# Returns a string representation of the element.
|
2276
|
-
#
|
2277
|
-
# For an element with no attributes and no children, shows the element name:
|
2278
|
-
#
|
2279
|
-
# REXML::Element.new.inspect # => "<UNDEFINED/>"
|
2280
|
-
#
|
2281
|
-
# Shows attributes, if any:
|
2282
|
-
#
|
2283
|
-
# e = REXML::Element.new('foo')
|
2284
|
-
# e.add_attributes({'bar' => 0, 'baz' => 1})
|
2285
|
-
# e.inspect # => "<foo bar='0' baz='1'/>"
|
2286
|
-
#
|
2287
|
-
# Shows an ellipsis (<tt>...</tt>), if there are child elements:
|
2288
|
-
#
|
2289
|
-
# e.add_element(REXML::Element.new('bar'))
|
2290
|
-
# e.add_element(REXML::Element.new('baz'))
|
2291
|
-
# e.inspect # => "<foo bar='0' baz='1'> ... </>"
|
2292
|
-
#
|
2293
|
-
# source://rexml//lib/rexml/element.rb#358
|
2294
|
-
def inspect; end
|
2295
|
-
|
2296
|
-
# :call-seq:
|
2297
|
-
# instructions -> array_of_instruction_children
|
2298
|
-
#
|
2299
|
-
# Returns a frozen array of the REXML::Instruction children of the element:
|
2300
|
-
#
|
2301
|
-
# xml_string = <<-EOT
|
2302
|
-
# <root>
|
2303
|
-
# <?target0 foo?>
|
2304
|
-
# <?target1 bar?>
|
2305
|
-
# </root>
|
2306
|
-
# EOT
|
2307
|
-
# d = REXML::Document.new(xml_string)
|
2308
|
-
# is = d.root.instructions
|
2309
|
-
# is.frozen? # => true
|
2310
|
-
# is.map {|i| i.class } # => [REXML::Instruction, REXML::Instruction]
|
2311
|
-
# is.map {|i| i.to_s } # => ["<?target0 foo?>", "<?target1 bar?>"]
|
2312
|
-
#
|
2313
|
-
# source://rexml//lib/rexml/element.rb#1462
|
2314
|
-
def instructions; end
|
2315
|
-
|
2316
|
-
# :call-seq:
|
2317
|
-
# namespace(prefix = nil) -> string_uri or nil
|
2318
|
-
#
|
2319
|
-
# Returns the string namespace URI for the element,
|
2320
|
-
# possibly deriving from one of its ancestors.
|
2321
|
-
#
|
2322
|
-
# xml_string = <<-EOT
|
2323
|
-
# <root>
|
2324
|
-
# <a xmlns='1' xmlns:y='2'>
|
2325
|
-
# <b/>
|
2326
|
-
# <c xmlns:z='3'/>
|
2327
|
-
# </a>
|
2328
|
-
# </root>
|
2329
|
-
# EOT
|
2330
|
-
# d = REXML::Document.new(xml_string)
|
2331
|
-
# b = d.elements['//b']
|
2332
|
-
# b.namespace # => "1"
|
2333
|
-
# b.namespace('y') # => "2"
|
2334
|
-
# b.namespace('nosuch') # => nil
|
2335
|
-
#
|
2336
|
-
# source://rexml//lib/rexml/element.rb#618
|
2337
|
-
def namespace(prefix = T.unsafe(nil)); end
|
2338
|
-
|
2339
|
-
# :call-seq:
|
2340
|
-
# namespaces -> array_of_namespace_names
|
2341
|
-
#
|
2342
|
-
# Returns a hash of all defined namespaces
|
2343
|
-
# in the element and its ancestors:
|
2344
|
-
#
|
2345
|
-
# xml_string = <<-EOT
|
2346
|
-
# <root>
|
2347
|
-
# <a xmlns:x='1' xmlns:y='2'>
|
2348
|
-
# <b/>
|
2349
|
-
# <c xmlns:z='3'/>
|
2350
|
-
# </a>
|
2351
|
-
# </root>
|
2352
|
-
# EOT
|
2353
|
-
# d = REXML::Document.new(xml_string)
|
2354
|
-
# d.elements['//a'].namespaces # => {"x"=>"1", "y"=>"2"}
|
2355
|
-
# d.elements['//b'].namespaces # => {"x"=>"1", "y"=>"2"}
|
2356
|
-
# d.elements['//c'].namespaces # => {"x"=>"1", "y"=>"2", "z"=>"3"}
|
2357
|
-
#
|
2358
|
-
# source://rexml//lib/rexml/element.rb#591
|
2359
|
-
def namespaces; end
|
2360
|
-
|
2361
|
-
# :call-seq:
|
2362
|
-
# next_element
|
2363
|
-
#
|
2364
|
-
# Returns the next sibling that is an element if it exists,
|
2365
|
-
# +niL+ otherwise:
|
2366
|
-
#
|
2367
|
-
# d = REXML::Document.new '<a><b/>text<c/></a>'
|
2368
|
-
# d.root.elements['b'].next_element #-> <c/>
|
2369
|
-
# d.root.elements['c'].next_element #-> nil
|
2370
|
-
#
|
2371
|
-
# source://rexml//lib/rexml/element.rb#963
|
2372
|
-
def next_element; end
|
2373
|
-
|
2374
|
-
# :call-seq:
|
2375
|
-
# node_type -> :element
|
2376
|
-
#
|
2377
|
-
# Returns symbol <tt>:element</tt>:
|
2378
|
-
#
|
2379
|
-
# d = REXML::Document.new('<a/>')
|
2380
|
-
# a = d.root # => <a/>
|
2381
|
-
# a.node_type # => :element
|
2382
|
-
#
|
2383
|
-
# source://rexml//lib/rexml/element.rb#1168
|
2384
|
-
def node_type; end
|
2385
|
-
|
2386
|
-
# :call-seq:
|
2387
|
-
# prefixes -> array_of_namespace_prefixes
|
2388
|
-
#
|
2389
|
-
# Returns an array of the string prefixes (names) of all defined namespaces
|
2390
|
-
# in the element and its ancestors:
|
2391
|
-
#
|
2392
|
-
# xml_string = <<-EOT
|
2393
|
-
# <root>
|
2394
|
-
# <a xmlns:x='1' xmlns:y='2'>
|
2395
|
-
# <b/>
|
2396
|
-
# <c xmlns:z='3'/>
|
2397
|
-
# </a>
|
2398
|
-
# </root>
|
2399
|
-
# EOT
|
2400
|
-
# d = REXML::Document.new(xml_string, {compress_whitespace: :all})
|
2401
|
-
# d.elements['//a'].prefixes # => ["x", "y"]
|
2402
|
-
# d.elements['//b'].prefixes # => ["x", "y"]
|
2403
|
-
# d.elements['//c'].prefixes # => ["x", "y", "z"]
|
2404
|
-
#
|
2405
|
-
# source://rexml//lib/rexml/element.rb#565
|
2406
|
-
def prefixes; end
|
2407
|
-
|
2408
|
-
# :call-seq:
|
2409
|
-
# previous_element
|
2410
|
-
#
|
2411
|
-
# Returns the previous sibling that is an element if it exists,
|
2412
|
-
# +niL+ otherwise:
|
2413
|
-
#
|
2414
|
-
# d = REXML::Document.new '<a><b/>text<c/></a>'
|
2415
|
-
# d.root.elements['c'].previous_element #-> <b/>
|
2416
|
-
# d.root.elements['b'].previous_element #-> nil
|
2417
|
-
#
|
2418
|
-
# source://rexml//lib/rexml/element.rb#979
|
2419
|
-
def previous_element; end
|
2420
|
-
|
2421
|
-
# :call-seq:
|
2422
|
-
# raw
|
2423
|
-
#
|
2424
|
-
# Returns +true+ if raw mode is set for the element.
|
2425
|
-
#
|
2426
|
-
# See {Element Context}[../doc/rexml/context_rdoc.html].
|
2427
|
-
#
|
2428
|
-
# The evaluation is tested against +expanded_name+, and so is namespace
|
2429
|
-
# sensitive.
|
2430
|
-
#
|
2431
|
-
# source://rexml//lib/rexml/element.rb#533
|
2432
|
-
def raw; end
|
2433
|
-
|
2434
|
-
# :call-seq:
|
2435
|
-
# root -> element
|
2436
|
-
#
|
2437
|
-
# Returns the most distant _element_ (not document) ancestor of the element:
|
2438
|
-
#
|
2439
|
-
# d = REXML::Document.new('<a><b><c/></b></a>')
|
2440
|
-
# top_element = d.first
|
2441
|
-
# child = top_element.first
|
2442
|
-
# top_element.root == top_element # => true
|
2443
|
-
# child.root == top_element # => true
|
2444
|
-
#
|
2445
|
-
# For a document, returns the topmost element:
|
2446
|
-
#
|
2447
|
-
# d.root == top_element # => true
|
2448
|
-
#
|
2449
|
-
# Related: #root_node, #document.
|
2450
|
-
#
|
2451
|
-
# source://rexml//lib/rexml/element.rb#443
|
2452
|
-
def root; end
|
2453
|
-
|
2454
|
-
# :call-seq:
|
2455
|
-
# root_node -> document or element
|
2456
|
-
#
|
2457
|
-
# Returns the most distant ancestor of +self+.
|
2458
|
-
#
|
2459
|
-
# When the element is part of a document,
|
2460
|
-
# returns the root node of the document.
|
2461
|
-
# Note that the root node is different from the document element;
|
2462
|
-
# in this example +a+ is document element and the root node is its parent:
|
2463
|
-
#
|
2464
|
-
# d = REXML::Document.new('<a><b><c/></b></a>')
|
2465
|
-
# top_element = d.first # => <a> ... </>
|
2466
|
-
# child = top_element.first # => <b> ... </>
|
2467
|
-
# d.root_node == d # => true
|
2468
|
-
# top_element.root_node == d # => true
|
2469
|
-
# child.root_node == d # => true
|
2470
|
-
#
|
2471
|
-
# When the element is not part of a document, but does have ancestor elements,
|
2472
|
-
# returns the most distant ancestor element:
|
2473
|
-
#
|
2474
|
-
# e0 = REXML::Element.new('foo')
|
2475
|
-
# e1 = REXML::Element.new('bar')
|
2476
|
-
# e1.parent = e0
|
2477
|
-
# e2 = REXML::Element.new('baz')
|
2478
|
-
# e2.parent = e1
|
2479
|
-
# e2.root_node == e0 # => true
|
2480
|
-
#
|
2481
|
-
# When the element has no ancestor elements,
|
2482
|
-
# returns +self+:
|
2483
|
-
#
|
2484
|
-
# e = REXML::Element.new('foo')
|
2485
|
-
# e.root_node == e # => true
|
2486
|
-
#
|
2487
|
-
# Related: #root, #document.
|
2488
|
-
#
|
2489
|
-
# source://rexml//lib/rexml/element.rb#422
|
2490
|
-
def root_node; end
|
2491
|
-
|
2492
|
-
# :call-seq:
|
2493
|
-
# text(xpath = nil) -> text_string or nil
|
2494
|
-
#
|
2495
|
-
# Returns the text string from the first text node child
|
2496
|
-
# in a specified element, if it exists, +nil+ otherwise.
|
2497
|
-
#
|
2498
|
-
# With no argument, returns the text from the first text node in +self+:
|
2499
|
-
#
|
2500
|
-
# d = REXML::Document.new "<p>some text <b>this is bold!</b> more text</p>"
|
2501
|
-
# d.root.text.class # => String
|
2502
|
-
# d.root.text # => "some text "
|
2503
|
-
#
|
2504
|
-
# With argument +xpath+, returns text from the first text node
|
2505
|
-
# in the element that matches +xpath+:
|
2506
|
-
#
|
2507
|
-
# d.root.text(1) # => "this is bold!"
|
2508
|
-
#
|
2509
|
-
# Note that an element may have multiple text nodes,
|
2510
|
-
# possibly separated by other non-text children, as above.
|
2511
|
-
# Even so, the returned value is the string text from the first such node.
|
2512
|
-
#
|
2513
|
-
# Note also that the text note is retrieved by method get_text,
|
2514
|
-
# and so is always normalized text.
|
2515
|
-
#
|
2516
|
-
# source://rexml//lib/rexml/element.rb#1030
|
2517
|
-
def text(path = T.unsafe(nil)); end
|
2518
|
-
|
2519
|
-
# :call-seq:
|
2520
|
-
# text = string -> string
|
2521
|
-
# text = nil -> nil
|
2522
|
-
#
|
2523
|
-
# Adds, replaces, or removes the first text node child in the element.
|
2524
|
-
#
|
2525
|
-
# With string argument +string+,
|
2526
|
-
# creates a new \REXML::Text node containing that string,
|
2527
|
-
# honoring the current settings for whitespace and row,
|
2528
|
-
# then places the node as the first text child in the element;
|
2529
|
-
# returns +string+.
|
2530
|
-
#
|
2531
|
-
# If the element has no text child, the text node is added:
|
2532
|
-
#
|
2533
|
-
# d = REXML::Document.new '<a><b/></a>'
|
2534
|
-
# d.root.text = 'foo' #-> '<a><b/>foo</a>'
|
2535
|
-
#
|
2536
|
-
# If the element has a text child, it is replaced:
|
2537
|
-
#
|
2538
|
-
# d.root.text = 'bar' #-> '<a><b/>bar</a>'
|
2539
|
-
#
|
2540
|
-
# With argument +nil+, removes the first text child:
|
2541
|
-
#
|
2542
|
-
# d.root.text = nil #-> '<a><b/><c/></a>'
|
2543
|
-
#
|
2544
|
-
# source://rexml//lib/rexml/element.rb#1089
|
2545
|
-
def text=(text); end
|
2546
|
-
|
2547
|
-
# :call-seq:
|
2548
|
-
# texts -> array_of_text_children
|
2549
|
-
#
|
2550
|
-
# Returns a frozen array of the REXML::Text children of the element:
|
2551
|
-
#
|
2552
|
-
# xml_string = '<root><a/>text<b/>more<c/></root>'
|
2553
|
-
# d = REXML::Document.new(xml_string)
|
2554
|
-
# ts = d.root.texts
|
2555
|
-
# ts.frozen? # => true
|
2556
|
-
# ts.map {|t| t.class } # => [REXML::Text, REXML::Text]
|
2557
|
-
# ts.map {|t| t.to_s } # => ["text", "more"]
|
2558
|
-
#
|
2559
|
-
# source://rexml//lib/rexml/element.rb#1478
|
2560
|
-
def texts; end
|
2561
|
-
|
2562
|
-
# :call-seq:
|
2563
|
-
# whitespace
|
2564
|
-
#
|
2565
|
-
# Returns +true+ if whitespace is respected for this element,
|
2566
|
-
# +false+ otherwise.
|
2567
|
-
#
|
2568
|
-
# See {Element Context}[../doc/rexml/context_rdoc.html].
|
2569
|
-
#
|
2570
|
-
# The evaluation is tested against the element's +expanded_name+,
|
2571
|
-
# and so is namespace-sensitive.
|
2572
|
-
#
|
2573
|
-
# source://rexml//lib/rexml/element.rb#490
|
2574
|
-
def whitespace; end
|
2575
|
-
|
2576
|
-
# == DEPRECATED
|
2577
|
-
# See REXML::Formatters
|
2578
|
-
#
|
2579
|
-
# Writes out this element, and recursively, all children.
|
2580
|
-
# output::
|
2581
|
-
# output an object which supports '<< string'; this is where the
|
2582
|
-
# document will be written.
|
2583
|
-
# indent::
|
2584
|
-
# An integer. If -1, no indenting will be used; otherwise, the
|
2585
|
-
# indentation will be this number of spaces, and children will be
|
2586
|
-
# indented an additional amount. Defaults to -1
|
2587
|
-
# transitive::
|
2588
|
-
# If transitive is true and indent is >= 0, then the output will be
|
2589
|
-
# pretty-printed in such a way that the added whitespace does not affect
|
2590
|
-
# the parse tree of the document
|
2591
|
-
# ie_hack::
|
2592
|
-
# This hack inserts a space before the /> on empty tags to address
|
2593
|
-
# a limitation of Internet Explorer. Defaults to false
|
2594
|
-
#
|
2595
|
-
# out = ''
|
2596
|
-
# doc.write( out ) #-> doc is written to the string 'out'
|
2597
|
-
# doc.write( $stdout ) #-> doc written to the console
|
2598
|
-
#
|
2599
|
-
# source://rexml//lib/rexml/element.rb#1504
|
2600
|
-
def write(output = T.unsafe(nil), indent = T.unsafe(nil), transitive = T.unsafe(nil), ie_hack = T.unsafe(nil)); end
|
2601
|
-
|
2602
|
-
# :call-seq:
|
2603
|
-
# xpath -> string_xpath
|
2604
|
-
#
|
2605
|
-
# Returns the string xpath to the element
|
2606
|
-
# relative to the most distant parent:
|
2607
|
-
#
|
2608
|
-
# d = REXML::Document.new('<a><b><c/></b></a>')
|
2609
|
-
# a = d.root # => <a> ... </>
|
2610
|
-
# b = a[0] # => <b> ... </>
|
2611
|
-
# c = b[0] # => <c/>
|
2612
|
-
# d.xpath # => ""
|
2613
|
-
# a.xpath # => "/a"
|
2614
|
-
# b.xpath # => "/a/b"
|
2615
|
-
# c.xpath # => "/a/b/c"
|
2616
|
-
#
|
2617
|
-
# If there is no parent, returns the expanded name of the element:
|
2618
|
-
#
|
2619
|
-
# e = REXML::Element.new('foo')
|
2620
|
-
# e.xpath # => "foo"
|
2621
|
-
#
|
2622
|
-
# source://rexml//lib/rexml/element.rb#1192
|
2623
|
-
def xpath; end
|
2624
|
-
|
2625
|
-
private
|
2626
|
-
|
2627
|
-
# source://rexml//lib/rexml/element.rb#1521
|
2628
|
-
def __to_xpath_helper(node); end
|
2629
|
-
|
2630
|
-
# A private helper method
|
2631
|
-
#
|
2632
|
-
# source://rexml//lib/rexml/element.rb#1536
|
2633
|
-
def each_with_something(test, max = T.unsafe(nil), name = T.unsafe(nil)); end
|
2634
|
-
end
|
2635
|
-
|
2636
|
-
# source://rexml//lib/rexml/doctype.rb#261
|
2637
|
-
class REXML::ElementDecl < ::REXML::Declaration
|
2638
|
-
# @return [ElementDecl] a new instance of ElementDecl
|
2639
|
-
#
|
2640
|
-
# source://rexml//lib/rexml/doctype.rb#262
|
2641
|
-
def initialize(src); end
|
2642
|
-
end
|
2643
|
-
|
2644
|
-
# A class which provides filtering of children for Elements, and
|
2645
|
-
# XPath search support. You are expected to only encounter this class as
|
2646
|
-
# the <tt>element.elements</tt> object. Therefore, you are
|
2647
|
-
# _not_ expected to instantiate this yourself.
|
2648
|
-
#
|
2649
|
-
# xml_string = <<-EOT
|
2650
|
-
# <?xml version="1.0" encoding="UTF-8"?>
|
2651
|
-
# <bookstore>
|
2652
|
-
# <book category="cooking">
|
2653
|
-
# <title lang="en">Everyday Italian</title>
|
2654
|
-
# <author>Giada De Laurentiis</author>
|
2655
|
-
# <year>2005</year>
|
2656
|
-
# <price>30.00</price>
|
2657
|
-
# </book>
|
2658
|
-
# <book category="children">
|
2659
|
-
# <title lang="en">Harry Potter</title>
|
2660
|
-
# <author>J K. Rowling</author>
|
2661
|
-
# <year>2005</year>
|
2662
|
-
# <price>29.99</price>
|
2663
|
-
# </book>
|
2664
|
-
# <book category="web">
|
2665
|
-
# <title lang="en">XQuery Kick Start</title>
|
2666
|
-
# <author>James McGovern</author>
|
2667
|
-
# <author>Per Bothner</author>
|
2668
|
-
# <author>Kurt Cagle</author>
|
2669
|
-
# <author>James Linn</author>
|
2670
|
-
# <author>Vaidyanathan Nagarajan</author>
|
2671
|
-
# <year>2003</year>
|
2672
|
-
# <price>49.99</price>
|
2673
|
-
# </book>
|
2674
|
-
# <book category="web" cover="paperback">
|
2675
|
-
# <title lang="en">Learning XML</title>
|
2676
|
-
# <author>Erik T. Ray</author>
|
2677
|
-
# <year>2003</year>
|
2678
|
-
# <price>39.95</price>
|
2679
|
-
# </book>
|
2680
|
-
# </bookstore>
|
2681
|
-
# EOT
|
2682
|
-
# d = REXML::Document.new(xml_string)
|
2683
|
-
# elements = d.root.elements
|
2684
|
-
# elements # => #<REXML::Elements @element=<bookstore> ... </>>
|
2685
|
-
#
|
2686
|
-
# source://rexml//lib/rexml/element.rb#1591
|
2687
|
-
class REXML::Elements
|
2688
|
-
include ::Enumerable
|
2689
|
-
|
2690
|
-
# :call-seq:
|
2691
|
-
# new(parent) -> new_elements_object
|
2692
|
-
#
|
2693
|
-
# Returns a new \Elements object with the given +parent+.
|
2694
|
-
# Does _not_ assign <tt>parent.elements = self</tt>:
|
2695
|
-
#
|
2696
|
-
# d = REXML::Document.new(xml_string)
|
2697
|
-
# eles = REXML::Elements.new(d.root)
|
2698
|
-
# eles # => #<REXML::Elements @element=<bookstore> ... </>>
|
2699
|
-
# eles == d.root.elements # => false
|
2700
|
-
#
|
2701
|
-
# @return [Elements] a new instance of Elements
|
2702
|
-
#
|
2703
|
-
# source://rexml//lib/rexml/element.rb#1604
|
2704
|
-
def initialize(parent); end
|
2705
|
-
|
2706
|
-
# :call-seq:
|
2707
|
-
# add -> new_element
|
2708
|
-
# add(name) -> new_element
|
2709
|
-
# add(element) -> element
|
2710
|
-
#
|
2711
|
-
# Adds an element; returns the element added.
|
2712
|
-
#
|
2713
|
-
# With no argument, creates and adds a new element.
|
2714
|
-
# The new element has:
|
2715
|
-
#
|
2716
|
-
# - No name.
|
2717
|
-
# - \Parent from the \Elements object.
|
2718
|
-
# - Context from the that parent.
|
2719
|
-
#
|
2720
|
-
# Example:
|
2721
|
-
#
|
2722
|
-
# d = REXML::Document.new(xml_string)
|
2723
|
-
# elements = d.root.elements
|
2724
|
-
# parent = elements.parent # => <bookstore> ... </>
|
2725
|
-
# parent.context = {raw: :all}
|
2726
|
-
# elements.size # => 4
|
2727
|
-
# new_element = elements.add # => </>
|
2728
|
-
# elements.size # => 5
|
2729
|
-
# new_element.name # => nil
|
2730
|
-
# new_element.parent # => <bookstore> ... </>
|
2731
|
-
# new_element.context # => {:raw=>:all}
|
2732
|
-
#
|
2733
|
-
# With string argument +name+, creates and adds a new element.
|
2734
|
-
# The new element has:
|
2735
|
-
#
|
2736
|
-
# - Name +name+.
|
2737
|
-
# - \Parent from the \Elements object.
|
2738
|
-
# - Context from the that parent.
|
2739
|
-
#
|
2740
|
-
# Example:
|
2741
|
-
#
|
2742
|
-
# d = REXML::Document.new(xml_string)
|
2743
|
-
# elements = d.root.elements
|
2744
|
-
# parent = elements.parent # => <bookstore> ... </>
|
2745
|
-
# parent.context = {raw: :all}
|
2746
|
-
# elements.size # => 4
|
2747
|
-
# new_element = elements.add('foo') # => <foo/>
|
2748
|
-
# elements.size # => 5
|
2749
|
-
# new_element.name # => "foo"
|
2750
|
-
# new_element.parent # => <bookstore> ... </>
|
2751
|
-
# new_element.context # => {:raw=>:all}
|
2752
|
-
#
|
2753
|
-
# With argument +element+,
|
2754
|
-
# creates and adds a clone of the given +element+.
|
2755
|
-
# The new element has name, parent, and context from the given +element+.
|
2756
|
-
#
|
2757
|
-
# d = REXML::Document.new(xml_string)
|
2758
|
-
# elements = d.root.elements
|
2759
|
-
# elements.size # => 4
|
2760
|
-
# e0 = REXML::Element.new('foo')
|
2761
|
-
# e1 = REXML::Element.new('bar', e0, {raw: :all})
|
2762
|
-
# element = elements.add(e1) # => <bar/>
|
2763
|
-
# elements.size # => 5
|
2764
|
-
# element.name # => "bar"
|
2765
|
-
# element.parent # => <bookstore> ... </>
|
2766
|
-
# element.context # => {:raw=>:all}
|
2767
|
-
#
|
2768
|
-
# source://rexml//lib/rexml/element.rb#1921
|
2769
|
-
def <<(element = T.unsafe(nil)); end
|
2770
|
-
|
2771
|
-
# :call-seq:
|
2772
|
-
# elements[index] -> element or nil
|
2773
|
-
# elements[xpath] -> element or nil
|
2774
|
-
# elements[n, name] -> element or nil
|
2775
|
-
#
|
2776
|
-
# Returns the first \Element object selected by the arguments,
|
2777
|
-
# if any found, or +nil+ if none found.
|
2778
|
-
#
|
2779
|
-
# Notes:
|
2780
|
-
# - The +index+ is 1-based, not 0-based, so that:
|
2781
|
-
# - The first element has index <tt>1</tt>
|
2782
|
-
# - The _nth_ element has index +n+.
|
2783
|
-
# - The selection ignores non-\Element nodes.
|
2784
|
-
#
|
2785
|
-
# When the single argument +index+ is given,
|
2786
|
-
# returns the element given by the index, if any; otherwise, +nil+:
|
2787
|
-
#
|
2788
|
-
# d = REXML::Document.new(xml_string)
|
2789
|
-
# eles = d.root.elements
|
2790
|
-
# eles # => #<REXML::Elements @element=<bookstore> ... </>>
|
2791
|
-
# eles[1] # => <book category='cooking'> ... </>
|
2792
|
-
# eles.size # => 4
|
2793
|
-
# eles[4] # => <book category='web' cover='paperback'> ... </>
|
2794
|
-
# eles[5] # => nil
|
2795
|
-
#
|
2796
|
-
# The node at this index is not an \Element, and so is not returned:
|
2797
|
-
#
|
2798
|
-
# eles = d.root.first.first # => <title lang='en'> ... </>
|
2799
|
-
# eles.to_a # => ["Everyday Italian"]
|
2800
|
-
# eles[1] # => nil
|
2801
|
-
#
|
2802
|
-
# When the single argument +xpath+ is given,
|
2803
|
-
# returns the first element found via that +xpath+, if any; otherwise, +nil+:
|
2804
|
-
#
|
2805
|
-
# eles = d.root.elements # => #<REXML::Elements @element=<bookstore> ... </>>
|
2806
|
-
# eles['/bookstore'] # => <bookstore> ... </>
|
2807
|
-
# eles['//book'] # => <book category='cooking'> ... </>
|
2808
|
-
# eles['//book [@category="children"]'] # => <book category='children'> ... </>
|
2809
|
-
# eles['/nosuch'] # => nil
|
2810
|
-
# eles['//nosuch'] # => nil
|
2811
|
-
# eles['//book [@category="nosuch"]'] # => nil
|
2812
|
-
# eles['.'] # => <bookstore> ... </>
|
2813
|
-
# eles['..'].class # => REXML::Document
|
2814
|
-
#
|
2815
|
-
# With arguments +n+ and +name+ given,
|
2816
|
-
# returns the _nth_ found element that has the given +name+,
|
2817
|
-
# or +nil+ if there is no such _nth_ element:
|
2818
|
-
#
|
2819
|
-
# eles = d.root.elements # => #<REXML::Elements @element=<bookstore> ... </>>
|
2820
|
-
# eles[1, 'book'] # => <book category='cooking'> ... </>
|
2821
|
-
# eles[4, 'book'] # => <book category='web' cover='paperback'> ... </>
|
2822
|
-
# eles[5, 'book'] # => nil
|
2823
|
-
#
|
2824
|
-
# source://rexml//lib/rexml/element.rb#1676
|
2825
|
-
def [](index, name = T.unsafe(nil)); end
|
2826
|
-
|
2827
|
-
# :call-seq:
|
2828
|
-
# elements[] = index, replacement_element -> replacement_element or nil
|
2829
|
-
#
|
2830
|
-
# Replaces or adds an element.
|
2831
|
-
#
|
2832
|
-
# When <tt>eles[index]</tt> exists, replaces it with +replacement_element+
|
2833
|
-
# and returns +replacement_element+:
|
2834
|
-
#
|
2835
|
-
# d = REXML::Document.new(xml_string)
|
2836
|
-
# eles = d.root.elements # => #<REXML::Elements @element=<bookstore> ... </>>
|
2837
|
-
# eles[1] # => <book category='cooking'> ... </>
|
2838
|
-
# eles[1] = REXML::Element.new('foo')
|
2839
|
-
# eles[1] # => <foo/>
|
2840
|
-
#
|
2841
|
-
# Does nothing (or raises an exception)
|
2842
|
-
# if +replacement_element+ is not an \Element:
|
2843
|
-
# eles[2] # => <book category='web' cover='paperback'> ... </>
|
2844
|
-
# eles[2] = REXML::Text.new('bar')
|
2845
|
-
# eles[2] # => <book category='web' cover='paperback'> ... </>
|
2846
|
-
#
|
2847
|
-
# When <tt>eles[index]</tt> does not exist,
|
2848
|
-
# adds +replacement_element+ to the element and returns
|
2849
|
-
#
|
2850
|
-
# d = REXML::Document.new(xml_string)
|
2851
|
-
# eles = d.root.elements # => #<REXML::Elements @element=<bookstore> ... </>>
|
2852
|
-
# eles.size # => 4
|
2853
|
-
# eles[50] = REXML::Element.new('foo') # => <foo/>
|
2854
|
-
# eles.size # => 5
|
2855
|
-
# eles[5] # => <foo/>
|
2856
|
-
#
|
2857
|
-
# Does nothing (or raises an exception)
|
2858
|
-
# if +replacement_element+ is not an \Element:
|
2859
|
-
#
|
2860
|
-
# eles[50] = REXML::Text.new('bar') # => "bar"
|
2861
|
-
# eles.size # => 5
|
2862
|
-
#
|
2863
|
-
# source://rexml//lib/rexml/element.rb#1731
|
2864
|
-
def []=(index, element); end
|
2865
|
-
|
2866
|
-
# :call-seq:
|
2867
|
-
# add -> new_element
|
2868
|
-
# add(name) -> new_element
|
2869
|
-
# add(element) -> element
|
2870
|
-
#
|
2871
|
-
# Adds an element; returns the element added.
|
2872
|
-
#
|
2873
|
-
# With no argument, creates and adds a new element.
|
2874
|
-
# The new element has:
|
2875
|
-
#
|
2876
|
-
# - No name.
|
2877
|
-
# - \Parent from the \Elements object.
|
2878
|
-
# - Context from the that parent.
|
2879
|
-
#
|
2880
|
-
# Example:
|
2881
|
-
#
|
2882
|
-
# d = REXML::Document.new(xml_string)
|
2883
|
-
# elements = d.root.elements
|
2884
|
-
# parent = elements.parent # => <bookstore> ... </>
|
2885
|
-
# parent.context = {raw: :all}
|
2886
|
-
# elements.size # => 4
|
2887
|
-
# new_element = elements.add # => </>
|
2888
|
-
# elements.size # => 5
|
2889
|
-
# new_element.name # => nil
|
2890
|
-
# new_element.parent # => <bookstore> ... </>
|
2891
|
-
# new_element.context # => {:raw=>:all}
|
2892
|
-
#
|
2893
|
-
# With string argument +name+, creates and adds a new element.
|
2894
|
-
# The new element has:
|
2895
|
-
#
|
2896
|
-
# - Name +name+.
|
2897
|
-
# - \Parent from the \Elements object.
|
2898
|
-
# - Context from the that parent.
|
2899
|
-
#
|
2900
|
-
# Example:
|
2901
|
-
#
|
2902
|
-
# d = REXML::Document.new(xml_string)
|
2903
|
-
# elements = d.root.elements
|
2904
|
-
# parent = elements.parent # => <bookstore> ... </>
|
2905
|
-
# parent.context = {raw: :all}
|
2906
|
-
# elements.size # => 4
|
2907
|
-
# new_element = elements.add('foo') # => <foo/>
|
2908
|
-
# elements.size # => 5
|
2909
|
-
# new_element.name # => "foo"
|
2910
|
-
# new_element.parent # => <bookstore> ... </>
|
2911
|
-
# new_element.context # => {:raw=>:all}
|
2912
|
-
#
|
2913
|
-
# With argument +element+,
|
2914
|
-
# creates and adds a clone of the given +element+.
|
2915
|
-
# The new element has name, parent, and context from the given +element+.
|
2916
|
-
#
|
2917
|
-
# d = REXML::Document.new(xml_string)
|
2918
|
-
# elements = d.root.elements
|
2919
|
-
# elements.size # => 4
|
2920
|
-
# e0 = REXML::Element.new('foo')
|
2921
|
-
# e1 = REXML::Element.new('bar', e0, {raw: :all})
|
2922
|
-
# element = elements.add(e1) # => <bar/>
|
2923
|
-
# elements.size # => 5
|
2924
|
-
# element.name # => "bar"
|
2925
|
-
# element.parent # => <bookstore> ... </>
|
2926
|
-
# element.context # => {:raw=>:all}
|
2927
|
-
#
|
2928
|
-
# source://rexml//lib/rexml/element.rb#1921
|
2929
|
-
def add(element = T.unsafe(nil)); end
|
2930
|
-
|
2931
|
-
# :call-seq:
|
2932
|
-
# collect(xpath = nil) {|element| ... } -> array
|
2933
|
-
#
|
2934
|
-
# Iterates over the elements; returns the array of block return values.
|
2935
|
-
#
|
2936
|
-
# With no argument, iterates over all elements:
|
2937
|
-
#
|
2938
|
-
# d = REXML::Document.new(xml_string)
|
2939
|
-
# elements = d.root.elements
|
2940
|
-
# elements.collect {|element| element.size } # => [9, 9, 17, 9]
|
2941
|
-
#
|
2942
|
-
# With argument +xpath+, iterates over elements that match
|
2943
|
-
# the given +xpath+:
|
2944
|
-
#
|
2945
|
-
# xpath = '//book [@category="web"]'
|
2946
|
-
# elements.collect(xpath) {|element| element.size } # => [17, 9]
|
2947
|
-
#
|
2948
|
-
# source://rexml//lib/rexml/element.rb#1984
|
2949
|
-
def collect(xpath = T.unsafe(nil)); end
|
2950
|
-
|
2951
|
-
# :call-seq:
|
2952
|
-
# delete(index) -> removed_element or nil
|
2953
|
-
# delete(element) -> removed_element or nil
|
2954
|
-
# delete(xpath) -> removed_element or nil
|
2955
|
-
#
|
2956
|
-
# Removes an element; returns the removed element, or +nil+ if none removed.
|
2957
|
-
#
|
2958
|
-
# With integer argument +index+ given,
|
2959
|
-
# removes the child element at that offset:
|
2960
|
-
#
|
2961
|
-
# d = REXML::Document.new(xml_string)
|
2962
|
-
# elements = d.root.elements
|
2963
|
-
# elements.size # => 4
|
2964
|
-
# elements[2] # => <book category='children'> ... </>
|
2965
|
-
# elements.delete(2) # => <book category='children'> ... </>
|
2966
|
-
# elements.size # => 3
|
2967
|
-
# elements[2] # => <book category='web'> ... </>
|
2968
|
-
# elements.delete(50) # => nil
|
2969
|
-
#
|
2970
|
-
# With element argument +element+ given,
|
2971
|
-
# removes that child element:
|
2972
|
-
#
|
2973
|
-
# d = REXML::Document.new(xml_string)
|
2974
|
-
# elements = d.root.elements
|
2975
|
-
# ele_1, ele_2, ele_3, ele_4 = *elements
|
2976
|
-
# elements.size # => 4
|
2977
|
-
# elements[2] # => <book category='children'> ... </>
|
2978
|
-
# elements.delete(ele_2) # => <book category='children'> ... </>
|
2979
|
-
# elements.size # => 3
|
2980
|
-
# elements[2] # => <book category='web'> ... </>
|
2981
|
-
# elements.delete(ele_2) # => nil
|
2982
|
-
#
|
2983
|
-
# With string argument +xpath+ given,
|
2984
|
-
# removes the first element found via that xpath:
|
2985
|
-
#
|
2986
|
-
# d = REXML::Document.new(xml_string)
|
2987
|
-
# elements = d.root.elements
|
2988
|
-
# elements.delete('//book') # => <book category='cooking'> ... </>
|
2989
|
-
# elements.delete('//book [@category="children"]') # => <book category='children'> ... </>
|
2990
|
-
# elements.delete('//nosuch') # => nil
|
2991
|
-
#
|
2992
|
-
# source://rexml//lib/rexml/element.rb#1821
|
2993
|
-
def delete(element); end
|
2994
|
-
|
2995
|
-
# :call-seq:
|
2996
|
-
# delete_all(xpath)
|
2997
|
-
#
|
2998
|
-
# Removes all elements found via the given +xpath+;
|
2999
|
-
# returns the array of removed elements, if any, else +nil+.
|
3000
|
-
#
|
3001
|
-
# d = REXML::Document.new(xml_string)
|
3002
|
-
# elements = d.root.elements
|
3003
|
-
# elements.size # => 4
|
3004
|
-
# deleted_elements = elements.delete_all('//book [@category="web"]')
|
3005
|
-
# deleted_elements.size # => 2
|
3006
|
-
# elements.size # => 2
|
3007
|
-
# deleted_elements = elements.delete_all('//book')
|
3008
|
-
# deleted_elements.size # => 2
|
3009
|
-
# elements.size # => 0
|
3010
|
-
# elements.delete_all('//book') # => []
|
3011
|
-
#
|
3012
|
-
# source://rexml//lib/rexml/element.rb#1847
|
3013
|
-
def delete_all(xpath); end
|
3014
|
-
|
3015
|
-
# :call-seq:
|
3016
|
-
# each(xpath = nil) {|element| ... } -> self
|
3017
|
-
#
|
3018
|
-
# Iterates over the elements.
|
3019
|
-
#
|
3020
|
-
# With no argument, calls the block with each element:
|
3021
|
-
#
|
3022
|
-
# d = REXML::Document.new(xml_string)
|
3023
|
-
# elements = d.root.elements
|
3024
|
-
# elements.each {|element| p element }
|
3025
|
-
#
|
3026
|
-
# Output:
|
3027
|
-
#
|
3028
|
-
# <book category='cooking'> ... </>
|
3029
|
-
# <book category='children'> ... </>
|
3030
|
-
# <book category='web'> ... </>
|
3031
|
-
# <book category='web' cover='paperback'> ... </>
|
3032
|
-
#
|
3033
|
-
# With argument +xpath+, calls the block with each element
|
3034
|
-
# that matches the given +xpath+:
|
3035
|
-
#
|
3036
|
-
# elements.each('//book [@category="web"]') {|element| p element }
|
3037
|
-
#
|
3038
|
-
# Output:
|
3039
|
-
#
|
3040
|
-
# <book category='web'> ... </>
|
3041
|
-
# <book category='web' cover='paperback'> ... </>
|
3042
|
-
#
|
3043
|
-
# source://rexml//lib/rexml/element.rb#1963
|
3044
|
-
def each(xpath = T.unsafe(nil)); end
|
3045
|
-
|
3046
|
-
# :call-seq:
|
3047
|
-
# empty? -> true or false
|
3048
|
-
#
|
3049
|
-
# Returns +true+ if there are no children, +false+ otherwise.
|
3050
|
-
#
|
3051
|
-
# d = REXML::Document.new('')
|
3052
|
-
# d.elements.empty? # => true
|
3053
|
-
# d = REXML::Document.new(xml_string)
|
3054
|
-
# d.elements.empty? # => false
|
3055
|
-
#
|
3056
|
-
# @return [Boolean]
|
3057
|
-
#
|
3058
|
-
# source://rexml//lib/rexml/element.rb#1751
|
3059
|
-
def empty?; end
|
3060
|
-
|
3061
|
-
# :call-seq:
|
3062
|
-
# index(element)
|
3063
|
-
#
|
3064
|
-
# Returns the 1-based index of the given +element+, if found;
|
3065
|
-
# otherwise, returns -1:
|
3066
|
-
#
|
3067
|
-
# d = REXML::Document.new(xml_string)
|
3068
|
-
# elements = d.root.elements
|
3069
|
-
# ele_1, ele_2, ele_3, ele_4 = *elements
|
3070
|
-
# elements.index(ele_4) # => 4
|
3071
|
-
# elements.delete(ele_3)
|
3072
|
-
# elements.index(ele_4) # => 3
|
3073
|
-
# elements.index(ele_3) # => -1
|
3074
|
-
#
|
3075
|
-
# source://rexml//lib/rexml/element.rb#1769
|
3076
|
-
def index(element); end
|
3077
|
-
|
3078
|
-
# :call-seq:
|
3079
|
-
# inject(xpath = nil, initial = nil) -> object
|
3080
|
-
#
|
3081
|
-
# Calls the block with elements; returns the last block return value.
|
3082
|
-
#
|
3083
|
-
# With no argument, iterates over the elements, calling the block
|
3084
|
-
# <tt>elements.size - 1</tt> times.
|
3085
|
-
#
|
3086
|
-
# - The first call passes the first and second elements.
|
3087
|
-
# - The second call passes the first block return value and the third element.
|
3088
|
-
# - The third call passes the second block return value and the fourth element.
|
3089
|
-
# - And so on.
|
3090
|
-
#
|
3091
|
-
# In this example, the block returns the passed element,
|
3092
|
-
# which is then the object argument to the next call:
|
3093
|
-
#
|
3094
|
-
# d = REXML::Document.new(xml_string)
|
3095
|
-
# elements = d.root.elements
|
3096
|
-
# elements.inject do |object, element|
|
3097
|
-
# p [elements.index(object), elements.index(element)]
|
3098
|
-
# element
|
3099
|
-
# end
|
3100
|
-
#
|
3101
|
-
# Output:
|
3102
|
-
#
|
3103
|
-
# [1, 2]
|
3104
|
-
# [2, 3]
|
3105
|
-
# [3, 4]
|
3106
|
-
#
|
3107
|
-
# With the single argument +xpath+, calls the block only with
|
3108
|
-
# elements matching that xpath:
|
3109
|
-
#
|
3110
|
-
# elements.inject('//book [@category="web"]') do |object, element|
|
3111
|
-
# p [elements.index(object), elements.index(element)]
|
3112
|
-
# element
|
3113
|
-
# end
|
3114
|
-
#
|
3115
|
-
# Output:
|
3116
|
-
#
|
3117
|
-
# [3, 4]
|
3118
|
-
#
|
3119
|
-
# With argument +xpath+ given as +nil+
|
3120
|
-
# and argument +initial+ also given,
|
3121
|
-
# calls the block once for each element.
|
3122
|
-
#
|
3123
|
-
# - The first call passes the +initial+ and the first element.
|
3124
|
-
# - The second call passes the first block return value and the second element.
|
3125
|
-
# - The third call passes the second block return value and the third element.
|
3126
|
-
# - And so on.
|
3127
|
-
#
|
3128
|
-
# In this example, the first object index is <tt>-1</tt>
|
3129
|
-
#
|
3130
|
-
# elements.inject(nil, 'Initial') do |object, element|
|
3131
|
-
# p [elements.index(object), elements.index(element)]
|
3132
|
-
# element
|
3133
|
-
# end
|
3134
|
-
#
|
3135
|
-
# Output:
|
3136
|
-
#
|
3137
|
-
# [-1, 1]
|
3138
|
-
# [1, 2]
|
3139
|
-
# [2, 3]
|
3140
|
-
# [3, 4]
|
3141
|
-
#
|
3142
|
-
# In this form the passed object can be used as an accumulator:
|
3143
|
-
#
|
3144
|
-
# elements.inject(nil, 0) do |total, element|
|
3145
|
-
# total += element.size
|
3146
|
-
# end # => 44
|
3147
|
-
#
|
3148
|
-
# With both arguments +xpath+ and +initial+ are given,
|
3149
|
-
# calls the block only with elements matching that xpath:
|
3150
|
-
#
|
3151
|
-
# elements.inject('//book [@category="web"]', 0) do |total, element|
|
3152
|
-
# total += element.size
|
3153
|
-
# end # => 26
|
3154
|
-
#
|
3155
|
-
# source://rexml//lib/rexml/element.rb#2069
|
3156
|
-
def inject(xpath = T.unsafe(nil), initial = T.unsafe(nil)); end
|
3157
|
-
|
3158
|
-
# :call-seq:
|
3159
|
-
# parent
|
3160
|
-
#
|
3161
|
-
# Returns the parent element cited in creating the \Elements object.
|
3162
|
-
# This element is also the default starting point for searching
|
3163
|
-
# in the \Elements object.
|
3164
|
-
#
|
3165
|
-
# d = REXML::Document.new(xml_string)
|
3166
|
-
# elements = REXML::Elements.new(d.root)
|
3167
|
-
# elements.parent == d.root # => true
|
3168
|
-
#
|
3169
|
-
# source://rexml//lib/rexml/element.rb#1619
|
3170
|
-
def parent; end
|
3171
|
-
|
3172
|
-
# :call-seq:
|
3173
|
-
# size -> integer
|
3174
|
-
#
|
3175
|
-
# Returns the count of \Element children:
|
3176
|
-
#
|
3177
|
-
# d = REXML::Document.new '<a>sean<b/>elliott<b/>russell<b/></a>'
|
3178
|
-
# d.root.elements.size # => 3 # Three elements.
|
3179
|
-
# d.root.size # => 6 # Three elements plus three text nodes..
|
3180
|
-
#
|
3181
|
-
# source://rexml//lib/rexml/element.rb#2093
|
3182
|
-
def size; end
|
3183
|
-
|
3184
|
-
# :call-seq:
|
3185
|
-
# to_a(xpath = nil) -> array_of_elements
|
3186
|
-
#
|
3187
|
-
# Returns an array of element children (not including non-element children).
|
3188
|
-
#
|
3189
|
-
# With no argument, returns an array of all element children:
|
3190
|
-
#
|
3191
|
-
# d = REXML::Document.new '<a>sean<b/>elliott<c/></a>'
|
3192
|
-
# elements = d.root.elements
|
3193
|
-
# elements.to_a # => [<b/>, <c/>] # Omits non-element children.
|
3194
|
-
# children = d.root.children
|
3195
|
-
# children # => ["sean", <b/>, "elliott", <c/>] # Includes non-element children.
|
3196
|
-
#
|
3197
|
-
# With argument +xpath+, returns an array of element children
|
3198
|
-
# that match the xpath:
|
3199
|
-
#
|
3200
|
-
# elements.to_a('//c') # => [<c/>]
|
3201
|
-
#
|
3202
|
-
# source://rexml//lib/rexml/element.rb#2117
|
3203
|
-
def to_a(xpath = T.unsafe(nil)); end
|
3204
|
-
|
3205
|
-
private
|
3206
|
-
|
3207
|
-
# Private helper class. Removes quotes from quoted strings
|
3208
|
-
#
|
3209
|
-
# source://rexml//lib/rexml/element.rb#2125
|
3210
|
-
def literalize(name); end
|
3211
|
-
end
|
3212
|
-
|
3213
|
-
# source://rexml//lib/rexml/encoding.rb#4
|
3214
|
-
module REXML::Encoding
|
3215
|
-
# source://rexml//lib/rexml/encoding.rb#29
|
3216
|
-
def decode(string); end
|
3217
|
-
|
3218
|
-
# source://rexml//lib/rexml/encoding.rb#25
|
3219
|
-
def encode(string); end
|
3220
|
-
|
3221
|
-
# ID ---> Encoding name
|
3222
|
-
#
|
3223
|
-
# source://rexml//lib/rexml/encoding.rb#6
|
3224
|
-
def encoding; end
|
3225
|
-
|
3226
|
-
# source://rexml//lib/rexml/encoding.rb#7
|
3227
|
-
def encoding=(encoding); end
|
3228
|
-
|
3229
|
-
private
|
3230
|
-
|
3231
|
-
# source://rexml//lib/rexml/encoding.rb#34
|
3232
|
-
def find_encoding(name); end
|
3233
|
-
end
|
3234
|
-
|
3235
|
-
# source://rexml//lib/rexml/entity.rb#7
|
3236
|
-
class REXML::Entity < ::REXML::Child
|
3237
|
-
include ::REXML::XMLTokens
|
3238
|
-
|
3239
|
-
# Create a new entity. Simple entities can be constructed by passing a
|
3240
|
-
# name, value to the constructor; this creates a generic, plain entity
|
3241
|
-
# reference. For anything more complicated, you have to pass a Source to
|
3242
|
-
# the constructor with the entity definition, or use the accessor methods.
|
3243
|
-
# +WARNING+: There is no validation of entity state except when the entity
|
3244
|
-
# is read from a stream. If you start poking around with the accessors,
|
3245
|
-
# you can easily create a non-conformant Entity.
|
3246
|
-
#
|
3247
|
-
# e = Entity.new( 'amp', '&' )
|
3248
|
-
#
|
3249
|
-
# @return [Entity] a new instance of Entity
|
3250
|
-
#
|
3251
|
-
# source://rexml//lib/rexml/entity.rb#34
|
3252
|
-
def initialize(stream, value = T.unsafe(nil), parent = T.unsafe(nil), reference = T.unsafe(nil)); end
|
3253
|
-
|
3254
|
-
# Returns the value of attribute external.
|
3255
|
-
#
|
3256
|
-
# source://rexml//lib/rexml/entity.rb#23
|
3257
|
-
def external; end
|
3258
|
-
|
3259
|
-
# Returns the value of attribute name.
|
3260
|
-
#
|
3261
|
-
# source://rexml//lib/rexml/entity.rb#23
|
3262
|
-
def name; end
|
3263
|
-
|
3264
|
-
# Returns the value of attribute ndata.
|
3265
|
-
#
|
3266
|
-
# source://rexml//lib/rexml/entity.rb#23
|
3267
|
-
def ndata; end
|
3268
|
-
|
3269
|
-
# Returns the value of this entity unprocessed -- raw. This is the
|
3270
|
-
# normalized value; that is, with all %ent; and &ent; entities intact
|
3271
|
-
#
|
3272
|
-
# source://rexml//lib/rexml/entity.rb#86
|
3273
|
-
def normalized; end
|
3274
|
-
|
3275
|
-
# Returns the value of attribute pubid.
|
3276
|
-
#
|
3277
|
-
# source://rexml//lib/rexml/entity.rb#23
|
3278
|
-
def pubid; end
|
3279
|
-
|
3280
|
-
# Returns the value of attribute ref.
|
3281
|
-
#
|
3282
|
-
# source://rexml//lib/rexml/entity.rb#23
|
3283
|
-
def ref; end
|
3284
|
-
|
3285
|
-
# Returns this entity as a string. See write().
|
3286
|
-
#
|
3287
|
-
# source://rexml//lib/rexml/entity.rb#120
|
3288
|
-
def to_s; end
|
3289
|
-
|
3290
|
-
# Evaluates to the unnormalized value of this entity; that is, replacing
|
3291
|
-
# &ent; entities.
|
3292
|
-
#
|
3293
|
-
# source://rexml//lib/rexml/entity.rb#73
|
3294
|
-
def unnormalized; end
|
3295
|
-
|
3296
|
-
# Returns the value of attribute value.
|
3297
|
-
#
|
3298
|
-
# source://rexml//lib/rexml/entity.rb#23
|
3299
|
-
def value; end
|
3300
|
-
|
3301
|
-
# Write out a fully formed, correct entity definition (assuming the Entity
|
3302
|
-
# object itself is valid.)
|
3303
|
-
#
|
3304
|
-
# out::
|
3305
|
-
# An object implementing <TT><<</TT> to which the entity will be
|
3306
|
-
# output
|
3307
|
-
# indent::
|
3308
|
-
# *DEPRECATED* and ignored
|
3309
|
-
#
|
3310
|
-
# source://rexml//lib/rexml/entity.rb#98
|
3311
|
-
def write(out, indent = T.unsafe(nil)); end
|
3312
|
-
|
3313
|
-
class << self
|
3314
|
-
# Evaluates whether the given string matches an entity definition,
|
3315
|
-
# returning true if so, and false otherwise.
|
3316
|
-
#
|
3317
|
-
# @return [Boolean]
|
3318
|
-
#
|
3319
|
-
# source://rexml//lib/rexml/entity.rb#67
|
3320
|
-
def matches?(string); end
|
3321
|
-
end
|
3322
|
-
end
|
3323
|
-
|
3324
|
-
# source://rexml//lib/rexml/doctype.rb#267
|
3325
|
-
class REXML::ExternalEntity < ::REXML::Child
|
3326
|
-
# @return [ExternalEntity] a new instance of ExternalEntity
|
3327
|
-
#
|
3328
|
-
# source://rexml//lib/rexml/doctype.rb#268
|
3329
|
-
def initialize(src); end
|
3330
|
-
|
3331
|
-
# source://rexml//lib/rexml/doctype.rb#272
|
3332
|
-
def to_s; end
|
3333
|
-
|
3334
|
-
# source://rexml//lib/rexml/doctype.rb#275
|
3335
|
-
def write(output, indent); end
|
3336
|
-
end
|
3337
|
-
|
3338
|
-
# source://rexml//lib/rexml/formatters/default.rb#5
|
3339
|
-
class REXML::Formatters::Default
|
3340
|
-
# Prints out the XML document with no formatting -- except if ie_hack is
|
3341
|
-
# set.
|
3342
|
-
#
|
3343
|
-
# ie_hack::
|
3344
|
-
# If set to true, then inserts whitespace before the close of an empty
|
3345
|
-
# tag, so that IE's bad XML parser doesn't choke.
|
3346
|
-
#
|
3347
|
-
# @return [Default] a new instance of Default
|
3348
|
-
#
|
3349
|
-
# source://rexml//lib/rexml/formatters/default.rb#12
|
3350
|
-
def initialize(ie_hack = T.unsafe(nil)); end
|
3351
|
-
|
3352
|
-
# Writes the node to some output.
|
3353
|
-
#
|
3354
|
-
# node::
|
3355
|
-
# The node to write
|
3356
|
-
# output::
|
3357
|
-
# A class implementing <TT><<</TT>. Pass in an Output object to
|
3358
|
-
# change the output encoding.
|
3359
|
-
#
|
3360
|
-
# source://rexml//lib/rexml/formatters/default.rb#23
|
3361
|
-
def write(node, output); end
|
3362
|
-
|
3363
|
-
protected
|
3364
|
-
|
3365
|
-
# source://rexml//lib/rexml/formatters/default.rb#98
|
3366
|
-
def write_cdata(node, output); end
|
3367
|
-
|
3368
|
-
# source://rexml//lib/rexml/formatters/default.rb#92
|
3369
|
-
def write_comment(node, output); end
|
3370
|
-
|
3371
|
-
# source://rexml//lib/rexml/formatters/default.rb#61
|
3372
|
-
def write_document(node, output); end
|
3373
|
-
|
3374
|
-
# source://rexml//lib/rexml/formatters/default.rb#65
|
3375
|
-
def write_element(node, output); end
|
3376
|
-
|
3377
|
-
# source://rexml//lib/rexml/formatters/default.rb#104
|
3378
|
-
def write_instruction(node, output); end
|
3379
|
-
|
3380
|
-
# source://rexml//lib/rexml/formatters/default.rb#88
|
3381
|
-
def write_text(node, output); end
|
3382
|
-
end
|
3383
|
-
|
3384
|
-
# Pretty-prints an XML document. This destroys whitespace in text nodes
|
3385
|
-
# and will insert carriage returns and indentations.
|
3386
|
-
#
|
3387
|
-
# TODO: Add an option to print attributes on new lines
|
3388
|
-
#
|
3389
|
-
# source://rexml//lib/rexml/formatters/pretty.rb#10
|
3390
|
-
class REXML::Formatters::Pretty < ::REXML::Formatters::Default
|
3391
|
-
# Create a new pretty printer.
|
3392
|
-
#
|
3393
|
-
# output::
|
3394
|
-
# An object implementing '<<(String)', to which the output will be written.
|
3395
|
-
# indentation::
|
3396
|
-
# An integer greater than 0. The indentation of each level will be
|
3397
|
-
# this number of spaces. If this is < 1, the behavior of this object
|
3398
|
-
# is undefined. Defaults to 2.
|
3399
|
-
# ie_hack::
|
3400
|
-
# If true, the printer will insert whitespace before closing empty
|
3401
|
-
# tags, thereby allowing Internet Explorer's XML parser to
|
3402
|
-
# function. Defaults to false.
|
3403
|
-
#
|
3404
|
-
# @return [Pretty] a new instance of Pretty
|
3405
|
-
#
|
3406
|
-
# source://rexml//lib/rexml/formatters/pretty.rb#30
|
3407
|
-
def initialize(indentation = T.unsafe(nil), ie_hack = T.unsafe(nil)); end
|
3408
|
-
|
3409
|
-
# If compact is set to true, then the formatter will attempt to use as
|
3410
|
-
# little space as possible
|
3411
|
-
#
|
3412
|
-
# source://rexml//lib/rexml/formatters/pretty.rb#14
|
3413
|
-
def compact; end
|
3414
|
-
|
3415
|
-
# If compact is set to true, then the formatter will attempt to use as
|
3416
|
-
# little space as possible
|
3417
|
-
#
|
3418
|
-
# source://rexml//lib/rexml/formatters/pretty.rb#14
|
3419
|
-
def compact=(_arg0); end
|
3420
|
-
|
3421
|
-
# The width of a page. Used for formatting text
|
3422
|
-
#
|
3423
|
-
# source://rexml//lib/rexml/formatters/pretty.rb#16
|
3424
|
-
def width; end
|
3425
|
-
|
3426
|
-
# The width of a page. Used for formatting text
|
3427
|
-
#
|
3428
|
-
# source://rexml//lib/rexml/formatters/pretty.rb#16
|
3429
|
-
def width=(_arg0); end
|
3430
|
-
|
3431
|
-
protected
|
3432
|
-
|
3433
|
-
# source://rexml//lib/rexml/formatters/pretty.rb#102
|
3434
|
-
def write_cdata(node, output); end
|
3435
|
-
|
3436
|
-
# source://rexml//lib/rexml/formatters/pretty.rb#97
|
3437
|
-
def write_comment(node, output); end
|
3438
|
-
|
3439
|
-
# source://rexml//lib/rexml/formatters/pretty.rb#107
|
3440
|
-
def write_document(node, output); end
|
3441
|
-
|
3442
|
-
# source://rexml//lib/rexml/formatters/pretty.rb#39
|
3443
|
-
def write_element(node, output); end
|
3444
|
-
|
3445
|
-
# source://rexml//lib/rexml/formatters/pretty.rb#88
|
3446
|
-
def write_text(node, output); end
|
3447
|
-
|
3448
|
-
private
|
3449
|
-
|
3450
|
-
# source://rexml//lib/rexml/formatters/pretty.rb#124
|
3451
|
-
def indent_text(string, level = T.unsafe(nil), style = T.unsafe(nil), indentfirstline = T.unsafe(nil)); end
|
3452
|
-
|
3453
|
-
# source://rexml//lib/rexml/formatters/pretty.rb#129
|
3454
|
-
def wrap(string, width); end
|
3455
|
-
end
|
3456
|
-
|
3457
|
-
# A Source that wraps an IO. See the Source class for method
|
3458
|
-
# documentation
|
3459
|
-
#
|
3460
|
-
# source://rexml//lib/rexml/source.rb#184
|
3461
|
-
class REXML::IOSource < ::REXML::Source
|
3462
|
-
# block_size has been deprecated
|
3463
|
-
#
|
3464
|
-
# @return [IOSource] a new instance of IOSource
|
3465
|
-
#
|
3466
|
-
# source://rexml//lib/rexml/source.rb#187
|
3467
|
-
def initialize(arg, block_size = T.unsafe(nil), encoding = T.unsafe(nil)); end
|
3468
|
-
|
3469
|
-
# @return the current line in the source
|
3470
|
-
#
|
3471
|
-
# source://rexml//lib/rexml/source.rb#275
|
3472
|
-
def current_line; end
|
3473
|
-
|
3474
|
-
# @return [Boolean]
|
3475
|
-
#
|
3476
|
-
# source://rexml//lib/rexml/source.rb#270
|
3477
|
-
def empty?; end
|
3478
|
-
|
3479
|
-
# source://rexml//lib/rexml/source.rb#247
|
3480
|
-
def ensure_buffer; end
|
3481
|
-
|
3482
|
-
# source://rexml//lib/rexml/source.rb#251
|
3483
|
-
def match(pattern, cons = T.unsafe(nil)); end
|
3484
|
-
|
3485
|
-
# source://rexml//lib/rexml/source.rb#208
|
3486
|
-
def read(term = T.unsafe(nil), min_bytes = T.unsafe(nil)); end
|
3487
|
-
|
3488
|
-
# source://rexml//lib/rexml/source.rb#229
|
3489
|
-
def read_until(term); end
|
3490
|
-
|
3491
|
-
private
|
3492
|
-
|
3493
|
-
# source://rexml//lib/rexml/source.rb#322
|
3494
|
-
def encoding_updated; end
|
3495
|
-
|
3496
|
-
# source://rexml//lib/rexml/source.rb#297
|
3497
|
-
def readline(term = T.unsafe(nil)); end
|
3498
|
-
end
|
3499
|
-
|
3500
|
-
# Represents an XML Instruction; IE, <? ... ?>
|
3501
|
-
# TODO: Add parent arg (3rd arg) to constructor
|
3502
|
-
#
|
3503
|
-
# source://rexml//lib/rexml/instruction.rb#9
|
3504
|
-
class REXML::Instruction < ::REXML::Child
|
3505
|
-
# Constructs a new Instruction
|
3506
|
-
# the target of this instruction is set to this. If an Instruction,
|
3507
|
-
# then the Instruction is shallowly cloned (target and content are
|
3508
|
-
# copied).
|
3509
|
-
# be a Parent if the target argument is a Source. Otherwise, this
|
3510
|
-
# String is set as the content of this instruction.
|
3511
|
-
#
|
3512
|
-
# @param target can be one of a number of things. If String, then
|
3513
|
-
# @param content Must be either a String, or a Parent. Can only
|
3514
|
-
# @return [Instruction] a new instance of Instruction
|
3515
|
-
#
|
3516
|
-
# source://rexml//lib/rexml/instruction.rb#25
|
3517
|
-
def initialize(target, content = T.unsafe(nil)); end
|
3518
|
-
|
3519
|
-
# of the other matches the target and content of this object.
|
3520
|
-
#
|
3521
|
-
# @return true if other is an Instruction, and the content and target
|
3522
|
-
#
|
3523
|
-
# source://rexml//lib/rexml/instruction.rb#65
|
3524
|
-
def ==(other); end
|
3525
|
-
|
3526
|
-
# source://rexml//lib/rexml/instruction.rb#44
|
3527
|
-
def clone; end
|
3528
|
-
|
3529
|
-
# target is the "name" of the Instruction; IE, the "tag" in <?tag ...?>
|
3530
|
-
# content is everything else.
|
3531
|
-
#
|
3532
|
-
# source://rexml//lib/rexml/instruction.rb#15
|
3533
|
-
def content; end
|
3534
|
-
|
3535
|
-
# target is the "name" of the Instruction; IE, the "tag" in <?tag ...?>
|
3536
|
-
# content is everything else.
|
3537
|
-
#
|
3538
|
-
# source://rexml//lib/rexml/instruction.rb#15
|
3539
|
-
def content=(_arg0); end
|
3540
|
-
|
3541
|
-
# source://rexml//lib/rexml/instruction.rb#75
|
3542
|
-
def inspect; end
|
3543
|
-
|
3544
|
-
# source://rexml//lib/rexml/instruction.rb#71
|
3545
|
-
def node_type; end
|
3546
|
-
|
3547
|
-
# target is the "name" of the Instruction; IE, the "tag" in <?tag ...?>
|
3548
|
-
# content is everything else.
|
3549
|
-
#
|
3550
|
-
# source://rexml//lib/rexml/instruction.rb#15
|
3551
|
-
def target; end
|
3552
|
-
|
3553
|
-
# target is the "name" of the Instruction; IE, the "tag" in <?tag ...?>
|
3554
|
-
# content is everything else.
|
3555
|
-
#
|
3556
|
-
# source://rexml//lib/rexml/instruction.rb#15
|
3557
|
-
def target=(_arg0); end
|
3558
|
-
|
3559
|
-
# == DEPRECATED
|
3560
|
-
# See the rexml/formatters package
|
3561
|
-
#
|
3562
|
-
# source://rexml//lib/rexml/instruction.rb#51
|
3563
|
-
def write(writer, indent = T.unsafe(nil), transitive = T.unsafe(nil), ie_hack = T.unsafe(nil)); end
|
3564
|
-
end
|
3565
|
-
|
3566
|
-
# source://rexml//lib/rexml/light/node.rb#5
|
3567
|
-
module REXML::Light; end
|
3568
|
-
|
3569
|
-
# Represents a tagged XML element. Elements are characterized by
|
3570
|
-
# having children, attributes, and names, and can themselves be
|
3571
|
-
# children.
|
3572
|
-
#
|
3573
|
-
# source://rexml//lib/rexml/light/node.rb#9
|
3574
|
-
class REXML::Light::Node
|
3575
|
-
# Create a new element.
|
3576
|
-
#
|
3577
|
-
# @return [Node] a new instance of Node
|
3578
|
-
#
|
3579
|
-
# source://rexml//lib/rexml/light/node.rb#13
|
3580
|
-
def initialize(node = T.unsafe(nil)); end
|
3581
|
-
|
3582
|
-
# Append a child to this element, optionally under a provided namespace.
|
3583
|
-
# The namespace argument is ignored if the element argument is an Element
|
3584
|
-
# object. Otherwise, the element argument is a string, the namespace (if
|
3585
|
-
# provided) is the namespace the element is created in.
|
3586
|
-
#
|
3587
|
-
# source://rexml//lib/rexml/light/node.rb#114
|
3588
|
-
def <<(element); end
|
3589
|
-
|
3590
|
-
# source://rexml//lib/rexml/light/node.rb#90
|
3591
|
-
def =~(path); end
|
3592
|
-
|
3593
|
-
# source://rexml//lib/rexml/light/node.rb#78
|
3594
|
-
def [](reference, ns = T.unsafe(nil)); end
|
3595
|
-
|
3596
|
-
# Doesn't handle namespaces yet
|
3597
|
-
#
|
3598
|
-
# source://rexml//lib/rexml/light/node.rb#95
|
3599
|
-
def []=(reference, ns, value = T.unsafe(nil)); end
|
3600
|
-
|
3601
|
-
# source://rexml//lib/rexml/light/node.rb#143
|
3602
|
-
def children; end
|
3603
|
-
|
3604
|
-
# source://rexml//lib/rexml/light/node.rb#36
|
3605
|
-
def each; end
|
3606
|
-
|
3607
|
-
# @return [Boolean]
|
3608
|
-
#
|
3609
|
-
# source://rexml//lib/rexml/light/node.rb#139
|
3610
|
-
def has_name?(name, namespace = T.unsafe(nil)); end
|
3611
|
-
|
3612
|
-
# source://rexml//lib/rexml/light/node.rb#54
|
3613
|
-
def local_name; end
|
3614
|
-
|
3615
|
-
# source://rexml//lib/rexml/light/node.rb#59
|
3616
|
-
def local_name=(name_str); end
|
3617
|
-
|
3618
|
-
# source://rexml//lib/rexml/light/node.rb#40
|
3619
|
-
def name; end
|
3620
|
-
|
3621
|
-
# source://rexml//lib/rexml/light/node.rb#44
|
3622
|
-
def name=(name_str, ns = T.unsafe(nil)); end
|
3623
|
-
|
3624
|
-
# source://rexml//lib/rexml/light/node.rb#67
|
3625
|
-
def namespace(prefix = T.unsafe(nil)); end
|
3626
|
-
|
3627
|
-
# source://rexml//lib/rexml/light/node.rb#71
|
3628
|
-
def namespace=(namespace); end
|
3629
|
-
|
3630
|
-
# source://rexml//lib/rexml/light/node.rb#125
|
3631
|
-
def node_type; end
|
3632
|
-
|
3633
|
-
# source://rexml//lib/rexml/light/node.rb#147
|
3634
|
-
def parent; end
|
3635
|
-
|
3636
|
-
# source://rexml//lib/rexml/light/node.rb#50
|
3637
|
-
def parent=(node); end
|
3638
|
-
|
3639
|
-
# source://rexml//lib/rexml/light/node.rb#63
|
3640
|
-
def prefix(namespace = T.unsafe(nil)); end
|
3641
|
-
|
3642
|
-
# source://rexml//lib/rexml/light/node.rb#134
|
3643
|
-
def root; end
|
3644
|
-
|
3645
|
-
# source://rexml//lib/rexml/light/node.rb#28
|
3646
|
-
def size; end
|
3647
|
-
|
3648
|
-
# source://rexml//lib/rexml/light/node.rb#129
|
3649
|
-
def text=(foo); end
|
3650
|
-
|
3651
|
-
# source://rexml//lib/rexml/light/node.rb#151
|
3652
|
-
def to_s; end
|
3653
|
-
|
3654
|
-
private
|
3655
|
-
|
3656
|
-
# source://rexml//lib/rexml/light/node.rb#164
|
3657
|
-
def namespace_of(node, prefix = T.unsafe(nil)); end
|
3658
|
-
|
3659
|
-
# source://rexml//lib/rexml/light/node.rb#157
|
3660
|
-
def namesplit; end
|
3661
|
-
|
3662
|
-
# source://rexml//lib/rexml/light/node.rb#176
|
3663
|
-
def prefix_of(node, namespace = T.unsafe(nil)); end
|
3664
|
-
end
|
3665
|
-
|
3666
|
-
# source://rexml//lib/rexml/light/node.rb#10
|
3667
|
-
REXML::Light::Node::NAMESPLIT = T.let(T.unsafe(nil), Regexp)
|
3668
|
-
|
3669
|
-
# source://rexml//lib/rexml/light/node.rb#11
|
3670
|
-
REXML::Light::Node::PARENTS = T.let(T.unsafe(nil), Array)
|
3671
|
-
|
3672
|
-
# Adds named attributes to an object.
|
3673
|
-
#
|
3674
|
-
# source://rexml//lib/rexml/namespace.rb#7
|
3675
|
-
module REXML::Namespace
|
3676
|
-
include ::REXML::XMLTokens
|
3677
|
-
|
3678
|
-
# The name of the object, valid if set
|
3679
|
-
#
|
3680
|
-
# source://rexml//lib/rexml/namespace.rb#9
|
3681
|
-
def expanded_name; end
|
3682
|
-
|
3683
|
-
# Fully expand the name, even if the prefix wasn't specified in the
|
3684
|
-
# source file.
|
3685
|
-
#
|
3686
|
-
# source://rexml//lib/rexml/namespace.rb#57
|
3687
|
-
def fully_expanded_name; end
|
3688
|
-
|
3689
|
-
# Compares names optionally WITH namespaces
|
3690
|
-
#
|
3691
|
-
# @return [Boolean]
|
3692
|
-
#
|
3693
|
-
# source://rexml//lib/rexml/namespace.rb#43
|
3694
|
-
def has_name?(other, ns = T.unsafe(nil)); end
|
3695
|
-
|
3696
|
-
# The name of the object, valid if set
|
3697
|
-
#
|
3698
|
-
# source://rexml//lib/rexml/namespace.rb#9
|
3699
|
-
def name; end
|
3700
|
-
|
3701
|
-
# Sets the name and the expanded name
|
3702
|
-
#
|
3703
|
-
# source://rexml//lib/rexml/namespace.rb#17
|
3704
|
-
def name=(name); end
|
3705
|
-
|
3706
|
-
# The expanded name of the object, valid if name is set
|
3707
|
-
#
|
3708
|
-
# source://rexml//lib/rexml/namespace.rb#11
|
3709
|
-
def prefix; end
|
3710
|
-
|
3711
|
-
# The expanded name of the object, valid if name is set
|
3712
|
-
#
|
3713
|
-
# source://rexml//lib/rexml/namespace.rb#11
|
3714
|
-
def prefix=(_arg0); end
|
3715
|
-
end
|
3716
|
-
|
3717
|
-
# source://rexml//lib/rexml/namespace.rb#13
|
3718
|
-
REXML::Namespace::NAME_WITHOUT_NAMESPACE = T.let(T.unsafe(nil), Regexp)
|
3719
|
-
|
3720
|
-
# source://rexml//lib/rexml/doctype.rb#280
|
3721
|
-
class REXML::NotationDecl < ::REXML::Child
|
3722
|
-
# @return [NotationDecl] a new instance of NotationDecl
|
3723
|
-
#
|
3724
|
-
# source://rexml//lib/rexml/doctype.rb#282
|
3725
|
-
def initialize(name, middle, pub, sys); end
|
3726
|
-
|
3727
|
-
# This method retrieves the name of the notation.
|
3728
|
-
#
|
3729
|
-
# Method contributed by Henrik Martensson
|
3730
|
-
#
|
3731
|
-
# source://rexml//lib/rexml/doctype.rb#307
|
3732
|
-
def name; end
|
3733
|
-
|
3734
|
-
# Returns the value of attribute public.
|
3735
|
-
#
|
3736
|
-
# source://rexml//lib/rexml/doctype.rb#281
|
3737
|
-
def public; end
|
3738
|
-
|
3739
|
-
# Sets the attribute public
|
3740
|
-
#
|
3741
|
-
# @param value the value to set the attribute public to.
|
3742
|
-
#
|
3743
|
-
# source://rexml//lib/rexml/doctype.rb#281
|
3744
|
-
def public=(_arg0); end
|
3745
|
-
|
3746
|
-
# Returns the value of attribute system.
|
3747
|
-
#
|
3748
|
-
# source://rexml//lib/rexml/doctype.rb#281
|
3749
|
-
def system; end
|
3750
|
-
|
3751
|
-
# Sets the attribute system
|
3752
|
-
#
|
3753
|
-
# @param value the value to set the attribute system to.
|
3754
|
-
#
|
3755
|
-
# source://rexml//lib/rexml/doctype.rb#281
|
3756
|
-
def system=(_arg0); end
|
3757
|
-
|
3758
|
-
# source://rexml//lib/rexml/doctype.rb#290
|
3759
|
-
def to_s; end
|
3760
|
-
|
3761
|
-
# source://rexml//lib/rexml/doctype.rb#300
|
3762
|
-
def write(output, indent = T.unsafe(nil)); end
|
3763
|
-
end
|
3764
|
-
|
3765
|
-
# source://rexml//lib/rexml/output.rb#5
|
3766
|
-
class REXML::Output
|
3767
|
-
include ::REXML::Encoding
|
3768
|
-
|
3769
|
-
# @return [Output] a new instance of Output
|
3770
|
-
#
|
3771
|
-
# source://rexml//lib/rexml/output.rb#10
|
3772
|
-
def initialize(real_IO, encd = T.unsafe(nil)); end
|
3773
|
-
|
3774
|
-
# source://rexml//lib/rexml/output.rb#22
|
3775
|
-
def <<(content); end
|
3776
|
-
|
3777
|
-
# Returns the value of attribute encoding.
|
3778
|
-
#
|
3779
|
-
# source://rexml//lib/rexml/output.rb#8
|
3780
|
-
def encoding; end
|
3781
|
-
|
3782
|
-
# source://rexml//lib/rexml/output.rb#26
|
3783
|
-
def to_s; end
|
3784
|
-
end
|
3785
|
-
|
3786
|
-
# A parent has children, and has methods for accessing them. The Parent
|
3787
|
-
# class is never encountered except as the superclass for some other
|
3788
|
-
# object.
|
3789
|
-
#
|
3790
|
-
# source://rexml//lib/rexml/parent.rb#8
|
3791
|
-
class REXML::Parent < ::REXML::Child
|
3792
|
-
include ::Enumerable
|
3793
|
-
|
3794
|
-
# Constructor
|
3795
|
-
#
|
3796
|
-
# @param parent if supplied, will be set as the parent of this object
|
3797
|
-
# @return [Parent] a new instance of Parent
|
3798
|
-
#
|
3799
|
-
# source://rexml//lib/rexml/parent.rb#13
|
3800
|
-
def initialize(parent = T.unsafe(nil)); end
|
3801
|
-
|
3802
|
-
# source://rexml//lib/rexml/parent.rb#18
|
3803
|
-
def <<(object); end
|
3804
|
-
|
3805
|
-
# Fetches a child at a given index
|
3806
|
-
#
|
3807
|
-
# @param index the Integer index of the child to fetch
|
3808
|
-
#
|
3809
|
-
# source://rexml//lib/rexml/parent.rb#57
|
3810
|
-
def [](index); end
|
3811
|
-
|
3812
|
-
# Set an index entry. See Array.[]=
|
3813
|
-
#
|
3814
|
-
# @param index the index of the element to set
|
3815
|
-
# @param opt either the object to set, or an Integer length
|
3816
|
-
# @param child if opt is an Integer, this is the child to set
|
3817
|
-
# @return the parent (self)
|
3818
|
-
#
|
3819
|
-
# source://rexml//lib/rexml/parent.rb#70
|
3820
|
-
def []=(*args); end
|
3821
|
-
|
3822
|
-
# source://rexml//lib/rexml/parent.rb#18
|
3823
|
-
def add(object); end
|
3824
|
-
|
3825
|
-
# source://rexml//lib/rexml/parent.rb#115
|
3826
|
-
def children; end
|
3827
|
-
|
3828
|
-
# Deeply clones this object. This creates a complete duplicate of this
|
3829
|
-
# Parent, including all descendants.
|
3830
|
-
#
|
3831
|
-
# source://rexml//lib/rexml/parent.rb#148
|
3832
|
-
def deep_clone; end
|
3833
|
-
|
3834
|
-
# source://rexml//lib/rexml/parent.rb#32
|
3835
|
-
def delete(object); end
|
3836
|
-
|
3837
|
-
# source://rexml//lib/rexml/parent.rb#47
|
3838
|
-
def delete_at(index); end
|
3839
|
-
|
3840
|
-
# source://rexml//lib/rexml/parent.rb#43
|
3841
|
-
def delete_if(&block); end
|
3842
|
-
|
3843
|
-
# source://rexml//lib/rexml/parent.rb#39
|
3844
|
-
def each(&block); end
|
3845
|
-
|
3846
|
-
# source://rexml//lib/rexml/parent.rb#39
|
3847
|
-
def each_child(&block); end
|
3848
|
-
|
3849
|
-
# source://rexml//lib/rexml/parent.rb#51
|
3850
|
-
def each_index(&block); end
|
3851
|
-
|
3852
|
-
# Fetches the index of a given child
|
3853
|
-
# of this parent.
|
3854
|
-
#
|
3855
|
-
# @param child the child to get the index of
|
3856
|
-
# @return the index of the child, or nil if the object is not a child
|
3857
|
-
#
|
3858
|
-
# source://rexml//lib/rexml/parent.rb#123
|
3859
|
-
def index(child); end
|
3860
|
-
|
3861
|
-
# Inserts an child after another child
|
3862
|
-
# child2 will be inserted after child1 in the child list of the parent.
|
3863
|
-
# If an xpath, child2 will be inserted after the first child to match
|
3864
|
-
# the xpath.
|
3865
|
-
#
|
3866
|
-
# @param child1 this is either an xpath or an Element. If an Element,
|
3867
|
-
# @param child2 the child to insert
|
3868
|
-
# @return the parent (self)
|
3869
|
-
#
|
3870
|
-
# source://rexml//lib/rexml/parent.rb#102
|
3871
|
-
def insert_after(child1, child2); end
|
3872
|
-
|
3873
|
-
# Inserts an child before another child
|
3874
|
-
# child2 will be inserted before child1 in the child list of the parent.
|
3875
|
-
# If an xpath, child2 will be inserted before the first child to match
|
3876
|
-
# the xpath.
|
3877
|
-
#
|
3878
|
-
# @param child1 this is either an xpath or an Element. If an Element,
|
3879
|
-
# @param child2 the child to insert
|
3880
|
-
# @return the parent (self)
|
3881
|
-
#
|
3882
|
-
# source://rexml//lib/rexml/parent.rb#82
|
3883
|
-
def insert_before(child1, child2); end
|
3884
|
-
|
3885
|
-
# @return the number of children of this parent
|
3886
|
-
#
|
3887
|
-
# source://rexml//lib/rexml/parent.rb#130
|
3888
|
-
def length; end
|
3889
|
-
|
3890
|
-
# @return [Boolean]
|
3891
|
-
#
|
3892
|
-
# source://rexml//lib/rexml/parent.rb#162
|
3893
|
-
def parent?; end
|
3894
|
-
|
3895
|
-
# source://rexml//lib/rexml/parent.rb#18
|
3896
|
-
def push(object); end
|
3897
|
-
|
3898
|
-
# Replaces one child with another, making sure the nodelist is correct
|
3899
|
-
# Child)
|
3900
|
-
#
|
3901
|
-
# @param to_replace the child to replace (must be a Child)
|
3902
|
-
# @param replacement the child to insert into the nodelist (must be a
|
3903
|
-
#
|
3904
|
-
# source://rexml//lib/rexml/parent.rb#140
|
3905
|
-
def replace_child(to_replace, replacement); end
|
3906
|
-
|
3907
|
-
# @return the number of children of this parent
|
3908
|
-
#
|
3909
|
-
# source://rexml//lib/rexml/parent.rb#130
|
3910
|
-
def size; end
|
3911
|
-
|
3912
|
-
# source://rexml//lib/rexml/parent.rb#115
|
3913
|
-
def to_a; end
|
3914
|
-
|
3915
|
-
# source://rexml//lib/rexml/parent.rb#27
|
3916
|
-
def unshift(object); end
|
3917
|
-
end
|
3918
|
-
|
3919
|
-
# source://rexml//lib/rexml/parseexception.rb#3
|
3920
|
-
class REXML::ParseException < ::RuntimeError
|
3921
|
-
# @return [ParseException] a new instance of ParseException
|
3922
|
-
#
|
3923
|
-
# source://rexml//lib/rexml/parseexception.rb#6
|
3924
|
-
def initialize(message, source = T.unsafe(nil), parser = T.unsafe(nil), exception = T.unsafe(nil)); end
|
3925
|
-
|
3926
|
-
# source://rexml//lib/rexml/parseexception.rb#49
|
3927
|
-
def context; end
|
3928
|
-
|
3929
|
-
# Returns the value of attribute continued_exception.
|
3930
|
-
#
|
3931
|
-
# source://rexml//lib/rexml/parseexception.rb#4
|
3932
|
-
def continued_exception; end
|
3933
|
-
|
3934
|
-
# Sets the attribute continued_exception
|
3935
|
-
#
|
3936
|
-
# @param value the value to set the attribute continued_exception to.
|
3937
|
-
#
|
3938
|
-
# source://rexml//lib/rexml/parseexception.rb#4
|
3939
|
-
def continued_exception=(_arg0); end
|
3940
|
-
|
3941
|
-
# source://rexml//lib/rexml/parseexception.rb#44
|
3942
|
-
def line; end
|
3943
|
-
|
3944
|
-
# Returns the value of attribute parser.
|
3945
|
-
#
|
3946
|
-
# source://rexml//lib/rexml/parseexception.rb#4
|
3947
|
-
def parser; end
|
3948
|
-
|
3949
|
-
# Sets the attribute parser
|
3950
|
-
#
|
3951
|
-
# @param value the value to set the attribute parser to.
|
3952
|
-
#
|
3953
|
-
# source://rexml//lib/rexml/parseexception.rb#4
|
3954
|
-
def parser=(_arg0); end
|
3955
|
-
|
3956
|
-
# source://rexml//lib/rexml/parseexception.rb#39
|
3957
|
-
def position; end
|
3958
|
-
|
3959
|
-
# Returns the value of attribute source.
|
3960
|
-
#
|
3961
|
-
# source://rexml//lib/rexml/parseexception.rb#4
|
3962
|
-
def source; end
|
3963
|
-
|
3964
|
-
# Sets the attribute source
|
3965
|
-
#
|
3966
|
-
# @param value the value to set the attribute source to.
|
3967
|
-
#
|
3968
|
-
# source://rexml//lib/rexml/parseexception.rb#4
|
3969
|
-
def source=(_arg0); end
|
3970
|
-
|
3971
|
-
# source://rexml//lib/rexml/parseexception.rb#13
|
3972
|
-
def to_s; end
|
3973
|
-
end
|
3974
|
-
|
3975
|
-
# = Using the Pull Parser
|
3976
|
-
# <em>This API is experimental, and subject to change.</em>
|
3977
|
-
# parser = PullParser.new( "<a>text<b att='val'/>txet</a>" )
|
3978
|
-
# while parser.has_next?
|
3979
|
-
# res = parser.next
|
3980
|
-
# puts res[1]['att'] if res.start_tag? and res[0] == 'b'
|
3981
|
-
# end
|
3982
|
-
# See the PullEvent class for information on the content of the results.
|
3983
|
-
# The data is identical to the arguments passed for the various events to
|
3984
|
-
# the StreamListener API.
|
3985
|
-
#
|
3986
|
-
# Notice that:
|
3987
|
-
# parser = PullParser.new( "<a>BAD DOCUMENT" )
|
3988
|
-
# while parser.has_next?
|
3989
|
-
# res = parser.next
|
3990
|
-
# raise res[1] if res.error?
|
3991
|
-
# end
|
3992
|
-
#
|
3993
|
-
# Nat Price gave me some good ideas for the API.
|
3994
|
-
#
|
3995
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#57
|
3996
|
-
class REXML::Parsers::BaseParser
|
3997
|
-
# @return [BaseParser] a new instance of BaseParser
|
3998
|
-
#
|
3999
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#163
|
4000
|
-
def initialize(source); end
|
4001
|
-
|
4002
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#173
|
4003
|
-
def add_listener(listener); end
|
4004
|
-
|
4005
|
-
# Returns true if there are no more events
|
4006
|
-
#
|
4007
|
-
# @return [Boolean]
|
4008
|
-
#
|
4009
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#204
|
4010
|
-
def empty?; end
|
4011
|
-
|
4012
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#536
|
4013
|
-
def entity(reference, entities); end
|
4014
|
-
|
4015
|
-
# Returns the value of attribute entity_expansion_count.
|
4016
|
-
#
|
4017
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#178
|
4018
|
-
def entity_expansion_count; end
|
4019
|
-
|
4020
|
-
# Sets the attribute entity_expansion_limit
|
4021
|
-
#
|
4022
|
-
# @param value the value to set the attribute entity_expansion_limit to.
|
4023
|
-
#
|
4024
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#179
|
4025
|
-
def entity_expansion_limit=(_arg0); end
|
4026
|
-
|
4027
|
-
# Sets the attribute entity_expansion_text_limit
|
4028
|
-
#
|
4029
|
-
# @param value the value to set the attribute entity_expansion_text_limit to.
|
4030
|
-
#
|
4031
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#180
|
4032
|
-
def entity_expansion_text_limit=(_arg0); end
|
4033
|
-
|
4034
|
-
# Returns true if there are more events. Synonymous with !empty?
|
4035
|
-
#
|
4036
|
-
# @return [Boolean]
|
4037
|
-
#
|
4038
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#209
|
4039
|
-
def has_next?; end
|
4040
|
-
|
4041
|
-
# Escapes all possible entities
|
4042
|
-
#
|
4043
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#547
|
4044
|
-
def normalize(input, entities = T.unsafe(nil), entity_filter = T.unsafe(nil)); end
|
4045
|
-
|
4046
|
-
# Peek at the +depth+ event in the stack. The first element on the stack
|
4047
|
-
# is at depth 0. If +depth+ is -1, will parse to the end of the input
|
4048
|
-
# stream and return the last event, which is always :end_document.
|
4049
|
-
# Be aware that this causes the stream to be parsed up to the +depth+
|
4050
|
-
# event, so you can effectively pre-parse the entire document (pull the
|
4051
|
-
# entire thing into memory) using this method.
|
4052
|
-
#
|
4053
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#225
|
4054
|
-
def peek(depth = T.unsafe(nil)); end
|
4055
|
-
|
4056
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#194
|
4057
|
-
def position; end
|
4058
|
-
|
4059
|
-
# Returns the next event. This is a +PullEvent+ object.
|
4060
|
-
#
|
4061
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#240
|
4062
|
-
def pull; end
|
4063
|
-
|
4064
|
-
# Returns the value of attribute source.
|
4065
|
-
#
|
4066
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#177
|
4067
|
-
def source; end
|
4068
|
-
|
4069
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#182
|
4070
|
-
def stream=(source); end
|
4071
|
-
|
4072
|
-
# Unescapes all possible entities
|
4073
|
-
#
|
4074
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#563
|
4075
|
-
def unnormalize(string, entities = T.unsafe(nil), filter = T.unsafe(nil)); end
|
4076
|
-
|
4077
|
-
# Push an event back on the head of the stream. This method
|
4078
|
-
# has (theoretically) infinite depth.
|
4079
|
-
#
|
4080
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#215
|
4081
|
-
def unshift(token); end
|
4082
|
-
|
4083
|
-
private
|
4084
|
-
|
4085
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#612
|
4086
|
-
def add_namespace(prefix, uri); end
|
4087
|
-
|
4088
|
-
# @return [Boolean]
|
4089
|
-
#
|
4090
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#645
|
4091
|
-
def need_source_encoding_update?(xml_declaration_encoding); end
|
4092
|
-
|
4093
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#765
|
4094
|
-
def parse_attributes(prefixes); end
|
4095
|
-
|
4096
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#664
|
4097
|
-
def parse_id(base_error_message, accept_external_id:, accept_public_id:); end
|
4098
|
-
|
4099
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#692
|
4100
|
-
def parse_id_invalid_details(accept_external_id:, accept_public_id:); end
|
4101
|
-
|
4102
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#651
|
4103
|
-
def parse_name(base_error_message); end
|
4104
|
-
|
4105
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#627
|
4106
|
-
def pop_namespaces_restore; end
|
4107
|
-
|
4108
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#730
|
4109
|
-
def process_instruction; end
|
4110
|
-
|
4111
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#250
|
4112
|
-
def pull_event; end
|
4113
|
-
|
4114
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#621
|
4115
|
-
def push_namespaces_restore; end
|
4116
|
-
|
4117
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#638
|
4118
|
-
def record_entity_expansion(delta = T.unsafe(nil)); end
|
4119
|
-
end
|
4120
|
-
|
4121
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#130
|
4122
|
-
REXML::Parsers::BaseParser::EXTERNAL_ID_PUBLIC = T.let(T.unsafe(nil), Regexp)
|
4123
|
-
|
4124
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#131
|
4125
|
-
REXML::Parsers::BaseParser::EXTERNAL_ID_SYSTEM = T.let(T.unsafe(nil), Regexp)
|
4126
|
-
|
4127
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#132
|
4128
|
-
REXML::Parsers::BaseParser::PUBLIC_ID = T.let(T.unsafe(nil), Regexp)
|
4129
|
-
|
4130
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#143
|
4131
|
-
module REXML::Parsers::BaseParser::Private; end
|
4132
|
-
|
4133
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#147
|
4134
|
-
REXML::Parsers::BaseParser::Private::ATTLISTDECL_END = T.let(T.unsafe(nil), Regexp)
|
4135
|
-
|
4136
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#152
|
4137
|
-
REXML::Parsers::BaseParser::Private::CARRIAGE_RETURN_NEWLINE_PATTERN = T.let(T.unsafe(nil), Regexp)
|
4138
|
-
|
4139
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#153
|
4140
|
-
REXML::Parsers::BaseParser::Private::CHARACTER_REFERENCES = T.let(T.unsafe(nil), Regexp)
|
4141
|
-
|
4142
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#146
|
4143
|
-
REXML::Parsers::BaseParser::Private::CLOSE_PATTERN = T.let(T.unsafe(nil), Regexp)
|
4144
|
-
|
4145
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#154
|
4146
|
-
REXML::Parsers::BaseParser::Private::DEFAULT_ENTITIES_PATTERNS = T.let(T.unsafe(nil), Hash)
|
4147
|
-
|
4148
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#151
|
4149
|
-
REXML::Parsers::BaseParser::Private::ENTITYDECL_PATTERN = T.let(T.unsafe(nil), Regexp)
|
4150
|
-
|
4151
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#149
|
4152
|
-
REXML::Parsers::BaseParser::Private::GEDECL_PATTERN = T.let(T.unsafe(nil), String)
|
4153
|
-
|
4154
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#148
|
4155
|
-
REXML::Parsers::BaseParser::Private::NAME_PATTERN = T.let(T.unsafe(nil), Regexp)
|
4156
|
-
|
4157
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#150
|
4158
|
-
REXML::Parsers::BaseParser::Private::PEDECL_PATTERN = T.let(T.unsafe(nil), String)
|
4159
|
-
|
4160
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#144
|
4161
|
-
REXML::Parsers::BaseParser::Private::PEREFERENCE_PATTERN = T.let(T.unsafe(nil), Regexp)
|
4162
|
-
|
4163
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#145
|
4164
|
-
REXML::Parsers::BaseParser::Private::TAG_PATTERN = T.let(T.unsafe(nil), Regexp)
|
4165
|
-
|
4166
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#159
|
4167
|
-
REXML::Parsers::BaseParser::Private::XML_PREFIXED_NAMESPACE = T.let(T.unsafe(nil), String)
|
4168
|
-
|
4169
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#66
|
4170
|
-
REXML::Parsers::BaseParser::QNAME = T.let(T.unsafe(nil), Regexp)
|
4171
|
-
|
4172
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#65
|
4173
|
-
REXML::Parsers::BaseParser::QNAME_STR = T.let(T.unsafe(nil), String)
|
4174
|
-
|
4175
|
-
# source://rexml//lib/rexml/parsers/streamparser.rb#6
|
4176
|
-
class REXML::Parsers::StreamParser
|
4177
|
-
# @return [StreamParser] a new instance of StreamParser
|
4178
|
-
#
|
4179
|
-
# source://rexml//lib/rexml/parsers/streamparser.rb#7
|
4180
|
-
def initialize(source, listener); end
|
4181
|
-
|
4182
|
-
# source://rexml//lib/rexml/parsers/streamparser.rb#13
|
4183
|
-
def add_listener(listener); end
|
4184
|
-
|
4185
|
-
# source://rexml//lib/rexml/parsers/streamparser.rb#17
|
4186
|
-
def entity_expansion_count; end
|
4187
|
-
|
4188
|
-
# source://rexml//lib/rexml/parsers/streamparser.rb#21
|
4189
|
-
def entity_expansion_limit=(limit); end
|
4190
|
-
|
4191
|
-
# source://rexml//lib/rexml/parsers/streamparser.rb#25
|
4192
|
-
def entity_expansion_text_limit=(limit); end
|
4193
|
-
|
4194
|
-
# source://rexml//lib/rexml/parsers/streamparser.rb#29
|
4195
|
-
def parse; end
|
4196
|
-
end
|
4197
|
-
|
4198
|
-
# source://rexml//lib/rexml/parsers/baseparser.rb#28
|
4199
|
-
module REXML::Parsers::StringScannerCaptures; end
|
4200
|
-
|
4201
|
-
# source://rexml//lib/rexml/parsers/treeparser.rb#7
|
4202
|
-
class REXML::Parsers::TreeParser
|
4203
|
-
# @return [TreeParser] a new instance of TreeParser
|
4204
|
-
#
|
4205
|
-
# source://rexml//lib/rexml/parsers/treeparser.rb#8
|
4206
|
-
def initialize(source, build_context = T.unsafe(nil)); end
|
4207
|
-
|
4208
|
-
# source://rexml//lib/rexml/parsers/treeparser.rb#13
|
4209
|
-
def add_listener(listener); end
|
4210
|
-
|
4211
|
-
# source://rexml//lib/rexml/parsers/treeparser.rb#17
|
4212
|
-
def parse; end
|
4213
|
-
end
|
4214
|
-
|
4215
|
-
# You don't want to use this class. Really. Use XPath, which is a wrapper
|
4216
|
-
# for this class. Believe me. You don't want to poke around in here.
|
4217
|
-
# There is strange, dark magic at work in this code. Beware. Go back! Go
|
4218
|
-
# back while you still can!
|
4219
|
-
#
|
4220
|
-
# source://rexml//lib/rexml/parsers/xpathparser.rb#12
|
4221
|
-
class REXML::Parsers::XPathParser
|
4222
|
-
include ::REXML::XMLTokens
|
4223
|
-
|
4224
|
-
# source://rexml//lib/rexml/parsers/xpathparser.rb#42
|
4225
|
-
def abbreviate(path_or_parsed); end
|
4226
|
-
|
4227
|
-
# source://rexml//lib/rexml/parsers/xpathparser.rb#132
|
4228
|
-
def expand(path_or_parsed); end
|
4229
|
-
|
4230
|
-
# source://rexml//lib/rexml/parsers/xpathparser.rb#16
|
4231
|
-
def namespaces=(namespaces); end
|
4232
|
-
|
4233
|
-
# source://rexml//lib/rexml/parsers/xpathparser.rb#21
|
4234
|
-
def parse(path); end
|
4235
|
-
|
4236
|
-
# For backward compatibility
|
4237
|
-
#
|
4238
|
-
# source://rexml//lib/rexml/parsers/xpathparser.rb#174
|
4239
|
-
def preciate_to_string(parsed, &block); end
|
4240
|
-
|
4241
|
-
# source://rexml//lib/rexml/parsers/xpathparser.rb#36
|
4242
|
-
def predicate(path); end
|
4243
|
-
|
4244
|
-
# source://rexml//lib/rexml/parsers/xpathparser.rb#174
|
4245
|
-
def predicate_to_path(parsed, &block); end
|
4246
|
-
|
4247
|
-
private
|
4248
|
-
|
4249
|
-
# | AdditiveExpr ('+' | '-') MultiplicativeExpr
|
4250
|
-
# | MultiplicativeExpr
|
4251
|
-
#
|
4252
|
-
# source://rexml//lib/rexml/parsers/xpathparser.rb#505
|
4253
|
-
def AdditiveExpr(path, parsed); end
|
4254
|
-
|
4255
|
-
# | AndExpr S 'and' S EqualityExpr
|
4256
|
-
# | EqualityExpr
|
4257
|
-
#
|
4258
|
-
# source://rexml//lib/rexml/parsers/xpathparser.rb#438
|
4259
|
-
def AndExpr(path, parsed); end
|
4260
|
-
|
4261
|
-
# | EqualityExpr ('=' | '!=') RelationalExpr
|
4262
|
-
# | RelationalExpr
|
4263
|
-
#
|
4264
|
-
# source://rexml//lib/rexml/parsers/xpathparser.rb#457
|
4265
|
-
def EqualityExpr(path, parsed); end
|
4266
|
-
|
4267
|
-
# | FilterExpr Predicate
|
4268
|
-
# | PrimaryExpr
|
4269
|
-
#
|
4270
|
-
# source://rexml//lib/rexml/parsers/xpathparser.rb#608
|
4271
|
-
def FilterExpr(path, parsed); end
|
4272
|
-
|
4273
|
-
# | FUNCTION_NAME '(' ( expr ( ',' expr )* )? ')'
|
4274
|
-
#
|
4275
|
-
# source://rexml//lib/rexml/parsers/xpathparser.rb#663
|
4276
|
-
def FunctionCall(rest, parsed); end
|
4277
|
-
|
4278
|
-
# LocationPath
|
4279
|
-
# | RelativeLocationPath
|
4280
|
-
# | '/' RelativeLocationPath?
|
4281
|
-
# | '//' RelativeLocationPath
|
4282
|
-
#
|
4283
|
-
# source://rexml//lib/rexml/parsers/xpathparser.rb#243
|
4284
|
-
def LocationPath(path, parsed); end
|
4285
|
-
|
4286
|
-
# | MultiplicativeExpr ('*' | S ('div' | 'mod') S) UnaryExpr
|
4287
|
-
# | UnaryExpr
|
4288
|
-
#
|
4289
|
-
# source://rexml//lib/rexml/parsers/xpathparser.rb#528
|
4290
|
-
def MultiplicativeExpr(path, parsed); end
|
4291
|
-
|
4292
|
-
# source://rexml//lib/rexml/parsers/xpathparser.rb#343
|
4293
|
-
def NodeTest(path, parsed); end
|
4294
|
-
|
4295
|
-
# | OrExpr S 'or' S AndExpr
|
4296
|
-
# | AndExpr
|
4297
|
-
#
|
4298
|
-
# source://rexml//lib/rexml/parsers/xpathparser.rb#419
|
4299
|
-
def OrExpr(path, parsed); end
|
4300
|
-
|
4301
|
-
# | LocationPath
|
4302
|
-
# | FilterExpr ('/' | '//') RelativeLocationPath
|
4303
|
-
#
|
4304
|
-
# source://rexml//lib/rexml/parsers/xpathparser.rb#590
|
4305
|
-
def PathExpr(path, parsed); end
|
4306
|
-
|
4307
|
-
# Filters the supplied nodeset on the predicate(s)
|
4308
|
-
#
|
4309
|
-
# source://rexml//lib/rexml/parsers/xpathparser.rb#395
|
4310
|
-
def Predicate(path, parsed); end
|
4311
|
-
|
4312
|
-
# source://rexml//lib/rexml/parsers/xpathparser.rb#626
|
4313
|
-
def PrimaryExpr(path, parsed); end
|
4314
|
-
|
4315
|
-
# | RelationalExpr ('<' | '>' | '<=' | '>=') AdditiveExpr
|
4316
|
-
# | AdditiveExpr
|
4317
|
-
#
|
4318
|
-
# source://rexml//lib/rexml/parsers/xpathparser.rb#480
|
4319
|
-
def RelationalExpr(path, parsed); end
|
4320
|
-
|
4321
|
-
# source://rexml//lib/rexml/parsers/xpathparser.rb#267
|
4322
|
-
def RelativeLocationPath(path, parsed); end
|
4323
|
-
|
4324
|
-
# | '-' UnaryExpr
|
4325
|
-
# | UnionExpr
|
4326
|
-
#
|
4327
|
-
# source://rexml//lib/rexml/parsers/xpathparser.rb#553
|
4328
|
-
def UnaryExpr(path, parsed); end
|
4329
|
-
|
4330
|
-
# | UnionExpr '|' PathExpr
|
4331
|
-
# | PathExpr
|
4332
|
-
#
|
4333
|
-
# source://rexml//lib/rexml/parsers/xpathparser.rb#571
|
4334
|
-
def UnionExpr(path, parsed); end
|
4335
|
-
|
4336
|
-
# get_group( '[foo]bar' ) -> ['bar', '[foo]']
|
4337
|
-
#
|
4338
|
-
# source://rexml//lib/rexml/parsers/xpathparser.rb#676
|
4339
|
-
def get_group(string); end
|
4340
|
-
|
4341
|
-
# source://rexml//lib/rexml/parsers/xpathparser.rb#694
|
4342
|
-
def parse_args(string); end
|
4343
|
-
|
4344
|
-
# source://rexml//lib/rexml/parsers/xpathparser.rb#224
|
4345
|
-
def quote_literal(literal); end
|
4346
|
-
end
|
4347
|
-
|
4348
|
-
# source://rexml//lib/rexml/parsers/xpathparser.rb#339
|
4349
|
-
REXML::Parsers::XPathParser::LOCAL_NAME_WILDCARD = T.let(T.unsafe(nil), Regexp)
|
4350
|
-
|
4351
|
-
# Returns a 1-1 map of the nodeset
|
4352
|
-
# The contents of the resulting array are either:
|
4353
|
-
# true/false, if a positive match
|
4354
|
-
# String, if a name match
|
4355
|
-
# NodeTest
|
4356
|
-
# | ('*' | NCNAME ':' '*' | QNAME) NameTest
|
4357
|
-
# | '*' ':' NCNAME NameTest since XPath 2.0
|
4358
|
-
# | NODE_TYPE '(' ')' NodeType
|
4359
|
-
# | PI '(' LITERAL ')' PI
|
4360
|
-
# | '[' expr ']' Predicate
|
4361
|
-
#
|
4362
|
-
# source://rexml//lib/rexml/parsers/xpathparser.rb#338
|
4363
|
-
REXML::Parsers::XPathParser::PREFIX_WILDCARD = T.let(T.unsafe(nil), Regexp)
|
4364
|
-
|
4365
|
-
# source://rexml//lib/rexml/doctype.rb#10
|
4366
|
-
class REXML::ReferenceWriter
|
4367
|
-
# @return [ReferenceWriter] a new instance of ReferenceWriter
|
4368
|
-
#
|
4369
|
-
# source://rexml//lib/rexml/doctype.rb#11
|
4370
|
-
def initialize(id_type, public_id_literal, system_literal, context = T.unsafe(nil)); end
|
4371
|
-
|
4372
|
-
# source://rexml//lib/rexml/doctype.rb#25
|
4373
|
-
def write(output); end
|
4374
|
-
end
|
4375
|
-
|
4376
|
-
# A Source can be searched for patterns, and wraps buffers and other
|
4377
|
-
# objects and provides consumption of text
|
4378
|
-
#
|
4379
|
-
# source://rexml//lib/rexml/source.rb#51
|
4380
|
-
class REXML::Source
|
4381
|
-
include ::REXML::Encoding
|
4382
|
-
|
4383
|
-
# Constructor
|
4384
|
-
# value, overriding all encoding detection
|
4385
|
-
#
|
4386
|
-
# @param arg must be a String, and should be a valid XML document
|
4387
|
-
# @param encoding if non-null, sets the encoding of the source to this
|
4388
|
-
# @return [Source] a new instance of Source
|
4389
|
-
#
|
4390
|
-
# source://rexml//lib/rexml/source.rb#71
|
4391
|
-
def initialize(arg, encoding = T.unsafe(nil)); end
|
4392
|
-
|
4393
|
-
# The current buffer (what we're going to read next)
|
4394
|
-
#
|
4395
|
-
# source://rexml//lib/rexml/source.rb#84
|
4396
|
-
def buffer; end
|
4397
|
-
|
4398
|
-
# source://rexml//lib/rexml/source.rb#94
|
4399
|
-
def buffer_encoding=(encoding); end
|
4400
|
-
|
4401
|
-
# @return the current line in the source
|
4402
|
-
#
|
4403
|
-
# source://rexml//lib/rexml/source.rb#143
|
4404
|
-
def current_line; end
|
4405
|
-
|
4406
|
-
# source://rexml//lib/rexml/source.rb#88
|
4407
|
-
def drop_parsed_content; end
|
4408
|
-
|
4409
|
-
# @return [Boolean] true if the Source is exhausted
|
4410
|
-
#
|
4411
|
-
# source://rexml//lib/rexml/source.rb#138
|
4412
|
-
def empty?; end
|
4413
|
-
|
4414
|
-
# Returns the value of attribute encoding.
|
4415
|
-
#
|
4416
|
-
# source://rexml//lib/rexml/source.rb#55
|
4417
|
-
def encoding; end
|
4418
|
-
|
4419
|
-
# Inherited from Encoding
|
4420
|
-
# Overridden to support optimized en/decoding
|
4421
|
-
#
|
4422
|
-
# source://rexml//lib/rexml/source.rb#100
|
4423
|
-
def encoding=(enc); end
|
4424
|
-
|
4425
|
-
# source://rexml//lib/rexml/source.rb#118
|
4426
|
-
def ensure_buffer; end
|
4427
|
-
|
4428
|
-
# The line number of the last consumed text
|
4429
|
-
#
|
4430
|
-
# source://rexml//lib/rexml/source.rb#54
|
4431
|
-
def line; end
|
4432
|
-
|
4433
|
-
# source://rexml//lib/rexml/source.rb#121
|
4434
|
-
def match(pattern, cons = T.unsafe(nil)); end
|
4435
|
-
|
4436
|
-
# source://rexml//lib/rexml/source.rb#129
|
4437
|
-
def position; end
|
4438
|
-
|
4439
|
-
# source://rexml//lib/rexml/source.rb#133
|
4440
|
-
def position=(pos); end
|
4441
|
-
|
4442
|
-
# source://rexml//lib/rexml/source.rb#105
|
4443
|
-
def read(term = T.unsafe(nil)); end
|
4444
|
-
|
4445
|
-
# source://rexml//lib/rexml/source.rb#108
|
4446
|
-
def read_until(term); end
|
4447
|
-
|
4448
|
-
private
|
4449
|
-
|
4450
|
-
# source://rexml//lib/rexml/source.rb#152
|
4451
|
-
def detect_encoding; end
|
4452
|
-
|
4453
|
-
# source://rexml//lib/rexml/source.rb#170
|
4454
|
-
def encoding_updated; end
|
4455
|
-
end
|
4456
|
-
|
4457
|
-
# source://rexml//lib/rexml/source.rb#57
|
4458
|
-
module REXML::Source::Private; end
|
4459
|
-
|
4460
|
-
# source://rexml//lib/rexml/source.rb#59
|
4461
|
-
REXML::Source::Private::PRE_DEFINED_TERM_PATTERNS = T.let(T.unsafe(nil), Hash)
|
4462
|
-
|
4463
|
-
# source://rexml//lib/rexml/source.rb#58
|
4464
|
-
REXML::Source::Private::SCANNER_RESET_SIZE = T.let(T.unsafe(nil), Integer)
|
4465
|
-
|
4466
|
-
# Represents text nodes in an XML document
|
4467
|
-
#
|
4468
|
-
# source://rexml//lib/rexml/text.rb#11
|
4469
|
-
class REXML::Text < ::REXML::Child
|
4470
|
-
include ::Comparable
|
4471
|
-
|
4472
|
-
# Constructor
|
4473
|
-
# +arg+ if a String, the content is set to the String. If a Text,
|
4474
|
-
# the object is shallowly cloned.
|
4475
|
-
#
|
4476
|
-
# +respect_whitespace+ (boolean, false) if true, whitespace is
|
4477
|
-
# respected
|
4478
|
-
#
|
4479
|
-
# +parent+ (nil) if this is a Parent object, the parent
|
4480
|
-
# will be set to this.
|
4481
|
-
#
|
4482
|
-
# +raw+ (nil) This argument can be given three values.
|
4483
|
-
# If true, then the value of used to construct this object is expected to
|
4484
|
-
# contain no unescaped XML markup, and REXML will not change the text. If
|
4485
|
-
# this value is false, the string may contain any characters, and REXML will
|
4486
|
-
# escape any and all defined entities whose values are contained in the
|
4487
|
-
# text. If this value is nil (the default), then the raw value of the
|
4488
|
-
# parent will be used as the raw value for this node. If there is no raw
|
4489
|
-
# value for the parent, and no value is supplied, the default is false.
|
4490
|
-
# Use this field if you have entities defined for some text, and you don't
|
4491
|
-
# want REXML to escape that text in output.
|
4492
|
-
# Text.new( "<&", false, nil, false ) #-> "<&"
|
4493
|
-
# Text.new( "<&", false, nil, false ) #-> "&lt;&amp;"
|
4494
|
-
# Text.new( "<&", false, nil, true ) #-> Parse exception
|
4495
|
-
# Text.new( "<&", false, nil, true ) #-> "<&"
|
4496
|
-
# # Assume that the entity "s" is defined to be "sean"
|
4497
|
-
# # and that the entity "r" is defined to be "russell"
|
4498
|
-
# Text.new( "sean russell" ) #-> "&s; &r;"
|
4499
|
-
# Text.new( "sean russell", false, nil, true ) #-> "sean russell"
|
4500
|
-
#
|
4501
|
-
# +entity_filter+ (nil) This can be an array of entities to match in the
|
4502
|
-
# supplied text. This argument is only useful if +raw+ is set to false.
|
4503
|
-
# Text.new( "sean russell", false, nil, false, ["s"] ) #-> "&s; russell"
|
4504
|
-
# Text.new( "sean russell", false, nil, true, ["s"] ) #-> "sean russell"
|
4505
|
-
# In the last example, the +entity_filter+ argument is ignored.
|
4506
|
-
#
|
4507
|
-
# +illegal+ INTERNAL USE ONLY
|
4508
|
-
#
|
4509
|
-
# @return [Text] a new instance of Text
|
4510
|
-
#
|
4511
|
-
# source://rexml//lib/rexml/text.rb#94
|
4512
|
-
def initialize(arg, respect_whitespace = T.unsafe(nil), parent = T.unsafe(nil), raw = T.unsafe(nil), entity_filter = T.unsafe(nil), illegal = T.unsafe(nil)); end
|
4513
|
-
|
4514
|
-
# Appends text to this text node. The text is appended in the +raw+ mode
|
4515
|
-
# of this text node.
|
4516
|
-
#
|
4517
|
-
# +returns+ the text itself to enable method chain like
|
4518
|
-
# 'text << "XXX" << "YYY"'.
|
4519
|
-
#
|
4520
|
-
# source://rexml//lib/rexml/text.rb#214
|
4521
|
-
def <<(to_append); end
|
4522
|
-
|
4523
|
-
# +other+ a String or a Text
|
4524
|
-
# +returns+ the result of (to_s <=> arg.to_s)
|
4525
|
-
#
|
4526
|
-
# source://rexml//lib/rexml/text.rb#223
|
4527
|
-
def <=>(other); end
|
4528
|
-
|
4529
|
-
# source://rexml//lib/rexml/text.rb#204
|
4530
|
-
def clone; end
|
4531
|
-
|
4532
|
-
# source://rexml//lib/rexml/text.rb#227
|
4533
|
-
def doctype; end
|
4534
|
-
|
4535
|
-
# @return [Boolean]
|
4536
|
-
#
|
4537
|
-
# source://rexml//lib/rexml/text.rb#199
|
4538
|
-
def empty?; end
|
4539
|
-
|
4540
|
-
# source://rexml//lib/rexml/text.rb#299
|
4541
|
-
def indent_text(string, level = T.unsafe(nil), style = T.unsafe(nil), indentfirstline = T.unsafe(nil)); end
|
4542
|
-
|
4543
|
-
# source://rexml//lib/rexml/text.rb#253
|
4544
|
-
def inspect; end
|
4545
|
-
|
4546
|
-
# source://rexml//lib/rexml/text.rb#195
|
4547
|
-
def node_type; end
|
4548
|
-
|
4549
|
-
# source://rexml//lib/rexml/text.rb#125
|
4550
|
-
def parent=(parent); end
|
4551
|
-
|
4552
|
-
# If +raw+ is true, then REXML leaves the value alone
|
4553
|
-
#
|
4554
|
-
# source://rexml//lib/rexml/text.rb#21
|
4555
|
-
def raw; end
|
4556
|
-
|
4557
|
-
# If +raw+ is true, then REXML leaves the value alone
|
4558
|
-
#
|
4559
|
-
# source://rexml//lib/rexml/text.rb#21
|
4560
|
-
def raw=(_arg0); end
|
4561
|
-
|
4562
|
-
# Returns the string value of this text node. This string is always
|
4563
|
-
# escaped, meaning that it is a valid XML text node string, and all
|
4564
|
-
# entities that can be escaped, have been inserted. This method respects
|
4565
|
-
# the entity filter set in the constructor.
|
4566
|
-
#
|
4567
|
-
# # Assume that the entity "s" is defined to be "sean", and that the
|
4568
|
-
# # entity "r" is defined to be "russell"
|
4569
|
-
# t = Text.new( "< & sean russell", false, nil, false, ['s'] )
|
4570
|
-
# t.to_s #-> "< & &s; russell"
|
4571
|
-
# t = Text.new( "< & &s; russell", false, nil, false )
|
4572
|
-
# t.to_s #-> "< & &s; russell"
|
4573
|
-
# u = Text.new( "sean russell", false, nil, true )
|
4574
|
-
# u.to_s #-> "sean russell"
|
4575
|
-
#
|
4576
|
-
# source://rexml//lib/rexml/text.rb#248
|
4577
|
-
def to_s; end
|
4578
|
-
|
4579
|
-
# Returns the string value of this text. This is the text without
|
4580
|
-
# entities, as it might be used programmatically, or printed to the
|
4581
|
-
# console. This ignores the 'raw' attribute setting, and any
|
4582
|
-
# entity_filter.
|
4583
|
-
#
|
4584
|
-
# # Assume that the entity "s" is defined to be "sean", and that the
|
4585
|
-
# # entity "r" is defined to be "russell"
|
4586
|
-
# t = Text.new( "< & sean russell", false, nil, false, ['s'] )
|
4587
|
-
# t.value #-> "< & sean russell"
|
4588
|
-
# t = Text.new( "< & &s; russell", false, nil, false )
|
4589
|
-
# t.value #-> "< & sean russell"
|
4590
|
-
# u = Text.new( "sean russell", false, nil, true )
|
4591
|
-
# u.value #-> "sean russell"
|
4592
|
-
#
|
4593
|
-
# source://rexml//lib/rexml/text.rb#270
|
4594
|
-
def value; end
|
4595
|
-
|
4596
|
-
# Sets the contents of this text node. This expects the text to be
|
4597
|
-
# unnormalized. It returns self.
|
4598
|
-
#
|
4599
|
-
# e = Element.new( "a" )
|
4600
|
-
# e.add_text( "foo" ) # <a>foo</a>
|
4601
|
-
# e[0].value = "bar" # <a>bar</a>
|
4602
|
-
# e[0].value = "<a>" # <a><a></a>
|
4603
|
-
#
|
4604
|
-
# source://rexml//lib/rexml/text.rb#282
|
4605
|
-
def value=(val); end
|
4606
|
-
|
4607
|
-
# source://rexml//lib/rexml/text.rb#288
|
4608
|
-
def wrap(string, width, addnewline = T.unsafe(nil)); end
|
4609
|
-
|
4610
|
-
# == DEPRECATED
|
4611
|
-
# See REXML::Formatters
|
4612
|
-
#
|
4613
|
-
# source://rexml//lib/rexml/text.rb#314
|
4614
|
-
def write(writer, indent = T.unsafe(nil), transitive = T.unsafe(nil), ie_hack = T.unsafe(nil)); end
|
4615
|
-
|
4616
|
-
# Writes out text, substituting special characters beforehand.
|
4617
|
-
# +out+ A String, IO, or any other object supporting <<( String )
|
4618
|
-
# +input+ the text to substitute and the write out
|
4619
|
-
#
|
4620
|
-
# z=utf8.unpack("U*")
|
4621
|
-
# ascOut=""
|
4622
|
-
# z.each{|r|
|
4623
|
-
# if r < 0x100
|
4624
|
-
# ascOut.concat(r.chr)
|
4625
|
-
# else
|
4626
|
-
# ascOut.concat(sprintf("&#x%x;", r))
|
4627
|
-
# end
|
4628
|
-
# }
|
4629
|
-
# puts ascOut
|
4630
|
-
#
|
4631
|
-
# source://rexml//lib/rexml/text.rb#346
|
4632
|
-
def write_with_substitution(out, input); end
|
4633
|
-
|
4634
|
-
# FIXME
|
4635
|
-
# This probably won't work properly
|
4636
|
-
#
|
4637
|
-
# source://rexml//lib/rexml/text.rb#326
|
4638
|
-
def xpath; end
|
4639
|
-
|
4640
|
-
private
|
4641
|
-
|
4642
|
-
# source://rexml//lib/rexml/text.rb#359
|
4643
|
-
def clear_cache; end
|
4644
|
-
|
4645
|
-
class << self
|
4646
|
-
# check for illegal characters
|
4647
|
-
#
|
4648
|
-
# source://rexml//lib/rexml/text.rb#131
|
4649
|
-
def check(string, pattern, doctype); end
|
4650
|
-
|
4651
|
-
# source://rexml//lib/rexml/text.rb#429
|
4652
|
-
def expand(ref, doctype, filter); end
|
4653
|
-
|
4654
|
-
# Escapes all possible entities
|
4655
|
-
#
|
4656
|
-
# source://rexml//lib/rexml/text.rb#391
|
4657
|
-
def normalize(input, doctype = T.unsafe(nil), entity_filter = T.unsafe(nil)); end
|
4658
|
-
|
4659
|
-
# Reads text, substituting entities
|
4660
|
-
#
|
4661
|
-
# source://rexml//lib/rexml/text.rb#365
|
4662
|
-
def read_with_substitution(input, illegal = T.unsafe(nil)); end
|
4663
|
-
|
4664
|
-
# Unescapes all possible entities
|
4665
|
-
#
|
4666
|
-
# source://rexml//lib/rexml/text.rb#415
|
4667
|
-
def unnormalize(string, doctype = T.unsafe(nil), filter = T.unsafe(nil), illegal = T.unsafe(nil), entity_expansion_text_limit: T.unsafe(nil)); end
|
4668
|
-
end
|
4669
|
-
end
|
4670
|
-
|
4671
|
-
# source://rexml//lib/rexml/undefinednamespaceexception.rb#4
|
4672
|
-
class REXML::UndefinedNamespaceException < ::REXML::ParseException
|
4673
|
-
# @return [UndefinedNamespaceException] a new instance of UndefinedNamespaceException
|
4674
|
-
#
|
4675
|
-
# source://rexml//lib/rexml/undefinednamespaceexception.rb#5
|
4676
|
-
def initialize(prefix, source, parser); end
|
4677
|
-
end
|
4678
|
-
|
4679
|
-
# source://rexml//lib/rexml/validation/validationexception.rb#4
|
4680
|
-
class REXML::Validation::ValidationException < ::RuntimeError
|
4681
|
-
# @return [ValidationException] a new instance of ValidationException
|
4682
|
-
#
|
4683
|
-
# source://rexml//lib/rexml/validation/validationexception.rb#5
|
4684
|
-
def initialize(msg); end
|
4685
|
-
end
|
4686
|
-
|
4687
|
-
# NEEDS DOCUMENTATION
|
4688
|
-
#
|
4689
|
-
# source://rexml//lib/rexml/xmldecl.rb#8
|
4690
|
-
class REXML::XMLDecl < ::REXML::Child
|
4691
|
-
include ::REXML::Encoding
|
4692
|
-
|
4693
|
-
# @return [XMLDecl] a new instance of XMLDecl
|
4694
|
-
#
|
4695
|
-
# source://rexml//lib/rexml/xmldecl.rb#20
|
4696
|
-
def initialize(version = T.unsafe(nil), encoding = T.unsafe(nil), standalone = T.unsafe(nil)); end
|
4697
|
-
|
4698
|
-
# source://rexml//lib/rexml/xmldecl.rb#56
|
4699
|
-
def ==(other); end
|
4700
|
-
|
4701
|
-
# source://rexml//lib/rexml/xmldecl.rb#39
|
4702
|
-
def clone; end
|
4703
|
-
|
4704
|
-
# source://rexml//lib/rexml/xmldecl.rb#102
|
4705
|
-
def dowrite; end
|
4706
|
-
|
4707
|
-
# source://rexml//lib/rexml/xmldecl.rb#76
|
4708
|
-
def encoding=(enc); end
|
4709
|
-
|
4710
|
-
# source://rexml//lib/rexml/xmldecl.rb#106
|
4711
|
-
def inspect; end
|
4712
|
-
|
4713
|
-
# source://rexml//lib/rexml/xmldecl.rb#69
|
4714
|
-
def node_type; end
|
4715
|
-
|
4716
|
-
# source://rexml//lib/rexml/xmldecl.rb#98
|
4717
|
-
def nowrite; end
|
4718
|
-
|
4719
|
-
# source://rexml//lib/rexml/encoding.rb#7
|
4720
|
-
def old_enc=(encoding); end
|
4721
|
-
|
4722
|
-
# Returns the value of attribute standalone.
|
4723
|
-
#
|
4724
|
-
# source://rexml//lib/rexml/xmldecl.rb#17
|
4725
|
-
def stand_alone?; end
|
4726
|
-
|
4727
|
-
# Returns the value of attribute standalone.
|
4728
|
-
#
|
4729
|
-
# source://rexml//lib/rexml/xmldecl.rb#17
|
4730
|
-
def standalone; end
|
4731
|
-
|
4732
|
-
# Sets the attribute standalone
|
4733
|
-
#
|
4734
|
-
# @param value the value to set the attribute standalone to.
|
4735
|
-
#
|
4736
|
-
# source://rexml//lib/rexml/xmldecl.rb#17
|
4737
|
-
def standalone=(_arg0); end
|
4738
|
-
|
4739
|
-
# Returns the value of attribute version.
|
4740
|
-
#
|
4741
|
-
# source://rexml//lib/rexml/xmldecl.rb#17
|
4742
|
-
def version; end
|
4743
|
-
|
4744
|
-
# Sets the attribute version
|
4745
|
-
#
|
4746
|
-
# @param value the value to set the attribute version to.
|
4747
|
-
#
|
4748
|
-
# source://rexml//lib/rexml/xmldecl.rb#17
|
4749
|
-
def version=(_arg0); end
|
4750
|
-
|
4751
|
-
# indent::
|
4752
|
-
# Ignored. There must be no whitespace before an XML declaration
|
4753
|
-
# transitive::
|
4754
|
-
# Ignored
|
4755
|
-
# ie_hack::
|
4756
|
-
# Ignored
|
4757
|
-
#
|
4758
|
-
# source://rexml//lib/rexml/xmldecl.rb#49
|
4759
|
-
def write(writer, indent = T.unsafe(nil), transitive = T.unsafe(nil), ie_hack = T.unsafe(nil)); end
|
4760
|
-
|
4761
|
-
# Returns the value of attribute writeencoding.
|
4762
|
-
#
|
4763
|
-
# source://rexml//lib/rexml/xmldecl.rb#18
|
4764
|
-
def writeencoding; end
|
4765
|
-
|
4766
|
-
# Returns the value of attribute writethis.
|
4767
|
-
#
|
4768
|
-
# source://rexml//lib/rexml/xmldecl.rb#18
|
4769
|
-
def writethis; end
|
4770
|
-
|
4771
|
-
# source://rexml//lib/rexml/xmldecl.rb#63
|
4772
|
-
def xmldecl(version, encoding, standalone); end
|
4773
|
-
|
4774
|
-
private
|
4775
|
-
|
4776
|
-
# source://rexml//lib/rexml/xmldecl.rb#111
|
4777
|
-
def content(enc); end
|
4778
|
-
|
4779
|
-
class << self
|
4780
|
-
# Only use this if you do not want the XML declaration to be written;
|
4781
|
-
# this object is ignored by the XML writer. Otherwise, instantiate your
|
4782
|
-
# own XMLDecl and add it to the document.
|
4783
|
-
#
|
4784
|
-
# Note that XML 1.1 documents *must* include an XML declaration
|
4785
|
-
#
|
4786
|
-
# source://rexml//lib/rexml/xmldecl.rb#92
|
4787
|
-
def default; end
|
4788
|
-
end
|
4789
|
-
end
|
4790
|
-
|
4791
|
-
# @private
|
4792
|
-
#
|
4793
|
-
# source://rexml//lib/rexml/xpath_parser.rb#963
|
4794
|
-
class REXML::XPathNode
|
4795
|
-
# @return [XPathNode] a new instance of XPathNode
|
4796
|
-
#
|
4797
|
-
# source://rexml//lib/rexml/xpath_parser.rb#965
|
4798
|
-
def initialize(node, context = T.unsafe(nil)); end
|
4799
|
-
|
4800
|
-
# Returns the value of attribute context.
|
4801
|
-
#
|
4802
|
-
# source://rexml//lib/rexml/xpath_parser.rb#964
|
4803
|
-
def context; end
|
4804
|
-
|
4805
|
-
# source://rexml//lib/rexml/xpath_parser.rb#974
|
4806
|
-
def position; end
|
4807
|
-
|
4808
|
-
# Returns the value of attribute raw_node.
|
4809
|
-
#
|
4810
|
-
# source://rexml//lib/rexml/xpath_parser.rb#964
|
4811
|
-
def raw_node; end
|
4812
|
-
end
|
4813
|
-
|
4814
|
-
# You don't want to use this class. Really. Use XPath, which is a wrapper
|
4815
|
-
# for this class. Believe me. You don't want to poke around in here.
|
4816
|
-
# There is strange, dark magic at work in this code. Beware. Go back! Go
|
4817
|
-
# back while you still can!
|
4818
|
-
#
|
4819
|
-
# source://rexml//lib/rexml/xpath_parser.rb#54
|
4820
|
-
class REXML::XPathParser
|
4821
|
-
include ::REXML::XMLTokens
|
4822
|
-
|
4823
|
-
# @return [XPathParser] a new instance of XPathParser
|
4824
|
-
#
|
4825
|
-
# source://rexml//lib/rexml/xpath_parser.rb#60
|
4826
|
-
def initialize(strict: T.unsafe(nil)); end
|
4827
|
-
|
4828
|
-
# source://rexml//lib/rexml/xpath_parser.rb#94
|
4829
|
-
def []=(variable_name, value); end
|
4830
|
-
|
4831
|
-
# Performs a depth-first (document order) XPath search, and returns the
|
4832
|
-
# first match. This is the fastest, lightest way to return a single result.
|
4833
|
-
#
|
4834
|
-
# FIXME: This method is incomplete!
|
4835
|
-
#
|
4836
|
-
# source://rexml//lib/rexml/xpath_parser.rb#103
|
4837
|
-
def first(path_stack, node); end
|
4838
|
-
|
4839
|
-
# source://rexml//lib/rexml/xpath_parser.rb#84
|
4840
|
-
def get_first(path, nodeset); end
|
4841
|
-
|
4842
|
-
# source://rexml//lib/rexml/xpath_parser.rb#139
|
4843
|
-
def match(path_stack, nodeset); end
|
4844
|
-
|
4845
|
-
# source://rexml//lib/rexml/xpath_parser.rb#69
|
4846
|
-
def namespaces=(namespaces = T.unsafe(nil)); end
|
4847
|
-
|
4848
|
-
# source://rexml//lib/rexml/xpath_parser.rb#79
|
4849
|
-
def parse(path, nodeset); end
|
4850
|
-
|
4851
|
-
# source://rexml//lib/rexml/xpath_parser.rb#89
|
4852
|
-
def predicate(path, nodeset); end
|
4853
|
-
|
4854
|
-
# source://rexml//lib/rexml/xpath_parser.rb#74
|
4855
|
-
def variables=(vars = T.unsafe(nil)); end
|
4856
|
-
|
4857
|
-
private
|
4858
|
-
|
4859
|
-
# source://rexml//lib/rexml/xpath_parser.rb#779
|
4860
|
-
def child(nodeset); end
|
4861
|
-
|
4862
|
-
# source://rexml//lib/rexml/xpath_parser.rb#920
|
4863
|
-
def compare(a, operator, b); end
|
4864
|
-
|
4865
|
-
# source://rexml//lib/rexml/xpath_parser.rb#682
|
4866
|
-
def descendant(nodeset, include_self); end
|
4867
|
-
|
4868
|
-
# source://rexml//lib/rexml/xpath_parser.rb#693
|
4869
|
-
def descendant_recursive(raw_node, new_nodeset, new_nodes, include_self); end
|
4870
|
-
|
4871
|
-
# source://rexml//lib/rexml/xpath_parser.rb#942
|
4872
|
-
def each_unnode(nodeset); end
|
4873
|
-
|
4874
|
-
# source://rexml//lib/rexml/xpath_parser.rb#641
|
4875
|
-
def enter(tag, *args); end
|
4876
|
-
|
4877
|
-
# source://rexml//lib/rexml/xpath_parser.rb#819
|
4878
|
-
def equality_relational_compare(set1, op, set2); end
|
4879
|
-
|
4880
|
-
# source://rexml//lib/rexml/xpath_parser.rb#591
|
4881
|
-
def evaluate_predicate(expression, nodesets); end
|
4882
|
-
|
4883
|
-
# Expr takes a stack of path elements and a set of nodes (either a Parent
|
4884
|
-
# or an Array and returns an Array of matching nodes
|
4885
|
-
#
|
4886
|
-
# source://rexml//lib/rexml/xpath_parser.rb#175
|
4887
|
-
def expr(path_stack, nodeset, context = T.unsafe(nil)); end
|
4888
|
-
|
4889
|
-
# source://rexml//lib/rexml/xpath_parser.rb#582
|
4890
|
-
def filter_nodeset(nodeset); end
|
4891
|
-
|
4892
|
-
# source://rexml//lib/rexml/xpath_parser.rb#749
|
4893
|
-
def following(node); end
|
4894
|
-
|
4895
|
-
# source://rexml//lib/rexml/xpath_parser.rb#760
|
4896
|
-
def following_node_of(node); end
|
4897
|
-
|
4898
|
-
# Returns a String namespace for a node, given a prefix
|
4899
|
-
# The rules are:
|
4900
|
-
#
|
4901
|
-
# 1. Use the supplied namespace mapping first.
|
4902
|
-
# 2. If no mapping was supplied, use the context node to look up the namespace
|
4903
|
-
#
|
4904
|
-
# source://rexml//lib/rexml/xpath_parser.rb#163
|
4905
|
-
def get_namespace(node, prefix); end
|
4906
|
-
|
4907
|
-
# source://rexml//lib/rexml/xpath_parser.rb#646
|
4908
|
-
def leave(tag, *args); end
|
4909
|
-
|
4910
|
-
# source://rexml//lib/rexml/xpath_parser.rb#767
|
4911
|
-
def next_sibling_node(node); end
|
4912
|
-
|
4913
|
-
# source://rexml//lib/rexml/xpath_parser.rb#477
|
4914
|
-
def node_test(path_stack, nodesets, any_type: T.unsafe(nil)); end
|
4915
|
-
|
4916
|
-
# source://rexml//lib/rexml/xpath_parser.rb#806
|
4917
|
-
def norm(b); end
|
4918
|
-
|
4919
|
-
# source://rexml//lib/rexml/xpath_parser.rb#894
|
4920
|
-
def normalize_compare_values(a, operator, b); end
|
4921
|
-
|
4922
|
-
# Builds a nodeset of all of the preceding nodes of the supplied node,
|
4923
|
-
# in reverse document order
|
4924
|
-
# preceding:: includes every element in the document that precedes this node,
|
4925
|
-
# except for ancestors
|
4926
|
-
#
|
4927
|
-
# source://rexml//lib/rexml/xpath_parser.rb#712
|
4928
|
-
def preceding(node); end
|
4929
|
-
|
4930
|
-
# source://rexml//lib/rexml/xpath_parser.rb#734
|
4931
|
-
def preceding_node_of(node); end
|
4932
|
-
|
4933
|
-
# Reorders an array of nodes so that they are in document order
|
4934
|
-
# It tries to do this efficiently.
|
4935
|
-
#
|
4936
|
-
# FIXME: I need to get rid of this, but the issue is that most of the XPath
|
4937
|
-
# interpreter functions as a filter, which means that we lose context going
|
4938
|
-
# in and out of function calls. If I knew what the index of the nodes was,
|
4939
|
-
# I wouldn't have to do this. Maybe add a document IDX for each node?
|
4940
|
-
# Problems with mutable documents. Or, rewrite everything.
|
4941
|
-
#
|
4942
|
-
# source://rexml//lib/rexml/xpath_parser.rb#659
|
4943
|
-
def sort(array_of_nodes, order); end
|
4944
|
-
|
4945
|
-
# source://rexml//lib/rexml/xpath_parser.rb#441
|
4946
|
-
def step(path_stack, any_type: T.unsafe(nil), order: T.unsafe(nil)); end
|
4947
|
-
|
4948
|
-
# @return [Boolean]
|
4949
|
-
#
|
4950
|
-
# source://rexml//lib/rexml/xpath_parser.rb#154
|
4951
|
-
def strict?; end
|
4952
|
-
|
4953
|
-
# source://rexml//lib/rexml/xpath_parser.rb#634
|
4954
|
-
def trace(*args); end
|
4955
|
-
|
4956
|
-
# source://rexml//lib/rexml/xpath_parser.rb#954
|
4957
|
-
def unnode(nodeset); end
|
4958
|
-
|
4959
|
-
# source://rexml//lib/rexml/xpath_parser.rb#881
|
4960
|
-
def value_type(value); end
|
4961
|
-
end
|
4962
|
-
|
4963
|
-
# source://rexml//lib/rexml/xpath_parser.rb#58
|
4964
|
-
REXML::XPathParser::DEBUG = T.let(T.unsafe(nil), FalseClass)
|