class XTemplate::XMLVisitor

Public Class Methods

new() click to toggle source
# File lib/xtemplate/xml.rb, line 84
def initialize
  init_root()
  #@orig_kcode = $KCODE
end

Public Instance Methods

on_attr_charref(code) click to toggle source
# File lib/xtemplate/xml.rb, line 202
def on_attr_charref(code)
  push_attrval("&\##{code};")
end
on_attr_charref_hex(code) click to toggle source
# File lib/xtemplate/xml.rb, line 206
def on_attr_charref_hex(code)
  push_attrval("&\#x#{'%x' % code};")
end
on_attr_entityref(ref) click to toggle source
# File lib/xtemplate/xml.rb, line 198
def on_attr_entityref(ref)
  push_attrval("&#{ref};")
end
on_attr_value(str) click to toggle source
# File lib/xtemplate/xml.rb, line 194
def on_attr_value(str)
  push_attrval(str)
end
on_attribute(name) click to toggle source
# File lib/xtemplate/xml.rb, line 190
def on_attribute(name)
  push_attr(name)
end
on_attribute_end(name) click to toggle source
# File lib/xtemplate/xml.rb, line 210
def on_attribute_end(name)
end
on_cdata(str) click to toggle source
# File lib/xtemplate/xml.rb, line 166
def on_cdata(str)
  push_content("<![CDATA[#{str}]]>")
end
on_chardata(str) click to toggle source
# File lib/xtemplate/xml.rb, line 162
def on_chardata(str)
  push_content(str)
end
on_charref(code) click to toggle source
# File lib/xtemplate/xml.rb, line 174
def on_charref(code)
  push_content("&\##{code};")
end
on_charref_hex(code) click to toggle source
# File lib/xtemplate/xml.rb, line 178
def on_charref_hex(code)
  push_content("&\#x#{'%x' % code};")
end
on_comment(str) click to toggle source
# File lib/xtemplate/xml.rb, line 154
def on_comment(str)
  push_content("<!--#{str}-->")
end
on_doctype(root,pubid,sysid) click to toggle source
# File lib/xtemplate/xml.rb, line 133
def on_doctype(root,pubid,sysid)
  if( pubid )
    if( sysid )
      push_content("<!DOCTYPE #{root} PUBLIC \"#{pubid}\" \"#{sysid}\">")
    else
      push_content("<!DOCTYPE #{root} PUBLIC \"#{pubid}\">")
    end
  else
    if( sysid )
      push_content("<!DOCTYPE #{root} SYSTEM \"#{sysid}\">")
    else
      push_content("<!DOCTYPE #{root}>")
    end
  end
  push_content(NEWLINE)
end
on_end_document() click to toggle source
# File lib/xtemplate/xml.rb, line 185
def on_end_document
  #@root.add_child(NEWLINE)
  #$KCODE = @orig_kcode
end
on_entityref(ref) click to toggle source
# File lib/xtemplate/xml.rb, line 170
def on_entityref(ref)
  push_content("&#{ref};")
end
on_etag(name) click to toggle source
# File lib/xtemplate/xml.rb, line 225
def on_etag(name)
  pop_node()
end
on_pi(target, pi) click to toggle source
# File lib/xtemplate/xml.rb, line 158
def on_pi(target, pi)
  push_pi(target,pi)
end
on_prolog_space(str) click to toggle source
# File lib/xtemplate/xml.rb, line 150
def on_prolog_space(str)
  push_content(str)
end
on_stag(name) click to toggle source
# File lib/xtemplate/xml.rb, line 213
def on_stag(name)
  push_tag(name)
end
on_stag_end(name) click to toggle source
# File lib/xtemplate/xml.rb, line 222
def on_stag_end(name)
end
on_stag_end_empty(name) click to toggle source
# File lib/xtemplate/xml.rb, line 217
def on_stag_end_empty(name)
  on_stag_end(name)
  on_etag(name)
end
on_start_document() click to toggle source
# File lib/xtemplate/xml.rb, line 182
def on_start_document
end
on_xmldecl() click to toggle source
# File lib/xtemplate/xml.rb, line 108
def on_xmldecl
  push_content("<?xml")
end
on_xmldecl_encoding(str) click to toggle source
# File lib/xtemplate/xml.rb, line 116
def on_xmldecl_encoding(str)
  #$KCODE = str
  push_content(" encoding=\"#{str}\"")
end
on_xmldecl_end() click to toggle source
# File lib/xtemplate/xml.rb, line 129
def on_xmldecl_end
  push_content("?>", NEWLINE)
end
on_xmldecl_other(name,value) click to toggle source
# File lib/xtemplate/xml.rb, line 125
def on_xmldecl_other(name,value)
  push_content(" #{name}=\"#{value}\"")
end
on_xmldecl_standalone(str) click to toggle source
# File lib/xtemplate/xml.rb, line 121
def on_xmldecl_standalone(str)
  push_content(" standalone=\"#{str}\"")
end
on_xmldecl_version(str) click to toggle source
# File lib/xtemplate/xml.rb, line 112
def on_xmldecl_version(str)
  push_content(" version=\"#{str}\"")
end
parse_error(msg) click to toggle source
# File lib/xtemplate/xml.rb, line 93
def parse_error(msg)
  raise(RuntimeError, "%s:%d:%s" % [@parser.path, @parser.lineno, msg])
end
set_parser(x) click to toggle source
# File lib/xtemplate/xml.rb, line 89
def set_parser(x)
  @parser = x
end
valid_error(msg) click to toggle source
# File lib/xtemplate/xml.rb, line 101
def valid_error(msg)
  raise(RuntimeError, "%s:%d:%s" % [@parser.path, @parser.lineno, msg])
end
warning(msg) click to toggle source
# File lib/xtemplate/xml.rb, line 105
def warning(msg)
end
wellformed_error(msg) click to toggle source
# File lib/xtemplate/xml.rb, line 97
def wellformed_error(msg)
  raise(RuntimeError, "%s:%d:%s" % [@parser.path, @parser.lineno, msg])
end