|
|||||||||
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.ValidatingStreamReader
public class ValidatingStreamReader
Implementation of XMLStreamReader
that builds on
BasicStreamReader
, but 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.StreamScanner |
---|
CHAR_CR_LF_OR_NULL, CHAR_FIRST_PURE_TEXT, CHAR_LOWEST_LEGAL_LOCALNAME_CHAR, INT_CR_LF_OR_NULL, mCfgNormalizeLFs, mCfgNsEnabled, mCfgReplaceEntities, mConfig, mCurrDepth, mCurrName, mDocXmlVersion, mInput, mInputTopDepth, mNameBuffer, mRootInput, mTokenInputCol, mTokenInputRow, mTokenInputTotal, SAX_COMPAT_MODE |
Fields inherited from class com.ctc.wstx.io.WstxInputData |
---|
CHAR_NULL, CHAR_SPACE, INT_NULL, INT_SPACE, MAX_UNICODE_CHAR, mCurrInputProcessed, mCurrInputRow, mCurrInputRowStart, mInputBuffer, mInputLen, 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(java.lang.String pubId,
java.lang.String sysId)
|
protected DTDId |
constructDtdId(java.net.URL 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. |
java.lang.Object |
getProcessedDTD()
Note: DTD-handling sub-classes need to override this method. |
DTDValidationSchema |
getProcessedDTDSchema()
Sub-class will override this method |
java.lang.Object |
getProperty(java.lang.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 |
setFeature(java.lang.String name,
java.lang.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 java.io.IOException, javax.xml.stream.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)
java.io.IOException
javax.xml.stream.XMLStreamException
public java.lang.Object getProperty(java.lang.String name)
getProperty
in interface javax.xml.stream.XMLStreamReader
getProperty
in class BasicStreamReader
public void setFeature(java.lang.String name, java.lang.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 XMLStreamReader2
setFeature
in class BasicStreamReader
name
- Name of the feature to setvalue
- Value to set feature to.public java.lang.Object getProcessedDTD()
BasicStreamReader
Note: DTD-handling sub-classes need to override this method.
getProcessedDTD
in interface DTDInfo
getProcessedDTD
in class BasicStreamReader
public DTDValidationSchema getProcessedDTDSchema()
BasicStreamReader
getProcessedDTDSchema
in interface DTDInfo
getProcessedDTDSchema
in class BasicStreamReader
public XMLValidator validateAgainst(XMLValidationSchema schema) throws javax.xml.stream.XMLStreamException
Validatable
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)
.
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 Validatable
validateAgainst
in class BasicStreamReader
javax.xml.stream.XMLStreamException
public XMLValidator stopValidatingAgainst(XMLValidationSchema schema) throws javax.xml.stream.XMLStreamException
Validatable
Validatable.validateAgainst(org.codehaus.stax2.validation.XMLValidationSchema)
was called earlier.
stopValidatingAgainst
in interface Validatable
stopValidatingAgainst
in class BasicStreamReader
javax.xml.stream.XMLStreamException
public XMLValidator stopValidatingAgainst(XMLValidator validator) throws javax.xml.stream.XMLStreamException
Validatable
Validatable.validateAgainst(org.codehaus.stax2.validation.XMLValidationSchema)
.
Note: the specified validator is compared for identity with validators in use, not for equality.
stopValidatingAgainst
in interface Validatable
stopValidatingAgainst
in class BasicStreamReader
validator
)
if it was being used for validating current document; null if not.
javax.xml.stream.XMLStreamException
public ValidationProblemHandler setValidationProblemHandler(ValidationProblemHandler h)
Validatable
setValidationProblemHandler
in interface Validatable
setValidationProblemHandler
in class BasicStreamReader
h
- Handler to install, if non null; if null, indicates that
the default (implementation-specific) handling should be used
protected void finishDTD(boolean copyContents) throws java.io.IOException, javax.xml.stream.XMLStreamException
NOTE: Since this method overrides the default implementation, make sure you do NOT change the method signature.
finishDTD
in class BasicStreamReader
copyContents
- 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.
java.io.IOException
javax.xml.stream.XMLStreamException
protected void initValidation() throws javax.xml.stream.XMLStreamException
initValidation
in class BasicStreamReader
javax.xml.stream.XMLStreamException
protected DTDId constructDtdId(java.lang.String pubId, java.lang.String sysId) throws java.io.IOException
java.io.IOException
protected DTDId constructDtdId(java.net.URL sysId) throws java.io.IOException
java.io.IOException
protected void reportInvalidContent(int evtType) throws javax.xml.stream.XMLStreamException
reportInvalidContent
in class BasicStreamReader
javax.xml.stream.XMLStreamException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |