org.xbis
Class XBISToSAXAdapter

java.lang.Object
  extended byorg.xbis.XBISReader
      extended byorg.xbis.XBISToSAXAdapter
All Implemented Interfaces:
XBISConstants, org.xml.sax.XMLReader

public class XBISToSAXAdapter
extends XBISReader
implements org.xml.sax.XMLReader

XML Binary Information Set input adapter for SAX2. This reads the XBIS representation of a document and generates a SAX2 event stream as output. It only supports operation with namespaces enabled. It really shouldn't need to support reporting qualified (with namespace prefix) versions of names, since this is an optional SAX2 feature, but does support this so that it can be used as a source for XSLT transformations in JAXP (the JAXP code included in JDK 1.4.1 sets this feature and assumes it'll be accepted, silently dropping any exceptions in the process - somebody should do a proper QA check on this garbage code being shipped as part of the core Java libraries).

Version:
0.8
Author:
Dennis M. Sosnoski

Nested Class Summary
 
Nested classes inherited from class org.xbis.XBISReader
XBISReader.CharBlock
 
Field Summary
 
Fields inherited from class org.xbis.XBISReader
DEFAULT_BUFFER_SIZE, INITIAL_HANDLE_SIZE, INITIAL_STRING_SIZE, m_attrValueCount, m_attrValueTable, SHORT_STRING_LIMIT
 
Fields inherited from interface org.xbis.XBISConstants
ATTRIBUTE_HANDLE_MASK, ATTRIBUTE_NEWREF_FLAG, ATTRIBUTE_NOTEND_FLAG, ATTRIBUTE_VALUEREF_FLAG, DOM_SOURCE_ID, DOM4J_SOURCE_ID, ELEMENT_HANDLE_MASK, ELEMENT_HASATTRIBUTES_FLAG, ELEMENT_HASCHILDREN_FLAG, HEADER_VERSION_ID, JDOM_SOURCE_ID, NAME_LENGTH_MASK, NAME_NS_MASK, NAME_NS_SHIFT, NAMESPACEDECL_HANDLE_MASK, NO_NAMESPACE, NODE_ELEMENT_FLAG, NODE_NAMESPACEDECL_FLAG, NODE_PLAINTEXT_FLAG, NODE_TEXTREF_FLAG, NODE_TYPE_ATTRIBUTEDECL, NODE_TYPE_CDATA, NODE_TYPE_COMMENT, NODE_TYPE_DOCTYPE, NODE_TYPE_DOCUMENT, NODE_TYPE_ELEMENTDECL, NODE_TYPE_END, NODE_TYPE_EXTERNALENTITYDECL, NODE_TYPE_MASK, NODE_TYPE_NOTATION, NODE_TYPE_PI, NODE_TYPE_SKIPPEDENTITY, NODE_TYPE_UNPARSEDENTITY, NS_HANDLE_NONE, NS_HANDLE_XML, NSDEF_PRELENGTH_MASK, NSDEF_URIHANDLE_MASK, NSDEF_URIHANDLE_SHIFT, PLAINTEXT_LENGTH_MASK, SAX2_SOURCE_ID, TEXTREF_HANDLE_MASK, XML_NAMESPACE
 
Constructor Summary
XBISToSAXAdapter()
          Constructor.
 
Method Summary
protected  java.lang.Object buildName(java.lang.Object ns, java.lang.String local)
          Build name instance.
protected  java.lang.Object buildNamespace(java.lang.String prefix, java.lang.String uri)
          Build namespace instance.
protected  void declareNamespace(java.lang.Object obj)
          Declare namespace.
 org.xml.sax.ContentHandler getContentHandler()
           
 org.xml.sax.DTDHandler getDTDHandler()
           
 org.xml.sax.EntityResolver getEntityResolver()
           
 org.xml.sax.ErrorHandler getErrorHandler()
           
 boolean getFeature(java.lang.String name)
           
 java.lang.Object getProperty(java.lang.String name)
           
protected  void initState()
          Initialize state information used during the serialization process.
 void parse(org.xml.sax.InputSource input)
           
 void parse(java.lang.String systemId)
           
protected  void readChildren()
          Read children of node from stream.
 void readDocument()
          Read document from stream.
protected  void reportAttributeDecl(java.lang.String ename, java.lang.String aname, java.lang.String type, java.lang.String deftype, java.lang.String dflt)
          Report attribute declaration information.
protected  void reportCDATA(char[] ch, int start, int length)
          Report CDATA section.
protected  void reportComment(char[] ch, int start, int length)
          Report comment.
protected  void reportDocType(java.lang.String name, java.lang.String pubid, java.lang.String sysid)
          Report document type information.
protected  void reportElement(int initial)
          Report element to handler.
protected  void reportElementDecl(java.lang.String name, java.lang.String model)
          Report element declaration information.
protected  void reportExternalEntityDecl(java.lang.String name, java.lang.String pubid, java.lang.String sysid)
          Report external entity declaration information.
