class Builder::XmlEvents
Create a series of SAX-like XML events (e.g. start_tag, end_tag) from the markup code. XmlEvent objects are used in a way similar to XmlMarkup objects, except that a series of events are generated and passed to a handler rather than generating character-based markup.
Usage:
xe = Builder::XmlEvents.new(hander) xe.title("HI") # Sends start_tag/end_tag/text messages to the handler.
Indentation may also be selected by providing value for the indentation size and initial indentation level.
xe = Builder::XmlEvents.new(handler, indent_size, initial_indent_level)
XML Event Handler
The handler object must expect the following events.
start_tag(tag, attrs)-
Announces that a new tag has been found.
tagis the name of the tag andattrsis a hash of attributes for the tag. end_tag(tag)-
Announces that an end tag for
taghas been found. text(text)-
Announces that a string of characters (
text) has been found. A series of characters may be broken up into more than onetextcall, so the client cannot assume that a single callback contains all the text data.
Public Instance Methods
Source
# File lib/builder/xmlevents.rb 59 def _end_tag(sym) 60 @target.end_tag(sym) 61 end
Source
# File lib/builder/xmlevents.rb 54 def _start_tag(sym, attrs, end_too=false) 55 @target.start_tag(sym, attrs) 56 _end_tag(sym) if end_too 57 end