module XSD::XMLParser

Constants

NSParseRegexp

$1 is necessary.

Public Class Methods

create_parser(host, opt) click to toggle source
# File lib/xsd/xmlparser.rb, line 16
def create_parser(host, opt)
  XSD::XMLParser::Parser.create_parser(host, opt)
end
filter_ns(ns, attrs) click to toggle source
# File lib/xsd/xmlparser.rb, line 24
def filter_ns(ns, attrs)
  ns_updated = false
  if attrs.nil? or attrs.empty?
    return [ns, attrs]
  end
  newattrs = {}
  attrs.each do |key, value|
    if NSParseRegexp =~ key
      unless ns_updated
        ns = ns.clone_ns
        ns_updated = true
      end
      # tag == '' means 'default namespace'
      # value == '' means 'no default namespace'
      tag = $1 || ''
      ns.assign(value, tag)
    else
      newattrs[key] = value
    end
  end
  return [ns, newattrs]
end

Private Instance Methods

create_parser(host, opt) click to toggle source
# File lib/xsd/xmlparser.rb, line 16
def create_parser(host, opt)
  XSD::XMLParser::Parser.create_parser(host, opt)
end
filter_ns(ns, attrs) click to toggle source
# File lib/xsd/xmlparser.rb, line 24
def filter_ns(ns, attrs)
  ns_updated = false
  if attrs.nil? or attrs.empty?
    return [ns, attrs]
  end
  newattrs = {}
  attrs.each do |key, value|
    if NSParseRegexp =~ key
      unless ns_updated
        ns = ns.clone_ns
        ns_updated = true
      end
      # tag == '' means 'default namespace'
      # value == '' means 'no default namespace'
      tag = $1 || ''
      ns.assign(value, tag)
    else
      newattrs[key] = value
    end
  end
  return [ns, newattrs]
end