protected  void reportNotation(java.lang.String name, java.lang.String pubid, java.lang.String sysid)
          Report notation information.
protected  void reportProcessingInstruction(java.lang.String target, java.lang.String data)
          Report processing instruction.
protected  void reportSkippedEntity(java.lang.String name)
          Report skipped entity information.
protected  void reportText(char[] ch, int start, int length)
          Report character data.
 void reportUnparsedEntity(java.lang.String name, java.lang.String pubid, java.lang.String sysid, java.lang.String notation)
          Report unparsed entity information.
 void reset()
          Reset state for processing new document.
 void setContentHandler(org.xml.sax.ContentHandler handler)
           
 void setDTDHandler(org.xml.sax.DTDHandler handler)
           
 void setEntityResolver(org.xml.sax.EntityResolver resolver)
           
 void setErrorHandler(org.xml.sax.ErrorHandler handler)
           
 void setFeature(java.lang.String name, boolean value)
           
 void setProperty(java.lang.String name, java.lang.Object value)
           
 
Methods inherited from class org.xbis.XBISReader
activateNamespace, addNamespace, addNamespaceURI, clearArray, clearReset, doubleArray, doubleArray, doubleArray, getBytesRemaining, isEnd, isReset, readByte, readChars, readCharsDef, readNamespaceDecl, readNamespaceDef, readNamespaceRef, readPlainText, readQuickAttribute, readQuickElement, readQuickValue, readString, readStringChars, readStringData, readStringDef, readTextChars, readValue, setStream, undeclareNamespace
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XBISToSAXAdapter

public XBISToSAXAdapter()
Constructor.

Method Detail

initState

protected void initState()
Initialize state information used during the serialization process. This implementation of the abstract base class method is specific to SAX.

Specified by:
initState in class XBISReader

buildNamespace

protected java.lang.Object buildNamespace(java.lang.String prefix,
                                          java.lang.String uri)
Build namespace instance. This implementation of the abstract base class method is specific to SAX.

Specified by:
buildNamespace in class XBISReader
Parameters:
prefix - namespace prefix
uri - namespace URI
Returns:
constructed namespace object

declareNamespace

protected void declareNamespace(java.lang.Object obj)
                         throws XBISException
Declare namespace. This implementation of the abstract base class method is specific to SAX.

Overrides:
declareNamespace in class XBISReader
Parameters:
obj - namespace object
Throws:
XBISException - on error in processing XML data

buildName

protected java.lang.Object buildName(java.lang.Object ns,
                                     java.lang.String local)
Build name instance. This implementation of the abstract base class method is specific to SAX.

Specified by:
buildName in class XBISReader
Parameters:
ns - namespace for name
local - local name
Returns:
constructed name object

reportElement

protected void reportElement(int initial)
                      throws java.io.IOException,
                             XBISException
Report element to handler.

Parameters:
initial - node information byte for element
Throws:
java.io.IOException - on error reading from stream
XBISException - on error in processing XML data

reportText

protected void reportText(char[] ch,
                          int start,
                          int length)
                   throws XBISException
Report character data.

Parameters:
ch - array supplying character data
start - starting offset in array
length - number of characters
Throws:
XBISException - on processing error

reportCDATA

protected void reportCDATA(char[] ch,
                           int start,
                           int length)
                    throws XBISException
Report CDATA section.

Parameters:
ch - array supplying character data
start - starting offset in array
length - number of characters
Throws:
XBISException - on processing error

reportProcessingInstruction

protected void reportProcessingInstruction(java.lang.String target,
                                           java.lang.String data)
                                    throws XBISException
Report processing instruction.

Parameters:
target - processing instruction target
data - processing instruction data
Throws:
XBISException - on processing error

reportComment

protected void reportComment(char[] ch,
                             int start,
                             int length)
                      throws XBISException
Report comment.

Parameters:
ch - array supplying character data
start - starting offset in array
length - number of characters
Throws:
XBISException - on processing error

reportDocType

protected void reportDocType(java.lang.String name,
                             java.lang.String pubid,
                             java.lang.String sysid)
                      throws XBISException
Report document type information.

Parameters:
name - element name
pubid - public id
sysid - system id
Throws:
XBISException - on processing error

reportNotation

protected void reportNotation(java.lang.String name,
                              java.lang.String pubid,
                              java.lang.String sysid)
                       throws XBISException
Report notation information.

Parameters:
name - notation name
pubid - public id
sysid - system id
Throws:
XBISException - on processing error

reportUnparsedEntity

public void reportUnparsedEntity(java.lang.String name,
                                 java.lang.String pubid,
                                 java.lang.String sysid,
                                 java.lang.String notation)
                          throws XBISException
Report unparsed entity information.

Parameters:
name - entity name
pubid - public id
sysid - system id
notation - notation name
Throws:
XBISException - on processing error

reportSkippedEntity

