Module: Nokogiri
- Defined in:
- lib/nokogiri.rb,
lib/nokogiri/css.rb,
lib/nokogiri/xml.rb,
lib/nokogiri/html.rb,
lib/nokogiri/xslt.rb,
lib/nokogiri/gumbo.rb,
lib/nokogiri/html4.rb,
lib/nokogiri/html5.rb,
lib/nokogiri/xml/dtd.rb,
lib/nokogiri/css/node.rb,
lib/nokogiri/xml/attr.rb,
lib/nokogiri/xml/node.rb,
lib/nokogiri/xml/text.rb,
lib/nokogiri/xml/cdata.rb,
lib/nokogiri/xml/xpath.rb,
lib/nokogiri/css/parser.rb,
lib/nokogiri/css/parser.rb,
lib/nokogiri/html5/node.rb,
lib/nokogiri/xml/reader.rb,
lib/nokogiri/xml/schema.rb,
lib/nokogiri/xml/builder.rb,
lib/nokogiri/xml/pp/node.rb,
lib/nokogiri/syntax_error.rb,
lib/nokogiri/version/info.rb,
lib/nokogiri/xml/document.rb,
lib/nokogiri/xml/node_set.rb,
lib/nokogiri/xml/notation.rb,
lib/nokogiri/xml/relax_ng.rb,
lib/nokogiri/css/tokenizer.rb,
lib/nokogiri/html4/builder.rb,
lib/nokogiri/xml/namespace.rb,
lib/nokogiri/class_resolver.rb,
lib/nokogiri/html4/document.rb,
lib/nokogiri/html5/document.rb,
lib/nokogiri/xml/sax/parser.rb,
lib/nokogiri/xml/searchable.rb,
lib/nokogiri/decorators/slop.rb,
lib/nokogiri/xml/entity_decl.rb,
lib/nokogiri/xslt/stylesheet.rb,
lib/nokogiri/css/syntax_error.rb,
lib/nokogiri/encoding_handler.rb,
lib/nokogiri/html4/sax/parser.rb,
lib/nokogiri/version/constant.rb,
lib/nokogiri/xml/element_decl.rb,
lib/nokogiri/xml/sax/document.rb,
lib/nokogiri/xml/syntax_error.rb,
lib/nokogiri/css/parser_extras.rb,
lib/nokogiri/css/xpath_visitor.rb,
lib/nokogiri/xml/parse_options.rb,
lib/nokogiri/xml/xpath_context.rb,
lib/nokogiri/xml/attribute_decl.rb,
lib/nokogiri/xml/character_data.rb,
lib/nokogiri/html4/entity_lookup.rb,
lib/nokogiri/jruby/nokogiri_jars.rb,
lib/nokogiri/xml/element_content.rb,
lib/nokogiri/xml/sax/push_parser.rb,
lib/nokogiri/xml/entity_reference.rb,
lib/nokogiri/html4/encoding_reader.rb,
lib/nokogiri/html4/sax/push_parser.rb,
lib/nokogiri/xml/document_fragment.rb,
lib/nokogiri/xml/node/save_options.rb,
lib/nokogiri/xml/pp/character_data.rb,
lib/nokogiri/xml/sax/parser_context.rb,
lib/nokogiri/xml/xpath/syntax_error.rb,
lib/nokogiri/html4/document_fragment.rb,
lib/nokogiri/html5/document_fragment.rb,
lib/nokogiri/html4/sax/parser_context.rb,
lib/nokogiri/html4/element_description.rb,
lib/nokogiri/xml/processing_instruction.rb,
lib/nokogiri/html4/element_description_defaults.rb,
ext/nokogiri/nokogiri.c
Overview
– DO NOT MODIFY!!!! This file is automatically generated by rex 1.0.7 from lexical definition file “lib/nokogiri/css/tokenizer.rex”. ++
Defined Under Namespace
Modules: CSS, ClassResolver, Decorators, Gumbo, HTML, HTML4, HTML5, Test, XML, XSLT Classes: EncodingHandler, SyntaxError, VersionInfo
Constant Summary collapse
- VERSION_INFO =
Detailed version info about Nokogiri and the installed extension dependencies.
VersionInfo.instance.to_hash
- VERSION =
The version of Nokogiri you are using
"1.15.1"
- JAR_DEPENDENCIES =
generated by the :vendor_jars rake task
{ "isorelax:isorelax" => "20030108", "net.sf.saxon:Saxon-HE" => "9.6.0-4", "net.sourceforge.htmlunit:neko-htmlunit" => "2.63.0", "nu.validator:jing" => "20200702VNU", "org.nokogiri:nekodtd" => "0.1.11.noko1", "xalan:serializer" => "2.7.3", "xalan:xalan" => "2.7.3", "xerces:xercesImpl" => "2.12.2", "xml-apis:xml-apis" => "1.4.01", }.freeze
- XERCES_VERSION =
JAR_DEPENDENCIES["xerces:xercesImpl"]
- NEKO_VERSION =
JAR_DEPENDENCIES["net.sourceforge.htmlunit:neko-htmlunit"]
Class Method Summary collapse
-
.HTML4(input, url = nil, encoding = nil, options = XML::ParseOptions::DEFAULT_HTML, &block) ⇒ Object
:call-seq: HTML4(input, url = nil, encoding = nil, options = XML::ParseOptions::DEFAULT_HTML, &block) → Nokogiri::HTML4::Document.
-
.HTML5(input, url = nil, encoding = nil, **options, &block) ⇒ Object
Since v1.12.0.
-
.install_default_aliases ⇒ Object
:nodoc:.
-
.jruby? ⇒ Boolean
:nodoc:.
-
.libxml2_patches ⇒ Object
:nodoc:.
-
.make(input = nil, opts = {}, &blk) ⇒ Object
Create a new Nokogiri::XML::DocumentFragment.
-
.parse(string, url = nil, encoding = nil, options = nil) ⇒ Object
Parse an HTML or XML document.
-
.Slop(*args, &block) ⇒ Object
Parse a document and add the Slop decorator.
-
.uses_gumbo? ⇒ Boolean
:nodoc:.
-
.uses_libxml?(requirement = nil) ⇒ Boolean
:nodoc:.
-
.XML(thing, url = nil, encoding = nil, options = XML::ParseOptions::DEFAULT_XML, &block) ⇒ Object
Parse XML.
-
.XSLT(stylesheet, modules = {}) ⇒ Object
Create a Nokogiri::XSLT::Stylesheet with
stylesheet
.
Class Method Details
.HTML4(input, url = nil, encoding = nil, options = XML::ParseOptions::DEFAULT_HTML, &block) ⇒ Object
:call-seq:
HTML4(input, url = nil, encoding = nil, options = XML::ParseOptions::DEFAULT_HTML, &block) → Nokogiri::HTML4::Document
Parse HTML. Convenience method for Nokogiri::HTML4::Document.parse
10 11 12 |
# File 'lib/nokogiri/html4.rb', line 10 def HTML4(input, url = nil, encoding = nil, = XML::ParseOptions::DEFAULT_HTML, &block) Nokogiri::HTML4::Document.parse(input, url, encoding, , &block) end |
.HTML5(input, url = nil, encoding = nil, **options, &block) ⇒ Object
Since v1.12.0
⚠ HTML5 functionality is not available when running JRuby.
Parse an HTML5 document. Convenience method for Nokogiri::HTML5::Document.parse
30 31 32 |
# File 'lib/nokogiri/html5.rb', line 30 def self.HTML5(input, url = nil, encoding = nil, **, &block) Nokogiri::HTML5::Document.parse(input, url, encoding, **, &block) end |
.install_default_aliases ⇒ Object
:nodoc:
96 97 98 99 |
# File 'lib/nokogiri.rb', line 96 def install_default_aliases warn("Nokogiri.install_default_aliases is deprecated and will be removed in a future version of Nokogiri. Please call Nokogiri::EncodingHandler.install_default_aliases instead.") Nokogiri::EncodingHandler.install_default_aliases end |
.jruby? ⇒ Boolean
:nodoc:
205 206 207 |
# File 'lib/nokogiri/version/info.rb', line 205 def self.jruby? VersionInfo.instance.jruby? end |
.libxml2_patches ⇒ Object
:nodoc:
210 211 212 213 214 215 216 |
# File 'lib/nokogiri/version/info.rb', line 210 def self.libxml2_patches if VersionInfo.instance.libxml2_using_packaged? Nokogiri::VERSION_INFO["libxml"]["patches"] else [] end end |
.make(input = nil, opts = {}, &blk) ⇒ Object
Create a new Nokogiri::XML::DocumentFragment
68 69 70 71 72 73 74 |
# File 'lib/nokogiri.rb', line 68 def make(input = nil, opts = {}, &blk) if input Nokogiri::HTML4.fragment(input).children.first else Nokogiri(&blk) end end |
.parse(string, url = nil, encoding = nil, options = nil) ⇒ Object
Parse an HTML or XML document. string
contains the document.
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/nokogiri.rb', line 42 def parse(string, url = nil, encoding = nil, = nil) if string.respond_to?(:read) || /^\s*<(?:!DOCTYPE\s+)?html[\s>]/i.match?(string[0, 512]) # Expect an HTML indicator to appear within the first 512 # characters of a document. (<?xml ?> + <?xml-stylesheet ?> # shouldn't be that long) Nokogiri.HTML4( string, url, encoding, || XML::ParseOptions::DEFAULT_HTML, ) else Nokogiri.XML( string, url, encoding, || XML::ParseOptions::DEFAULT_XML, ) end.tap do |doc| yield doc if block_given? end end |
.Slop(*args, &block) ⇒ Object
Parse a document and add the Slop decorator. The Slop decorator implements method_missing such that methods may be used instead of CSS or XPath. For example:
doc = Nokogiri::Slop(<<-eohtml)
<html>
<body>
<p>first</p>
<p>second</p>
</body>
</html>
eohtml
assert_equal('second', doc.html.body.p[1].text)
91 92 93 |
# File 'lib/nokogiri.rb', line 91 def Slop(*args, &block) Nokogiri(*args, &block).slop! end |
.uses_gumbo? ⇒ Boolean
:nodoc:
200 201 202 |
# File 'lib/nokogiri/version/info.rb', line 200 def self.uses_gumbo? uses_libxml? # TODO: replace with Gumbo functionality end |
.uses_libxml?(requirement = nil) ⇒ Boolean
:nodoc:
192 193 194 195 196 197 |
# File 'lib/nokogiri/version/info.rb', line 192 def self.uses_libxml?(requirement = nil) return false unless VersionInfo.instance.libxml2? return true unless requirement Gem::Requirement.new(requirement).satisfied_by?(VersionInfo.instance.loaded_libxml_version) end |
.XML(thing, url = nil, encoding = nil, options = XML::ParseOptions::DEFAULT_XML, &block) ⇒ Object
Parse XML. Convenience method for Nokogiri::XML::Document.parse
7 8 9 |
# File 'lib/nokogiri/xml.rb', line 7 def XML(thing, url = nil, encoding = nil, = XML::ParseOptions::DEFAULT_XML, &block) Nokogiri::XML::Document.parse(thing, url, encoding, , &block) end |