Class Methods
lib/rexml/formatters/default.rb
View on GitHub
# File tmp/rubies/ruby-2.7.6/lib/rexml/formatters/default.rb, line 12
def initialize( ie_hack=false )
@ie_hack = ie_hack
end
Instance Methods
lib/rexml/formatters/default.rb
View on GitHub
# File tmp/rubies/ruby-2.7.6/lib/rexml/formatters/default.rb, line 23
def write( node, output )
case node
when Document
if node.xml_decl.encoding != 'UTF-8' && !output.kind_of?(Output)
output = Output.new( output, node.xml_decl.encoding )
end
write_document( node, output )
when Element
write_element( node, output )
when Declaration, ElementDecl, NotationDecl, ExternalEntity, Entity,
Attribute, AttlistDecl
node.write( output,-1 )
when Instruction
write_instruction( node, output )
when DocType, XMLDecl
node.write( output )
when Comment
write_comment( node, output )
when CData
write_cdata( node, output )
when Text
write_text( node, output )
else
raise Exception.new("XML FORMATTING ERROR")
end
end
Writes the node to some output.
- node
-
The node to write
- output
-
A class implementing
<<
. Pass in anOutput
object to change the output encoding.
lib/rexml/formatters/default.rb
View on GitHub
# File tmp/rubies/ruby-2.7.6/lib/rexml/formatters/default.rb, line 98
def write_cdata( node, output )
output << CData::START
output << node.to_s
output << CData::STOP
end
No documentation available
lib/rexml/formatters/default.rb
View on GitHub
# File tmp/rubies/ruby-2.7.6/lib/rexml/formatters/default.rb, line 92
def write_comment( node, output )
output << Comment::START
output << node.to_s
output << Comment::STOP
end
No documentation available
lib/rexml/formatters/default.rb
View on GitHub
# File tmp/rubies/ruby-2.7.6/lib/rexml/formatters/default.rb, line 61
def write_document( node, output )
node.children.each { |child| write( child, output ) }
end
No documentation available
lib/rexml/formatters/default.rb
View on GitHub
# File tmp/rubies/ruby-2.7.6/lib/rexml/formatters/default.rb, line 65
def write_element( node, output )
output << "<#{node.expanded_name}"
node.attributes.to_a.map { |a|
Hash === a ? a.values : a
}.flatten.sort_by {|attr| attr.name}.each do |attr|
output << " "
attr.write( output )
end unless node.attributes.empty?
if node.children.empty?
output << " " if @ie_hack
output << "/"
else
output << ">"
node.children.each { |child|
write( child, output )
}
output << "</#{node.expanded_name}"
end
output << ">"
end
No documentation available
lib/rexml/formatters/default.rb
View on GitHub
# File tmp/rubies/ruby-2.7.6/lib/rexml/formatters/default.rb, line 104
def write_instruction( node, output )
output << Instruction::START
output << node.target
content = node.content
if content
output << ' '
output << content
end
output << Instruction::STOP
end
No documentation available
lib/rexml/formatters/default.rb
View on GitHub
# File tmp/rubies/ruby-2.7.6/lib/rexml/formatters/default.rb, line 88
def write_text( node, output )
output << node.to_s()
end
No documentation available