|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.ctc.wstx.io.WstxInputData
com.ctc.wstx.sr.StreamScanner
com.ctc.wstx.sr.BasicStreamReader
com.ctc.wstx.sr.TypedStreamReader
com.ctc.wstx.sr.ValidatingStreamReader
public class ValidatingStreamReader
Implementation of XMLStreamReader2
that builds on TypedStreamReader and adds full DTD-handling
including DTD validation
| Field Summary | |
|---|---|
protected ValidationProblemHandler |
mVldProbHandler
Custom validation problem handler, if any. |
| Fields inherited from class com.ctc.wstx.sr.TypedStreamReader |
|---|
_base64Decoder, _decoderFactory, MASK_TYPED_ACCESS_ARRAY, MASK_TYPED_ACCESS_BINARY |
| Fields inherited from class com.ctc.wstx.sr.StreamScanner |
|---|
CHAR_CR_LF_OR_NULL, CHAR_FIRST_PURE_TEXT, CHAR_LOWEST_LEGAL_LOCALNAME_CHAR, INT_CR_LF_OR_NULL, mCachedEntities, mCfgNsEnabled, mCfgReplaceEntities, mCfgTreatCharRefsAsEntities, mConfig, mCurrDepth, mCurrEntity, mCurrName, mDocXmlVersion, mInput, mInputTopDepth, mNameBuffer, mNormalizeLFs, mRootInput, mTokenInputCol, mTokenInputRow, mTokenInputTotal |
| Fields inherited from class com.ctc.wstx.io.WstxInputData |
|---|
CHAR_NULL, CHAR_SPACE, INT_NULL, INT_SPACE, MAX_UNICODE_CHAR, mCurrInputProcessed, mCurrInputRow, mCurrInputRowStart, mInputBuffer, mInputEnd, mInputPtr, mXml11 |
| Fields inherited from interface org.codehaus.stax2.XMLStreamReader2 |
|---|
FEATURE_DTD_OVERRIDE |
| Fields inherited from interface javax.xml.stream.XMLStreamConstants |
|---|
ATTRIBUTE, CDATA, CHARACTERS, COMMENT, DTD, END_DOCUMENT, END_ELEMENT, ENTITY_DECLARATION, ENTITY_REFERENCE, NAMESPACE, NOTATION_DECLARATION, PROCESSING_INSTRUCTION, SPACE, START_DOCUMENT, START_ELEMENT |
| Method Summary | |
|---|---|
protected DTDId |
constructDtdId(String pubId,
String sysId)
|
protected DTDId |
constructDtdId(URI sysId)
|
static ValidatingStreamReader |
createValidatingStreamReader(BranchingReaderSource input,
ReaderCreator owner,
ReaderConfig cfg,
InputBootstrapper bs,
boolean forER)
Factory method for constructing readers. |
protected void |
finishDTD(boolean copyContents)
This method gets called to handle remainder of DOCTYPE declaration, essentially the optional internal subset. |
Object |
getProcessedDTD()
Note: DTD-handling sub-classes need to override this method. |
DTDValidationSchema |
getProcessedDTDSchema()
Sub-class will override this method |
Object |
getProperty(String name)
|
protected void |
initValidation()
Method called right before handling the root element, by the base class. |
protected void |
reportInvalidContent(int evtType)
Method called by lower-level parsing code when invalid content (anything inside element with 'empty' content spec; text inside non-mixed element etc) is found during basic scanning. |
void |
reportValidationProblem(XMLValidationProblem prob)
If there is an error handler established, call it. |
void |
setFeature(String name,
Object value)
Method that can be used to set per-reader features such as configuration settings; both generic ones (names for which are defined as constants in this class), and implementation dependant ones. |
ValidationProblemHandler |
setValidationProblemHandler(ValidationProblemHandler h)
Method that application can call to define a custom handler for validation problems encountered during validation process. |
XMLValidator |
stopValidatingAgainst(XMLValidationSchema schema)
Method that can be called by application to stop validating output against a schema, for which Validatable.validateAgainst(org.codehaus.stax2.validation.XMLValidationSchema)
was called earlier. |
XMLValidator |
stopValidatingAgainst(XMLValidator validator)
Method that can be called by application to stop validating output using specified validator. |
XMLValidator |
validateAgainst(XMLValidationSchema schema)
Method that will construct a XMLValidator instance from the
given schema (unless a validator for that schema has already been
added),
initialize it if necessary, and make validatable object (reader,
writer)
call appropriate validation methods from this point on until the
end of the document (that is, it's not scoped with sub-trees), or until
validator is removed by an explicit call to
Validatable.stopValidatingAgainst(org.codehaus.stax2.validation.XMLValidationSchema). |
| Methods inherited from class com.ctc.wstx.io.WstxInputData |
|---|
copyBufferStateFrom, findIllegalNameChar, findIllegalNmtokenChar, getCharDesc, isNameChar, isNameChar, isNameStartChar, isNameStartChar, isSpaceChar |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.codehaus.stax2.LocationInfo |
|---|
getCurrentLocation, getStartLocation |
| Field Detail |
|---|
protected ValidationProblemHandler mVldProbHandler
| Method Detail |
|---|
public static ValidatingStreamReader createValidatingStreamReader(BranchingReaderSource input,
ReaderCreator owner,
ReaderConfig cfg,
InputBootstrapper bs,
boolean forER)
throws XMLStreamException
owner - "Owner" of this reader, factory that created the reader;
needed for returning updated symbol table information after parsing.input - Input source used to read the XML document.cfg - Object that contains reader configuration info.bs - Bootstrapper to use, for reading xml declaration etc.forER - True if this reader is to be (configured to be) used by
an event reader. Will cause some changes to default settings, as
required by contracts Woodstox XMLEventReader implementation has
(with respect to lazy parsing, short text segments etc)
XMLStreamExceptionpublic Object getProperty(String name)
getProperty in interface XMLStreamReadergetProperty in class BasicStreamReader
public void setFeature(String name,
Object value)
XMLStreamReader2
Note: although some feature names are shared with
XMLStreamReader2.getFeature(java.lang.String), not all are: some features are read-only,
some write-only
setFeature in interface XMLStreamReader2setFeature in class BasicStreamReadername - Name of the feature to setvalue - Value to set feature to.public Object getProcessedDTD()
BasicStreamReaderNote: DTD-handling sub-classes need to override this method.
getProcessedDTD in interface DTDInfogetProcessedDTD in class BasicStreamReaderpublic DTDValidationSchema getProcessedDTDSchema()
BasicStreamReader
getProcessedDTDSchema in interface DTDInfogetProcessedDTDSchema in class BasicStreamReader
public XMLValidator validateAgainst(XMLValidationSchema schema)
throws XMLStreamException
ValidatableXMLValidator instance from the
given schema (unless a validator for that schema has already been
added),
initialize it if necessary, and make validatable object (reader,
writer)
call appropriate validation methods from this point on until the
end of the document (that is, it's not scoped with sub-trees), or until
validator is removed by an explicit call to
Validatable.stopValidatingAgainst(org.codehaus.stax2.validation.XMLValidationSchema).
Note that while this method can be called at any point in output processing, validator instances are not required to be able to handle addition at other points than right before outputting the root element.
validateAgainst in interface ValidatablevalidateAgainst in class BasicStreamReaderXMLStreamException
public XMLValidator stopValidatingAgainst(XMLValidationSchema schema)
throws XMLStreamException
ValidatableValidatable.validateAgainst(org.codehaus.stax2.validation.XMLValidationSchema)
was called earlier.
stopValidatingAgainst in interface ValidatablestopValidatingAgainst in class BasicStreamReaderXMLStreamException
public XMLValidator stopValidatingAgainst(XMLValidator validator)
throws XMLStreamException
ValidatableValidatable.validateAgainst(org.codehaus.stax2.validation.XMLValidationSchema).
Note: the specified validator is compared for identity with validators in use, not for equality.
stopValidatingAgainst in interface ValidatablestopValidatingAgainst in class BasicStreamReadervalidator)
if it was being used for validating current document; null if not.
XMLStreamExceptionpublic ValidationProblemHandler setValidationProblemHandler(ValidationProblemHandler h)
Validatable
setValidationProblemHandler in interface ValidatablesetValidationProblemHandler in class BasicStreamReaderh - Handler to install, if non null; if null, indicates that
the default (implementation-specific) handling should be used
protected void finishDTD(boolean copyContents)
throws XMLStreamException
NOTE: Since this method overrides the default implementation, make sure you do NOT change the method signature.
finishDTD in class BasicStreamReadercopyContents - If true, will copy contents of the internal
subset of DOCTYPE declaration
in the text buffer (in addition to parsing it for actual use); if
false, will only do parsing.
XMLStreamException
public void reportValidationProblem(XMLValidationProblem prob)
throws XMLStreamException
reportValidationProblem in interface InputProblemReporterreportValidationProblem in class StreamScannerXMLStreamException
protected void initValidation()
throws XMLStreamException
initValidation in class BasicStreamReaderXMLStreamException
protected DTDId constructDtdId(String pubId,
String sysId)
throws IOException
IOException
protected DTDId constructDtdId(URI sysId)
throws IOException
IOException
protected void reportInvalidContent(int evtType)
throws XMLStreamException
reportInvalidContent in class BasicStreamReaderXMLStreamException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||