public class Validator
extends org.xml.sax.helpers.DefaultHandler
new Validator(readerForXML);
new Validator(readerForXML, systemIdForValidation);
new Validator(readerForXML, systemIdForValidation, doctypeName);
Modifier and Type | Field and Description |
---|---|
private java.lang.Boolean |
isValid |
private java.lang.StringBuilder |
messages |
private java.lang.Object |
schemaSource |
private java.lang.String |
systemId |
private boolean |
useSchema |
private boolean |
usingDoctypeReader |
private org.xml.sax.InputSource |
validationInputSource |
Modifier | Constructor and Description |
---|---|
|
Validator(org.w3c.dom.Document document,
java.lang.String systemID,
java.lang.String doctype)
DOM-style constructor: allows Document validation post-manipulation
of the DOM tree's contents.
|
|
Validator(org.xml.sax.InputSource sourceForValidation)
Basic constructor.
|
|
Validator(org.xml.sax.InputSource sourceForValidation,
java.lang.String systemID)
Extended constructor.
|
protected |
Validator(org.xml.sax.InputSource inputSource,
java.lang.String systemId,
boolean usingDoctypeReader)
Baseline constructor: called by all others
|
|
Validator(org.xml.sax.InputSource sourceForValidation,
java.lang.String systemID,
java.lang.String doctype)
Full constructor.
|
|
Validator(java.io.Reader readerForValidation)
Basic constructor.
|
|
Validator(java.io.Reader readerForValidation,
java.lang.String systemID)
Extended constructor.
|
|
Validator(java.io.Reader readerForValidation,
java.lang.String systemID,
java.lang.String doctype)
Full constructor.
|
|
Validator(java.lang.String stringForValidation)
Basic constructor.
|
|
Validator(java.lang.String stringForValidation,
java.lang.String systemID)
Extended constructor.
|
Modifier and Type | Method and Description |
---|---|
private static void |
addSchemaSources(java.lang.Object schemaSources,
java.util.List<javax.xml.transform.Source> targetList) |
private java.lang.StringBuilder |
appendMessage(java.lang.StringBuilder toAppendTo)
Append any validation message(s) to the specified StringBuffer.
|
void |
assertIsValid()
Assert that a document is valid.
|
private static java.lang.String |
getOriginalContent(org.xml.sax.InputSource s) |
private void |
invalidate(java.lang.String message)
Set the validation status flag to false and capture the message for use
later.
|
boolean |
isValid()
Perform the validation of the source against DTD / Schema.
|
void |
setJAXP12SchemaSource(java.lang.Object schemaSource)
As per JAXP 1.2 changes, which introduced a standard way for parsers to
support schema validation.
|
java.lang.String |
toString() |
void |
useXMLSchema(boolean use)
Turn on XML Schema validation.
|
private void |
validate()
Actually perform validation.
|
private void |
validationProblem(ValidationProblem p) |
characters, endDocument, endElement, endPrefixMapping, error, fatalError, ignorableWhitespace, notationDecl, processingInstruction, resolveEntity, setDocumentLocator, skippedEntity, startDocument, startElement, startPrefixMapping, unparsedEntityDecl, warning
private final org.xml.sax.InputSource validationInputSource
private final java.lang.StringBuilder messages
private final boolean usingDoctypeReader
private final java.lang.String systemId
private java.lang.Object schemaSource
private boolean useSchema
private java.lang.Boolean isValid
protected Validator(org.xml.sax.InputSource inputSource, java.lang.String systemId, boolean usingDoctypeReader)
inputSource
- systemId
- usingDoctypeReader
- public Validator(org.w3c.dom.Document document, java.lang.String systemID, java.lang.String doctype)
document
- systemID
- doctype
- public Validator(java.io.Reader readerForValidation)
readerForValidation
- public Validator(java.lang.String stringForValidation)
stringForValidation
- public Validator(org.xml.sax.InputSource sourceForValidation)
sourceForValidation
- public Validator(java.io.Reader readerForValidation, java.lang.String systemID)
readerForValidation
- systemID
- public Validator(java.lang.String stringForValidation, java.lang.String systemID)
stringForValidation
- systemID
- public Validator(org.xml.sax.InputSource sourceForValidation, java.lang.String systemID)
sourceForValidation
- systemID
- public Validator(org.xml.sax.InputSource sourceForValidation, java.lang.String systemID, java.lang.String doctype)
sourceForValidation
- systemID
- doctype
- public Validator(java.io.Reader readerForValidation, java.lang.String systemID, java.lang.String doctype)
readerForValidation
- systemID
- doctype
- public void useXMLSchema(boolean use)
This feature should work with any XML parser that is JAXP 1.2 compliant and supports XML Schema validation.
For a fully JAXP 1.2 compliant parser the property http://java.sun.com/xml/jaxp/properties/schemaLanguage
is set,
if this fails the method falls back to the features
http://apache.org/xml/features/validation/schema &
http://apache.org/xml/features/validation/dynamic which should
cover early versions of Xerces 2 as well.
use
- indicate that XML Schema should be used to validate
documents.setJAXP12SchemaSource(Object)
public boolean isValid()
public void assertIsValid()
private java.lang.StringBuilder appendMessage(java.lang.StringBuilder toAppendTo)
toAppendTo
- public java.lang.String toString()
toString
in class java.lang.Object
private void validate()
private void validationProblem(ValidationProblem p)
private void invalidate(java.lang.String message)
message
- public void setJAXP12SchemaSource(java.lang.Object schemaSource)
schemaSource
- This can be one of the following:
private static void addSchemaSources(java.lang.Object schemaSources, java.util.List<javax.xml.transform.Source> targetList)
private static java.lang.String getOriginalContent(org.xml.sax.InputSource s) throws java.io.IOException
java.io.IOException