PHP 8.2.31
Preview: xmlparser.rb Size: 1.65 KB
//proc/thread-self/root/opt/alt/ruby24/lib64/ruby/2.4.0/rss/xmlparser.rb

# frozen_string_literal: false
begin
  require "xml/parser"
rescue LoadError
  require "xmlparser"
end

begin
  require "xml/encoding-ja"
rescue LoadError
  require "xmlencoding-ja"
  if defined?(Kconv)
    module XMLEncoding_ja
      class SJISHandler
        include Kconv
      end
    end
  end
end

module XML
  class Parser
    unless defined?(Error)
      # This error is legacy, so we just set it to the new one
      Error = ::XMLParserError # :nodoc:
    end
  end
end

module RSS

  class REXMLLikeXMLParser < ::XML::Parser

    include ::XML::Encoding_ja

    def listener=(listener)
      @listener = listener
    end

    def startElement(name, attrs)
      @listener.tag_start(name, attrs)
    end

    def endElement(name)
      @listener.tag_end(name)
    end

    def character(data)
      @listener.text(data)
    end

    def xmlDecl(version, encoding, standalone)
      @listener.xmldecl(version, encoding, standalone == 1)
    end

    def processingInstruction(target, content)
      @listener.instruction(target, content)
    end

  end

  class XMLParserParser < BaseParser

    class << self
      def listener
        XMLParserListener
      end
    end

    private
    def _parse
      begin
        parser = REXMLLikeXMLParser.new
        parser.listener = @listener
        parser.parse(@rss)
      rescue ::XML::Parser::Error => e
        raise NotWellFormedError.new(parser.line){e.message}
      end
    end

  end

  class XMLParserListener < BaseListener

    include ListenerMixin

    def xmldecl(version, encoding, standalone)
      super
      # Encoding is converted to UTF-8 when XMLParser parses XML.
      @encoding = 'UTF-8'
    end

  end

end

Directory Contents

Dirs: 3 × Files: 22

Name Size Perms Modified Actions
content DIR
- drwxr-xr-x 2024-03-03 22:47:57
Edit Download
- drwxr-xr-x 2024-03-03 22:47:57
Edit Download
maker DIR
- drwxr-xr-x 2024-03-03 22:47:57
Edit Download
10.61 KB lrw-r--r-- 2020-03-31 11:42:18
Edit Download
9.64 KB lrw-r--r-- 2020-03-31 11:42:18
Edit Download
3.43 KB lrw-r--r-- 2020-03-31 11:42:18
Edit Download
28.90 KB lrw-r--r-- 2020-03-31 11:42:18
Edit Download
890 B lrw-r--r-- 2020-03-31 11:42:18
Edit Download
3.90 KB lrw-r--r-- 2020-03-31 11:42:18
Edit Download
4.30 KB lrw-r--r-- 2020-03-31 11:42:18
Edit Download
4.79 KB lrw-r--r-- 2020-03-31 11:42:18
Edit Download
10.07 KB lrw-r--r-- 2020-03-31 11:42:18
Edit Download
1.78 KB lrw-r--r-- 2020-03-31 11:42:18
Edit Download
15.61 KB lrw-r--r-- 2020-03-31 11:42:18
Edit Download
995 B lrw-r--r-- 2020-03-31 11:42:18
Edit Download
34.84 KB lrw-r--r-- 2020-03-31 11:42:18
Edit Download
1.33 KB lrw-r--r-- 2020-03-31 11:42:18
Edit Download
1.88 KB lrw-r--r-- 2020-03-31 11:42:18
Edit Download
3.19 KB lrw-r--r-- 2020-03-31 11:42:18
Edit Download
6.72 KB lrw-r--r-- 2020-03-31 11:42:18
Edit Download
5.11 KB lrw-r--r-- 2020-03-31 11:42:18
Edit Download
2.16 KB lrw-r--r-- 2020-03-31 11:42:18
Edit Download
1.50 KB lrw-r--r-- 2020-03-31 11:42:18
Edit Download
1.65 KB lrw-r--r-- 2020-03-31 11:42:18
Edit Download
2.13 KB lrw-r--r-- 2020-03-31 11:42:18
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).