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/xml/sax.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/html5/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/css/selector_cache.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.8 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.19.4"- JAR_DEPENDENCIES =
generated by the :vendor_jars rake task
{ "isorelax:isorelax" => "20030108", "net.sf.saxon:Saxon-HE" => "12.7", "net.sourceforge.htmlunit:neko-htmlunit" => "2.63.0", "nu.validator:jing" => "20200702VNU", "org.nokogiri:nekodtd" => "0.1.11.noko2", "org.xmlresolver:xmlresolver" => "5.3.3", "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 ⇒ Object
Convenience method for Nokogiri::HTML4::Document.parse.
-
.HTML5 ⇒ Object
Convenience method for Nokogiri::HTML5::Document.parse.
-
.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 ⇒ Object
Convenience method for Nokogiri::XML::Document.parse.
-
.XSLT ⇒ Object
Convenience method for Nokogiri::XSLT.parse.
Class Method Details
.HTML4 ⇒ Object
Convenience method for Nokogiri::HTML4::Document.parse
7 8 9 |
# File 'lib/nokogiri/html4.rb', line 7 def HTML4(...) Nokogiri::HTML4::Document.parse(...) end |
.HTML5 ⇒ Object
Convenience method for Nokogiri::HTML5::Document.parse
28 29 30 |
# File 'lib/nokogiri/html5.rb', line 28 def self.HTML5(...) Nokogiri::HTML5::Document.parse(...) 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. Please call Nokogiri::EncodingHandler.install_default_aliases instead. This will become an error in Nokogiri v1.17.0.", uplevel: 1, category: :deprecated) # deprecated in v1.14.0, remove in v1.17.0 Nokogiri::EncodingHandler.install_default_aliases end |
.jruby? ⇒ Boolean
:nodoc:
216 217 218 |
# File 'lib/nokogiri/version/info.rb', line 216 def self.jruby? VersionInfo.instance.jruby? end |
.libxml2_patches ⇒ Object
:nodoc:
221 222 223 224 225 226 227 |
# File 'lib/nokogiri/version/info.rb', line 221 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:
211 212 213 |
# File 'lib/nokogiri/version/info.rb', line 211 def self.uses_gumbo? uses_libxml? # TODO: replace with Gumbo functionality end |
.uses_libxml?(requirement = nil) ⇒ Boolean
:nodoc:
203 204 205 206 207 208 |
# File 'lib/nokogiri/version/info.rb', line 203 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 |