Class: Mappum::XmlSupport
Class Method Summary collapse
-
.get_target_ns(xsd_file) ⇒ Object
Get target namespace from given xsd file.
- .get_target_ns_libxml(xsd_file) ⇒ Object
- .get_target_ns_rexml(xsd_file) ⇒ Object
Class Method Details
.get_target_ns(xsd_file) ⇒ Object
Get target namespace from given xsd file
394 395 396 397 |
# File 'lib/mappum/xml_transform.rb', line 394 def self.get_target_ns(xsd_file) return get_target_ns_libxml(xsd_file) if @@parser == :libxml return get_target_ns_rexml(xsd_file) end |
.get_target_ns_libxml(xsd_file) ⇒ Object
409 410 411 412 413 414 415 416 |
# File 'lib/mappum/xml_transform.rb', line 409 def self.get_target_ns_libxml(xsd_file) reader = LibXML::XML::Reader.file(xsd_file) reader.read reader.move_to_attribute("targetNamespace") namespace = reader.value reader.close return namespace end |
.get_target_ns_rexml(xsd_file) ⇒ Object
398 399 400 401 402 403 404 405 406 407 408 |
# File 'lib/mappum/xml_transform.rb', line 398 def self.get_target_ns_rexml(xsd_file) reader = REXML::Parsers::SAX2Parser.new(File.new(xsd_file)) namespace = nil #FIXME: quit after root reader.listen(:start_element) do |uri, localname, qname, attributes| namespace ||= attributes["targetNamespace"] end reader.parse return namespace end |