com.ctc.wstx.dtd
Class DTDSubset

java.lang.Object
  extended by com.ctc.wstx.dtd.DTDSubset
All Implemented Interfaces:
DTDValidationSchema, XMLValidationSchema
Direct Known Subclasses:
DTDSubsetImpl

public abstract class DTDSubset
extends java.lang.Object
implements DTDValidationSchema

This is the abstract base class that implements the standard Stax2 validation schema base class (XMLValidationSchema, as well as specifies extended Woodstox-specific interface for accessing DTD-specific things like entity expansions and notation properties.

API is separated from its implementation to reduce coupling; for example, it is possible to have DTD subset implementations that do not implement validation logics, just entity expansion.


Field Summary
 
Fields inherited from interface org.codehaus.stax2.validation.XMLValidationSchema
SCHEMA_ID_DTD, SCHEMA_ID_RELAXNG, SCHEMA_ID_TREX, SCHEMA_ID_W3C_SCHEMA
 
Constructor Summary
protected DTDSubset()
           
 
Method Summary
abstract  DTDSubset combineWithExternalSubset(InputProblemReporter rep, DTDSubset extSubset)
          Method that will combine definitions from this internal subset with definitions from passed-in external subset, producing a new combined DTDSubset instance.
abstract  XMLValidator createValidator(ValidationContext ctxt)
           
abstract  java.util.HashMap getElementMap()
           
abstract  int getEntityCount()
           
abstract  java.util.List getGeneralEntityList()
           
abstract  java.util.HashMap getGeneralEntityMap()
           
abstract  int getNotationCount()
           
abstract  java.util.List getNotationList()
           
abstract  java.util.HashMap getNotationMap()
           
abstract  java.util.HashMap getParameterEntityMap()
           
 java.lang.String getSchemaType()
          Returns type of this schema.
abstract  boolean isCachable()
           
abstract  boolean isReusableWith(DTDSubset intSubset)
          Method used in determining whether cached external subset instance can be used with specified internal subset.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DTDSubset

protected DTDSubset()
Method Detail

combineWithExternalSubset

public abstract DTDSubset combineWithExternalSubset(InputProblemReporter rep,
                                                    DTDSubset extSubset)
                                             throws WstxException
Method that will combine definitions from this internal subset with definitions from passed-in external subset, producing a new combined DTDSubset instance.

Throws:
WstxException

createValidator

public abstract XMLValidator createValidator(ValidationContext ctxt)
                                      throws javax.xml.stream.XMLStreamException
Specified by:
createValidator in interface XMLValidationSchema
Throws:
javax.xml.stream.XMLStreamException

getSchemaType

public java.lang.String getSchemaType()
Description copied from interface: XMLValidationSchema
Returns type of this schema.

Specified by:
getSchemaType in interface XMLValidationSchema
Returns:
One of external schema identifier values (such as XMLValidationSchema.SCHEMA_ID_DTD).

getEntityCount

public abstract int getEntityCount()
Specified by:
getEntityCount in interface DTDValidationSchema
Returns:
Number of general (non-parameter) entities (of all types) declared in this DTD schema (in subsets [internal, external] included)

getNotationCount

public abstract int getNotationCount()
Specified by:
getNotationCount in interface DTDValidationSchema
Returns:
Number of notations declared in this DTD schema (in subsets [internal, external] included)

isCachable

public abstract boolean isCachable()

isReusableWith

public abstract boolean isReusableWith(DTDSubset intSubset)
Method used in determining whether cached external subset instance can be used with specified internal subset. If ext. subset references any parameter entities int subset (re-)defines, it can not; otherwise it can be used.

Returns:
True if this (external) subset refers to a parameter entity defined in passed-in internal subset.

getGeneralEntityMap

public abstract java.util.HashMap getGeneralEntityMap()

getGeneralEntityList

public abstract java.util.List getGeneralEntityList()

getParameterEntityMap

public abstract java.util.HashMap getParameterEntityMap()

getNotationMap

public abstract java.util.HashMap getNotationMap()

getNotationList

public abstract java.util.List getNotationList()

getElementMap

public abstract java.util.HashMap getElementMap()