class Nokogiri::XML::ParseOptions
Parse options for passing to Nokogiri.XML or Nokogiri.HTML
Building combinations of parse options
You can build your own combinations of these parse options by using any of the following methods: Note: All examples attempt to set the RECOVER & NOENT options. All examples use Ruby 2 optional parameter syntax.
- Ruby's bitwise operators
-
You can use the Ruby bitwise operators to set various combinations.
Nokogiri.XML('<content>Chapter 1</content', options: Nokogiri::XML::ParseOptions.new((1 << 0) | (1 << 1)))
- Method chaining
-
Every option has an equivalent method in lowercase. You can chain these methods together to set various combinations.
Nokogiri.XML('<content>Chapter 1</content', options: Nokogiri::XML::ParseOptions.new.recover.noent)
- Using Ruby Blocks
-
You can also setup parse combinations in the block passed to
Nokogiri.XML orNokogiri.HTML
Nokogiri.XML('<content>Chapter 1</content') {|config| config.recover.noent}
Removing particular parse options
You can also remove options from an instance of ParseOptions dynamically. Every option has an equivalent no{option} method in lowercase. You can call these methods on an instance of ParseOptions to remove the option. Note that this is not available for STRICT.
# Setting the RECOVER & NOENT options... options = Nokogiri::XML::ParseOptions.new.recover.noent # later... options.norecover # Removes the Nokogiri::XML::ParseOptions::RECOVER option options.nonoent # Removes the Nokogiri::XML::ParseOptions::NOENT option
Constants
- COMPACT
-
compact small text nodes; no modification of the tree allowed afterwards (will possibly crash if you try to modify the tree)
- DEFAULT_HTML
-
the default options used for parsing
HTMLdocuments - DEFAULT_XML
-
the default options used for parsing
XMLdocuments - DTDATTR
-
Default
DTDattributes - DTDLOAD
-
Load external subsets
- DTDVALID
-
validate with the
DTD - HUGE
-
relax any hardcoded limit from the parser
- NOBASEFIX
-
do not fixup
XINCLUDExml:base uris - NOBLANKS
-
remove blank nodes
- NOCDATA
-
merge
CDATAas text nodes - NODICT
-
Do not reuse the context dictionary
- NOENT
-
Substitute entities
- NOERROR
-
suppress error reports
- NONET
-
Forbid network access. Recommended for dealing with untrusted documents.
- NOWARNING
-
suppress warning reports
- NOXINCNODE
-
do not generate
XINCLUDESTART/END nodes - NSCLEAN
-
remove redundant namespaces declarations
- OLD10
-
parse using XML-1.0 before update 5
- PEDANTIC
-
pedantic error reporting
- RECOVER
-
Recover from errors
- SAX1
-
use the
SAX1interface internally - STRICT
-
Strict parsing
- XINCLUDE
-
Implement XInclude substitution
Attributes
Public Class Methods
# File lib/nokogiri/xml/parse_options.rb, line 77 def initialize options = STRICT @options = options end
Public Instance Methods
# File lib/nokogiri/xml/parse_options.rb, line 111
def inspect
options = []
self.class.constants.each do |k|
options << k.downcase if send(:"#{k.downcase}?")
end
super.sub(/>$/, " " + options.join(', ') + ">")
end # File lib/nokogiri/xml/parse_options.rb, line 100 def strict @options &= ~RECOVER self end
# File lib/nokogiri/xml/parse_options.rb, line 105 def strict? @options & RECOVER == STRICT end
© 2008–2018 Aaron Patterson, Mike Dalessio, Charles Nutter, Sergio Arbeo,
Patrick Mahoney, Yoko Harada, Akinori MUSHA, John Shahid, Lars Kanis
Licensed under the MIT License.