Parent

Class Index [+]

Quicksearch

XSD::XMLParser::Nokogiri

 

Nokogiri XML parser for soap4r.

Nokogiri may be used as the XML parser in soap4r. Simply require ‘xsd/xmlparser/nokogiri’ in your soap4r applications, and soap4r will use Nokogiri as it’s XML parser. No other changes should be required to use Nokogiri as the XML parser.

Example (using UW ITS Web Services):

  require 'rubygems'
  require 'nokogiri'
  gem 'soap4r'
  require 'defaultDriver'
  require 'xsd/xmlparser/nokogiri'
  
  obj = AvlPortType.new
  obj.getLatestByRoute(obj.getAgencies.first, 8).each do |bus|
    p "#{bus.routeID}, #{bus.longitude}, #{bus.latitude}"
  end

Public Class Methods

new(host, opt = {}) click to toggle source
 

Create a new XSD parser with host and opt

    # File lib/xsd/xmlparser/nokogiri.rb, line 29
29:       def initialize host, opt = {}
30:         super
31:         @parser = ::Nokogiri::XML::SAX::Parser.new(self, @charset || 'UTF-8')
32:       end

Public Instance Methods

cdata_block(string) click to toggle source
 

Handle cdata_blocks containing string

    # File lib/xsd/xmlparser/nokogiri.rb, line 61
61:       def cdata_block string
62:         characters string
63:       end
do_parse(string_or_readable) click to toggle source
 

Start parsing string_or_readable

    # File lib/xsd/xmlparser/nokogiri.rb, line 36
36:       def do_parse string_or_readable
37:         @parser.parse(string_or_readable)
38:       end
end_element(name) click to toggle source
 

Handle the end_element event with name

    # File lib/xsd/xmlparser/nokogiri.rb, line 48
48:       def end_element name
49:         super
50:       end
end_element_namespace(name, prefix = nil, uri = nil) click to toggle source
    # File lib/xsd/xmlparser/nokogiri.rb, line 77
77:       def end_element_namespace name, prefix = nil, uri = nil
78:         ###
79:         # Deal with SAX v1 interface
80:         end_element [prefix, name].compact.join(':')
81:       end
error(msg) click to toggle source
 

Handle errors with message msg

    # File lib/xsd/xmlparser/nokogiri.rb, line 54
54:       def error msg
55:         raise ParseError.new(msg)
56:       end
Also aliased as: warning
start_element(name, attrs = []) click to toggle source
 

Handle the start_element event with name and attrs

    # File lib/xsd/xmlparser/nokogiri.rb, line 42
42:       def start_element name, attrs = []
43:         super(name, Hash[*attrs.flatten])
44:       end
start_element_namespace(name, attrs = [], prefix = nil, uri = nil, ns = []) click to toggle source
    # File lib/xsd/xmlparser/nokogiri.rb, line 65
65:       def start_element_namespace name, attrs = [], prefix = nil, uri = nil, ns = []
66:         ###
67:         # Deal with SAX v1 interface
68:         name = [prefix, name].compact.join(':')
69:         attributes = ns.map { |ns_prefix,ns_uri|
70:           [['xmlns', ns_prefix].compact.join(':'), ns_uri]
71:         } + attrs.map { |attr|
72:           [[attr.prefix, attr.localname].compact.join(':'), attr.value]
73:         }.flatten
74:         start_element name, attributes
75:       end
warning(msg) click to toggle source
Alias for: error

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.