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.14.5"
- 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.noko2", "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:
88 89 90 91 |
# File 'lib/nokogiri.rb', line 88 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
60 61 62 63 64 65 66 |
# File 'lib/nokogiri.rb', line 60 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 |
# 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)
83 84 85 |
# File 'lib/nokogiri.rb', line 83 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 |