protected void reportSkippedEntity(java.lang.String name)
                            throws XBISException
Report skipped entity information.

Parameters:
name - entity name
Throws:
XBISException - on processing error

reportElementDecl

protected void reportElementDecl(java.lang.String name,
                                 java.lang.String model)
                          throws XBISException
Report element declaration information.

Parameters:
name - element name
model - content model
Throws:
XBISException - on processing error

reportAttributeDecl

protected void reportAttributeDecl(java.lang.String ename,
                                   java.lang.String aname,
                                   java.lang.String type,
                                   java.lang.String deftype,
                                   java.lang.String dflt)
                            throws XBISException
Report attribute declaration information.

Parameters:
ename - owning element name
aname - attribute name
type - attribute type
deftype - defaulting type
dflt - default value
Throws:
XBISException - on processing error

reportExternalEntityDecl

protected void reportExternalEntityDecl(java.lang.String name,
                                        java.lang.String pubid,
                                        java.lang.String sysid)
                                 throws XBISException
Report external entity declaration information.

Parameters:
name - external entity name
pubid - public id
sysid - system id
Throws:
XBISException - on processing error

readChildren

protected void readChildren()
                     throws java.io.IOException,
                            XBISException
Read children of node from stream.

Throws:
java.io.IOException - on error reading from stream
XBISException - on error in processing XML data

readDocument

public void readDocument()
                  throws java.io.IOException,
                         XBISException
Read document from stream.

Throws:
java.io.IOException - on error reading from stream
XBISException - on error in processing XML data

reset

public final void reset()
Reset state for processing new document. Clears any internal state information and initializes for processing a new document. This allows instances to be reused, even after an error termination in processing a prior document.

Overrides:
reset in class XBISReader

getContentHandler

public org.xml.sax.ContentHandler getContentHandler()
Specified by:
getContentHandler in interface org.xml.sax.XMLReader

getDTDHandler

public org.xml.sax.DTDHandler getDTDHandler()
Specified by:
getDTDHandler in interface org.xml.sax.XMLReader

getEntityResolver

public org.xml.sax.EntityResolver getEntityResolver()
Specified by:
getEntityResolver in interface org.xml.sax.XMLReader

getErrorHandler

public org.xml.sax.ErrorHandler getErrorHandler()
Specified by:
getErrorHandler in interface org.xml.sax.XMLReader

getFeature

public boolean getFeature(java.lang.String name)
                   throws org.xml.sax.SAXNotRecognizedException,
                          org.xml.sax.SAXNotSupportedException
Specified by:
getFeature in interface org.xml.sax.XMLReader
Throws:
org.xml.sax.SAXNotRecognizedException
org.xml.sax.SAXNotSupportedException

getProperty

public java.lang.Object getProperty(java.lang.String name)
                             throws org.xml.sax.SAXNotRecognizedException,
                                    org.xml.sax.SAXNotSupportedException
Specified by:
getProperty in interface org.xml.sax.XMLReader
Throws:
org.xml.sax.SAXNotRecognizedException
org.xml.sax.SAXNotSupportedException

parse

public void parse(org.xml.sax.InputSource input)
           throws org.xml.sax.SAXException
Specified by:
parse in interface org.xml.sax.XMLReader
Throws:
org.xml.sax.SAXException

parse

public void parse(java.lang.String systemId)
           throws org.xml.sax.SAXException
Specified by:
parse in interface org.xml.sax.XMLReader
Throws:
org.xml.sax.SAXException

setContentHandler

public void setContentHandler(org.xml.sax.ContentHandler handler)
Specified by:
setContentHandler in interface org.xml.sax.XMLReader

setDTDHandler

public void setDTDHandler(org.xml.sax.DTDHandler handler)
Specified by:
setDTDHandler in interface org.xml.sax.XMLReader

setEntityResolver

public void setEntityResolver(org.xml.sax.EntityResolver resolver)
Specified by:
setEntityResolver in interface org.xml.sax.XMLReader

setErrorHandler

public void setErrorHandler(org.xml.sax.ErrorHandler handler)
Specified by:
setErrorHandler in interface org.xml.sax.XMLReader

setFeature

public void setFeature(java.lang.String name,
                       boolean value)
                throws org.xml.sax.SAXNotRecognizedException,
                       org.xml.sax.SAXNotSupportedException
Specified by:
setFeature in interface org.xml.sax.XMLReader
Throws:
org.xml.sax.SAXNotRecognizedException
org.xml.sax.SAXNotSupportedException

setProperty

public void setProperty(java.lang.String name,
                        java.lang.Object value)
                 throws org.xml.sax.SAXNotRecognizedException,
                        org.xml.sax.SAXNotSupportedException
Specified by:
setProperty in interface org.xml.sax.XMLReader
Throws:
org.xml.sax.SAXNotRecognizedException
org.xml.sax.SAXNotSupportedException


Company Web Site

XML Binary Information Set Home