Class: VCDOM::XMLContentHandler
- Inherits:
-
Object
- Object
- VCDOM::XMLContentHandler
- Defined in:
- lib/vcdom/xml_parser.rb
Instance Method Summary collapse
- #end_document ⇒ Object
-
#initialize(document_class) ⇒ XMLContentHandler
constructor
A new instance of XMLContentHandler.
- #ns_stack ⇒ Object
- #on_begin_attr(name, ns_uri) ⇒ Object
- #on_chardata(char_data) ⇒ Object
- #on_eetag(name, ns_uri) ⇒ Object
- #on_end_attr ⇒ Object
- #on_end_eetag ⇒ Object
- #on_etag(name) ⇒ Object
- #on_stag(name, ns_uri) ⇒ Object
- #start_document ⇒ Object
Constructor Details
#initialize(document_class) ⇒ XMLContentHandler
Returns a new instance of XMLContentHandler.
15 16 17 18 |
# File 'lib/vcdom/xml_parser.rb', line 15 def initialize( document_class ) @document_class = document_class @ns_stack = Array.new() end |
Instance Method Details
#end_document ⇒ Object
26 27 28 |
# File 'lib/vcdom/xml_parser.rb', line 26 def end_document return @doc end |
#ns_stack ⇒ Object
19 20 21 |
# File 'lib/vcdom/xml_parser.rb', line 19 def ns_stack @ns_stack end |
#on_begin_attr(name, ns_uri) ⇒ Object
44 45 46 47 48 |
# File 'lib/vcdom/xml_parser.rb', line 44 def on_begin_attr( name, ns_uri ) attr = @doc.create_attribute_ns( ns_uri, name ) @cur.set_attribute_node_ns( attr ) @cur = attr end |
#on_chardata(char_data) ⇒ Object
52 53 54 |
# File 'lib/vcdom/xml_parser.rb', line 52 def on_chardata( char_data ) @cur.append_child( @doc.create_text_node( char_data ) ) end |
#on_eetag(name, ns_uri) ⇒ Object
38 39 40 |
# File 'lib/vcdom/xml_parser.rb', line 38 def on_eetag( name, ns_uri ) @cur = @cur.append_child( @doc.create_element_ns( ns_uri, name ) ) end |
#on_end_attr ⇒ Object
49 50 51 |
# File 'lib/vcdom/xml_parser.rb', line 49 def on_end_attr() @cur = @cur.owner_element end |
#on_end_eetag ⇒ Object
41 42 43 |
# File 'lib/vcdom/xml_parser.rb', line 41 def on_end_eetag() @cur = @cur.parent_node end |
#on_etag(name) ⇒ Object
32 33 34 35 36 37 |
# File 'lib/vcdom/xml_parser.rb', line 32 def on_etag( name ) if @cur.node_name != name then raise "[ERROR] @cur.node_name : #{@cur.node_name}, name : #{name}" end @cur = @cur.parent_node end |
#on_stag(name, ns_uri) ⇒ Object
29 30 31 |
# File 'lib/vcdom/xml_parser.rb', line 29 def on_stag( name, ns_uri ) @cur = @cur.append_child( @doc.create_element_ns( ns_uri, name ) ) end |
#start_document ⇒ Object
22 23 24 25 |
# File 'lib/vcdom/xml_parser.rb', line 22 def start_document @doc = @document_class._new() @cur = @doc end |