public class Driver extends java.lang.Object implements EncodingDeclarationHandler
Modifier and Type | Class and Description |
---|---|
private class |
Driver.ReparseException |
Modifier and Type | Field and Description |
---|---|
private boolean |
allowRewinding |
private Encoding |
characterEncoding |
private CharacterHandler[] |
characterHandlers
Used for NFC checking if non-
null , source code capture,
etc. |
private Confidence |
confidence |
private Heuristics |
heuristics |
private java.io.Reader |
reader
The input UTF-16 code unit stream.
|
private RewindableInputStream |
rewindableInputStream
The reference to the rewindable byte stream.
|
private boolean |
swallowBom |
private Tokenizer |
tokenizer |
Modifier and Type | Method and Description |
---|---|
void |
addCharacterHandler(CharacterHandler characterHandler) |
private void |
becomeConfident() |
(package private) void |
dontSwallowBom() |
protected Encoding |
encodingFromExternalDeclaration(java.lang.String encoding)
Initializes a decoder from external decl.
|
java.lang.String |
getCharacterEncoding()
Queries the environment for the encoding in use (for error reporting).
|
org.xml.sax.Locator |
getDocumentLocator() |
boolean |
internalEncodingDeclaration(java.lang.String internalCharset)
Indicates that the parser has found an internal encoding declaration with
the charset value
charset . |
boolean |
isAllowRewinding()
Returns the allowRewinding.
|
boolean |
isCheckingNormalization()
Query if checking normalization.
|
(package private) void |
notifyAboutMetaBoundary() |
private void |
runStates() |
void |
setAllowRewinding(boolean allowRewinding)
Sets the allowRewinding.
|
void |
setCheckingNormalization(boolean enable)
Turns NFC checking on or off.
|
void |
setCommentPolicy(XmlViolationPolicy commentPolicy) |
void |
setContentNonXmlCharPolicy(XmlViolationPolicy contentNonXmlCharPolicy) |
void |
setContentSpacePolicy(XmlViolationPolicy contentSpacePolicy) |
void |
setEncoding(Encoding encoding,
Confidence confidence) |
void |
setErrorHandler(org.xml.sax.ErrorHandler eh) |
void |
setHeuristics(Heuristics heuristics)
Sets the encoding sniffing heuristics.
|
void |
setHtml4ModeCompatibleWithXhtml1Schemata(boolean html4ModeCompatibleWithXhtml1Schemata) |
void |
setMappingLangToXmlLang(boolean mappingLangToXmlLang) |
void |
setNamePolicy(XmlViolationPolicy namePolicy) |
void |
setTransitionHandler(TransitionHandler transitionHandler) |
void |
setXmlnsPolicy(XmlViolationPolicy xmlnsPolicy) |
void |
tokenize(org.xml.sax.InputSource is)
Runs the tokenization.
|
protected void |
warnWithoutLocation(java.lang.String message)
Reports a warning without line/col
|
protected Encoding |
whineAboutEncodingAndReturnActual(java.lang.String encoding,
Encoding cs) |
private java.io.Reader reader
HtmlInputStreamReader
.private RewindableInputStream rewindableInputStream
null
if p
rohibited or no longer needed.private boolean swallowBom
private Encoding characterEncoding
private boolean allowRewinding
private Heuristics heuristics
private final Tokenizer tokenizer
private Confidence confidence
private CharacterHandler[] characterHandlers
null
, source code capture,
etc.public Driver(Tokenizer tokenizer)
public boolean isAllowRewinding()
public void setAllowRewinding(boolean allowRewinding)
allowRewinding
- the allowRewinding to setpublic void setCheckingNormalization(boolean enable)
enable
- true
if checking onpublic void addCharacterHandler(CharacterHandler characterHandler)
public boolean isCheckingNormalization()
true
if checking onpublic void tokenize(org.xml.sax.InputSource is) throws org.xml.sax.SAXException, java.io.IOException
is
- the input sourceorg.xml.sax.SAXException
- on fatal error (if configured to treat XML violations as
fatal) or if the token handler threwjava.io.IOException
- if the stream threwvoid dontSwallowBom()
private void runStates() throws org.xml.sax.SAXException, java.io.IOException
org.xml.sax.SAXException
java.io.IOException
public void setEncoding(Encoding encoding, Confidence confidence)
public boolean internalEncodingDeclaration(java.lang.String internalCharset) throws org.xml.sax.SAXException
EncodingDeclarationHandler
charset
.internalEncodingDeclaration
in interface EncodingDeclarationHandler
internalCharset
- the charset name found.true
if the value of charset
was an
encoding name for a supported ASCII-superset encoding.org.xml.sax.SAXException
- if something went wrongprivate void becomeConfident()
public void setHeuristics(Heuristics heuristics)
heuristics
- the heuristics to setprotected void warnWithoutLocation(java.lang.String message) throws org.xml.sax.SAXException
message
- the messageorg.xml.sax.SAXException
protected Encoding encodingFromExternalDeclaration(java.lang.String encoding) throws org.xml.sax.SAXException
org.xml.sax.SAXException
protected Encoding whineAboutEncodingAndReturnActual(java.lang.String encoding, Encoding cs) throws org.xml.sax.SAXException
encoding
- cs
- org.xml.sax.SAXException
void notifyAboutMetaBoundary()
public void setCommentPolicy(XmlViolationPolicy commentPolicy)
commentPolicy
- Tokenizer.setCommentPolicy(nu.validator.htmlparser.common.XmlViolationPolicy)
public void setContentNonXmlCharPolicy(XmlViolationPolicy contentNonXmlCharPolicy)
contentNonXmlCharPolicy
- Tokenizer.setContentNonXmlCharPolicy(nu.validator.htmlparser.common.XmlViolationPolicy)
public void setContentSpacePolicy(XmlViolationPolicy contentSpacePolicy)
contentSpacePolicy
- Tokenizer.setContentSpacePolicy(nu.validator.htmlparser.common.XmlViolationPolicy)
public void setErrorHandler(org.xml.sax.ErrorHandler eh)
eh
- Tokenizer.setErrorHandler(org.xml.sax.ErrorHandler)
public void setTransitionHandler(TransitionHandler transitionHandler)
public void setHtml4ModeCompatibleWithXhtml1Schemata(boolean html4ModeCompatibleWithXhtml1Schemata)
html4ModeCompatibleWithXhtml1Schemata
- Tokenizer.setHtml4ModeCompatibleWithXhtml1Schemata(boolean)
public void setMappingLangToXmlLang(boolean mappingLangToXmlLang)
mappingLangToXmlLang
- Tokenizer.setMappingLangToXmlLang(boolean)
public void setNamePolicy(XmlViolationPolicy namePolicy)
namePolicy
- Tokenizer.setNamePolicy(nu.validator.htmlparser.common.XmlViolationPolicy)
public void setXmlnsPolicy(XmlViolationPolicy xmlnsPolicy)
xmlnsPolicy
- Tokenizer.setXmlnsPolicy(nu.validator.htmlparser.common.XmlViolationPolicy)
public java.lang.String getCharacterEncoding() throws org.xml.sax.SAXException
EncodingDeclarationHandler
getCharacterEncoding
in interface EncodingDeclarationHandler
org.xml.sax.SAXException
- if something went wrongpublic org.xml.sax.Locator getDocumentLocator()