Class: XSD::XMLParser::Nokogiri
Relationships & Source Files | |
Super Chains via Extension / Inclusion / Inheritance | |
Class Chain:
self,
XSD::XMLParser::Parser
|
|
Instance Chain:
self,
XSD::XMLParser::Parser
|
|
Inherits: |
XSD::XMLParser::Parser
|
Defined in: | lib/xsd/xmlparser/nokogiri.rb |
Overview
Nokogiri
XML parser for soap4r.
Nokogiri
may be used as the XML parser in soap4r. Require ‘xsd/xmlparser/nokogiri’ in your soap4r applications, and soap4r will use Nokogiri
as its 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
Class Method Summary
-
.new(host, opt = {}) ⇒ Nokogiri
constructor
Create a new
::XSD
parser withhost
andopt
Instance Method Summary
-
#cdata_block(string)
Handle cdata_blocks containing
string
-
#do_parse(string_or_readable)
Start parsing
string_or_readable
-
#end_element(name)
Handle the end_element event with
name
-
#end_element_namespace(name, prefix = nil, uri = nil)
Called at the end of an element
name
is the element’s nameprefix
is the namespace prefix associated with the elementuri
is the associated namespace URI. -
#error(msg)
(also: #warning)
Handle errors with message
msg
-
#start_element(name, attrs = [])
Handle the start_element event with
name
andattrs
-
#start_element_namespace(name, attrs = [], prefix = nil, uri = nil, ns = [])
Called at the beginning of an element
name
is the element nameattrs
is a list of attributesprefix
is the namespace prefix for the elementuri
is the associated namespace URIns
is a hash of namespace prefix:urls associated with the element. -
#warning(msg)
Alias for #error.
Constructor Details
.new(host, opt = {}) ⇒ Nokogiri
Create a new ::XSD
parser with host
and opt
Instance Method Details
#cdata_block(string)
Handle cdata_blocks containing string
# File 'lib/xsd/xmlparser/nokogiri.rb', line 62
def cdata_block(string) characters(string) end
#do_parse(string_or_readable)
Start parsing string_or_readable
# File 'lib/xsd/xmlparser/nokogiri.rb', line 37
def do_parse(string_or_readable) @parser.parse(string_or_readable) end
#end_element(name)
Handle the end_element event with name
# File 'lib/xsd/xmlparser/nokogiri.rb', line 49
def end_element(name) super end
#end_element_namespace(name, prefix = nil, uri = nil)
Called at the end of an element name
is the element’s name prefix
is the namespace prefix associated with the element uri
is the associated namespace URI
# File 'lib/xsd/xmlparser/nokogiri.rb', line 90
def end_element_namespace(name, prefix = nil, uri = nil) ### # Deal with SAX v1 interface end_element([prefix, name].compact.join(":")) end
#error(msg) Also known as: #warning
Handle errors with message msg
# File 'lib/xsd/xmlparser/nokogiri.rb', line 55
def error(msg) raise ParseError, msg end
#start_element(name, attrs = [])
Handle the start_element event with name
and attrs
# File 'lib/xsd/xmlparser/nokogiri.rb', line 43
def start_element(name, attrs = []) super(name, Hash[*attrs.flatten]) end
#start_element_namespace(name, attrs = [], prefix = nil, uri = nil, ns = [])
Called at the beginning of an element name
is the element name attrs
is a list of attributes prefix
is the namespace prefix for the element uri
is the associated namespace URI ns
is a hash of namespace prefix:urls associated with the element
# File 'lib/xsd/xmlparser/nokogiri.rb', line 73
def start_element_namespace(name, attrs = [], prefix = nil, uri = nil, ns = []) # rubocop:disable Metrics/ParameterLists ### # Deal with SAX v1 interface name = [prefix, name].compact.join(":") attributes = ns.map do |ns_prefix, ns_uri| [["xmlns", ns_prefix].compact.join(":"), ns_uri] end + attrs.map do |attr| [[attr.prefix, attr.localname].compact.join(":"), attr.value] end.flatten start_element(name, attributes) end
#warning(msg)
Alias for #error.
# File 'lib/xsd/xmlparser/nokogiri.rb', line 58
alias_method :warning, :error