Linux premium71.web-hosting.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64
LiteSpeed
Server IP : 198.187.29.8 & Your IP : 3.134.110.4
Domains :
Cant Read [ /etc/named.conf ]
User : cleahvkv
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
opt /
alt /
ruby25 /
lib64 /
ruby /
2.5.0 /
rexml /
Delete
Unzip
Name
Size
Permission
Date
Action
dtd
[ DIR ]
drwxr-xr-x
2024-03-03 22:47
formatters
[ DIR ]
drwxr-xr-x
2024-03-03 22:47
light
[ DIR ]
drwxr-xr-x
2024-03-03 22:47
parsers
[ DIR ]
drwxr-xr-x
2024-03-03 22:47
validation
[ DIR ]
drwxr-xr-x
2024-03-03 22:47
attlistdecl.rb
1.92
KB
-rw-r--r--
2021-04-05 11:46
attribute.rb
5.53
KB
-rw-r--r--
2021-04-05 11:46
cdata.rb
1.58
KB
-rw-r--r--
2021-04-05 11:46
child.rb
2.66
KB
-rw-r--r--
2021-04-05 11:46
comment.rb
2.12
KB
-rw-r--r--
2021-04-05 11:46
doctype.rb
7.64
KB
-rw-r--r--
2021-04-05 11:46
document.rb
9.51
KB
-rw-r--r--
2021-04-05 11:46
element.rb
44.38
KB
-rw-r--r--
2021-04-05 11:46
encoding.rb
1.16
KB
-rw-r--r--
2021-04-05 11:46
entity.rb
5.39
KB
-rw-r--r--
2021-04-05 11:46
functions.rb
11.9
KB
-rw-r--r--
2021-04-05 11:46
instruction.rb
2.05
KB
-rw-r--r--
2021-04-05 11:46
namespace.rb
1.12
KB
-rw-r--r--
2021-04-05 11:46
node.rb
2.17
KB
-rw-r--r--
2021-04-05 11:46
output.rb
550
B
-rw-r--r--
2021-04-05 11:46
parent.rb
4.27
KB
-rw-r--r--
2021-04-05 11:46
parseexception.rb
1.25
KB
-rw-r--r--
2021-04-05 11:46
quickpath.rb
9.12
KB
-rw-r--r--
2021-04-05 11:46
rexml.rb
1.32
KB
-rw-r--r--
2021-04-05 11:46
sax2listener.rb
3.61
KB
-rw-r--r--
2021-04-05 11:46
security.rb
824
B
-rw-r--r--
2021-04-05 11:46
source.rb
7.64
KB
-rw-r--r--
2021-04-05 11:46
streamlistener.rb
3.84
KB
-rw-r--r--
2021-04-05 11:46
syncenumerator.rb
716
B
-rw-r--r--
2021-04-05 11:46
text.rb
13.78
KB
-rw-r--r--
2021-04-05 11:46
undefinednamespaceexception.rb
241
B
-rw-r--r--
2021-04-05 11:46
xmldecl.rb
2.71
KB
-rw-r--r--
2021-04-05 11:46
xmltokens.rb
2.32
KB
-rw-r--r--
2021-04-05 11:46
xpath.rb
3.34
KB
-rw-r--r--
2021-04-05 11:46
xpath_parser.rb
20.44
KB
-rw-r--r--
2021-04-05 11:46
Save
Rename
# frozen_string_literal: false require "rexml/namespace" require 'rexml/text' module REXML # Defines an Element Attribute; IE, a attribute=value pair, as in: # <element attribute="value"/>. Attributes can be in their own # namespaces. General users of REXML will not interact with the # Attribute class much. class Attribute include Node include Namespace # The element to which this attribute belongs attr_reader :element # The normalized value of this attribute. That is, the attribute with # entities intact. attr_writer :normalized PATTERN = /\s*(#{NAME_STR})\s*=\s*(["'])(.*?)\2/um NEEDS_A_SECOND_CHECK = /(<|&((#{Entity::NAME});|(#0*((?:\d+)|(?:x[a-fA-F0-9]+)));)?)/um # Constructor. # FIXME: The parser doesn't catch illegal characters in attributes # # first:: # Either: an Attribute, which this new attribute will become a # clone of; or a String, which is the name of this attribute # second:: # If +first+ is an Attribute, then this may be an Element, or nil. # If nil, then the Element parent of this attribute is the parent # of the +first+ Attribute. If the first argument is a String, # then this must also be a String, and is the content of the attribute. # If this is the content, it must be fully normalized (contain no # illegal characters). # parent:: # Ignored unless +first+ is a String; otherwise, may be the Element # parent of this attribute, or nil. # # # Attribute.new( attribute_to_clone ) # Attribute.new( attribute_to_clone, parent_element ) # Attribute.new( "attr", "attr_value" ) # Attribute.new( "attr", "attr_value", parent_element ) def initialize( first, second=nil, parent=nil ) @normalized = @unnormalized = @element = nil if first.kind_of? Attribute self.name = first.expanded_name @unnormalized = first.value if second.kind_of? Element @element = second else @element = first.element end elsif first.kind_of? String @element = parent self.name = first @normalized = second.to_s else raise "illegal argument #{first.class.name} to Attribute constructor" end end # Returns the namespace of the attribute. # # e = Element.new( "elns:myelement" ) # e.add_attribute( "nsa:a", "aval" ) # e.add_attribute( "b", "bval" ) # e.attributes.get_attribute( "a" ).prefix # -> "nsa" # e.attributes.get_attribute( "b" ).prefix # -> "elns" # a = Attribute.new( "x", "y" ) # a.prefix # -> "" def prefix pf = super if pf == "" pf = @element.prefix if @element end pf end # Returns the namespace URL, if defined, or nil otherwise # # e = Element.new("el") # e.add_namespace("ns", "http://url") # e.add_attribute("ns:a", "b") # e.add_attribute("nsx:a", "c") # e.attribute("ns:a").namespace # => "http://url" # e.attribute("nsx:a").namespace # => nil def namespace arg=nil arg = prefix if arg.nil? @element.namespace arg end # Returns true if other is an Attribute and has the same name and value, # false otherwise. def ==( other ) other.kind_of?(Attribute) and other.name==name and other.value==value end # Creates (and returns) a hash from both the name and value def hash name.hash + value.hash end # Returns this attribute out as XML source, expanding the name # # a = Attribute.new( "x", "y" ) # a.to_string # -> "x='y'" # b = Attribute.new( "ns:x", "y" ) # b.to_string # -> "ns:x='y'" def to_string if @element and @element.context and @element.context[:attribute_quote] == :quote %Q^#@expanded_name="#{to_s().gsub(/"/, '"')}"^ else "#@expanded_name='#{to_s().gsub(/'/, ''')}'" end end def doctype if @element doc = @element.document doc.doctype if doc end end # Returns the attribute value, with entities replaced def to_s return @normalized if @normalized @normalized = Text::normalize( @unnormalized, doctype ) @unnormalized = nil @normalized end # Returns the UNNORMALIZED value of this attribute. That is, entities # have been expanded to their values def value return @unnormalized if @unnormalized @unnormalized = Text::unnormalize( @normalized, doctype ) @normalized = nil @unnormalized end # Returns a copy of this attribute def clone Attribute.new self end # Sets the element of which this object is an attribute. Normally, this # is not directly called. # # Returns this attribute def element=( element ) @element = element if @normalized Text.check( @normalized, NEEDS_A_SECOND_CHECK, doctype ) end self end # Removes this Attribute from the tree, and returns true if successful # # This method is usually not called directly. def remove @element.attributes.delete self.name unless @element.nil? end # Writes this attribute (EG, puts 'key="value"' to the output) def write( output, indent=-1 ) output << to_string end def node_type :attribute end def inspect rv = "" write( rv ) rv end def xpath path = @element.xpath path += "/@#{self.expanded_name}" return path end end end #vim:ts=2 sw=2 noexpandtab: