GATE
Version 3.1-2270

gate.xml
Class XmlDocumentHandler

java.lang.Object
  extended by org.xml.sax.helpers.DefaultHandler
      extended by gate.xml.XmlPositionCorrectionHandler
          extended by gate.xml.XmlDocumentHandler
All Implemented Interfaces:
ContentHandler, DTDHandler, EntityResolver, ErrorHandler

public class XmlDocumentHandler
extends XmlPositionCorrectionHandler

Implements the behaviour of the XML reader Methods of an object of this class are called by the SAX parser when events will appear. The idea is to parse the XML document and construct Gate annotations objects. This class also will replace the content of the Gate document with a new one containing only text from the XML document.


Field Summary
protected  int customObjectsId
          This is used to generate unique Ids for the CustomObjects read
protected  List myStatusListeners
          Listeners for status report
 
Fields inherited from class gate.xml.XmlPositionCorrectionHandler
m_realOffset
 
Constructor Summary
XmlDocumentHandler(Document aDocument, Map aMarkupElementsMap, Map anElement2StringMap)
          Constructs a XmlDocumentHandler object.
XmlDocumentHandler(Document aDocument, Map aMarkupElementsMap, Map anElement2StringMap, AnnotationSet anAnnotationSet)
          Constructs a XmlDocumentHandler object.
 
Method Summary
 void addStatusListener(StatusListener listener)
          This methos is called when a listener is registered with this class
 void characters(char[] text, int start, int length)
          This method is called when the SAX parser encounts text in the XML doc.
 void charactersAction(char[] text, int start, int length)
          This method is called when all characters between specific tags have been read completely
 void comment(String text)
          This method is called when the SAX parser encounts a comment It works only if the XmlDocumentHandler implements a com.sun.parser.LexicalEventListener
 void endCDATA()
          This method is called when the SAX parser encounts the end of a CDATA section.
 void endDocument()
          This method is called when the SAX parser encounts the end of the XML document.
 void endElement(String uri, String qName, String elemName)
          This method is called when the SAX parser encounts the end of an XML element.
 void endParsedEntity(String name, boolean included)
          This method is called when the SAX parser encounts a parsed entity and informs the application if that entity was parsed or not It's working only if the CustomDocumentHandler implements a com.sun.parser.LexicalEventListener
 void error(SAXParseException ex)
          Error method.We deal with this exception inside SimpleErrorHandler class
 void fatalError(SAXParseException ex)
          FatalError method.
protected  void fireStatusChangedEvent(String text)
          This methos is called whenever we need to inform the listener about an event.
 RepositioningInfo getAmpCodingInfo()
          Return current RepositioningInfo object for ampersand coding.
 int getCustomObjectsId()
          Accesor method for the customObjectsId field
 RepositioningInfo getRepositioningInfo()
          Return current RepositioningInfo object
 void ignorableWhitespace(char[] ch, int start, int length)
          This method is called when the SAX parser encounts white spaces
 void removeStatusListener(StatusListener listener)
          This methos is called when a listener is removed
 void setAmpCodingInfo(RepositioningInfo info)
          Set repositioning information structure refference for ampersand coding.
 void setRepositioningInfo(RepositioningInfo info)
          Set repositioning information structure refference.
 void startCDATA()
          This method is called when the SAX parser encounts a start of a CDATA section It works only if the XmlDocumentHandler implements a com.sun.parser.LexicalEventListener
 void startDocument()
          This method is called when the SAX parser encounts the beginning of the XML document.
 void startElement(String uri, String qName, String elemName, Attributes atts)
          This method is called when the SAX parser encounts the beginning of an XML element.
 void startParsedEntity(String name)
          This method is called when the SAX parser encounts a parsed Entity It works only if the XmlDocumentHandler implements a com.sun.parser.LexicalEventListener
 void warning(SAXParseException ex)
          Warning method comment.
 
Methods inherited from class gate.xml.XmlPositionCorrectionHandler
getRealOffset
 
Methods inherited from class org.xml.sax.helpers.DefaultHandler
endPrefixMapping, notationDecl, processingInstruction, resolveEntity, setDocumentLocator, skippedEntity, startPrefixMapping, unparsedEntityDecl
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

myStatusListeners

protected List myStatusListeners
Listeners for status report


customObjectsId

protected int customObjectsId
This is used to generate unique Ids for the CustomObjects read

Constructor Detail

XmlDocumentHandler

public XmlDocumentHandler(Document aDocument,
                          Map aMarkupElementsMap,
                          Map anElement2StringMap)
Constructs a XmlDocumentHandler object. The annotationSet set will be the default one taken from the gate document.

Parameters:
aDocument - the Gate document that will be processed.
aMarkupElementsMap - this map contains the elements name that we want to create.
anElement2StringMap - this map contains the strings that will be added to the text contained by the key element.

XmlDocumentHandler

public XmlDocumentHandler(Document aDocument,
                          Map aMarkupElementsMap,
                          Map anElement2StringMap,
                          AnnotationSet anAnnotationSet)
Constructs a XmlDocumentHandler object.

Parameters:
aDocument - the Gate document that will be processed.
aMarkupElementsMap - this map contains the elements name that we want to create.
anElement2StringMap - this map contains the strings that will be added to the text contained by the key element.
anAnnotationSet - is the annotation set that will be filled when the document was processed
Method Detail

setRepositioningInfo

public void setRepositioningInfo(RepositioningInfo info)
Set repositioning information structure refference. If you set this refference to null information wouldn't be collected.


getRepositioningInfo

public RepositioningInfo getRepositioningInfo()
Return current RepositioningInfo object


setAmpCodingInfo

public void setAmpCodingInfo(RepositioningInfo info)
Set repositioning information structure refference for ampersand coding. If you set this refference to null information wouldn't be used.


getAmpCodingInfo

public RepositioningInfo getAmpCodingInfo()
Return current RepositioningInfo object for ampersand coding.


startDocument

public void startDocument()
                   throws SAXException
This method is called when the SAX parser encounts the beginning of the XML document.

Specified by:
startDocument in interface ContentHandler
Overrides:
startDocument in class XmlPositionCorrectionHandler
Throws:
SAXException

endDocument

public void endDocument()
                 throws SAXException
This method is called when the SAX parser encounts the end of the XML document. Here we set the content of the gate Document to be the one generated inside this class (tmpDocContent). After that we use the colector to generate all the annotation reffering this new gate document.

Specified by:
endDocument in interface ContentHandler
Overrides:
endDocument in class DefaultHandler
Throws:
SAXException

startElement

public void startElement(String uri,
                         String qName,
                         String elemName,
                         Attributes atts)
                  throws SAXException
This method is called when the SAX parser encounts the beginning of an XML element.

Specified by:
startElement in interface ContentHandler
Overrides:
startElement in class DefaultHandler
Throws:
SAXException

endElement

public void endElement(String uri,
                       String qName,
                       String elemName)
                throws SAXException
This method is called when the SAX parser encounts the end of an XML element. Here we extract

Specified by:
endElement in interface ContentHandler
Overrides:
endElement in class DefaultHandler
Throws:
SAXException

characters

public void characters(char[] text,
                       int start,
                       int length)
                throws SAXException
This method is called when the SAX parser encounts text in the XML doc. Here we calculate the end indices for all the elements present inside the stack and update with the new values. For entities, this method is called separatley regardless of the text sourinding the entity.

Specified by:
characters in interface ContentHandler
Overrides:
characters in class XmlPositionCorrectionHandler
Throws:
SAXException

charactersAction

public void charactersAction(char[] text,
                             int start,
                             int length)
                      throws SAXException
This method is called when all characters between specific tags have been read completely

Throws:
SAXException

ignorableWhitespace

public void ignorableWhitespace(char[] ch,
                                int start,
                                int length)
                         throws SAXException
This method is called when the SAX parser encounts white spaces

Specified by:
ignorableWhitespace in interface ContentHandler
Overrides:
ignorableWhitespace in class DefaultHandler
Throws:
SAXException

error

public void error(SAXParseException ex)
           throws SAXException
Error method.We deal with this exception inside SimpleErrorHandler class

Specified by:
error in interface ErrorHandler
Overrides:
error in class DefaultHandler
Throws:
SAXException

fatalError

public void fatalError(SAXParseException ex)
                throws SAXException
FatalError method.

Specified by:
fatalError in interface ErrorHandler
Overrides:
fatalError in class DefaultHandler
Throws:
SAXException

warning

public void warning(SAXParseException ex)
             throws SAXException
Warning method comment.

Specified by:
warning in interface ErrorHandler
Overrides:
warning in class DefaultHandler
Throws:
SAXException

comment

public void comment(String text)
             throws SAXException
This method is called when the SAX parser encounts a comment It works only if the XmlDocumentHandler implements a com.sun.parser.LexicalEventListener

Throws:
SAXException

startCDATA

public void startCDATA()
                throws SAXException
This method is called when the SAX parser encounts a start of a CDATA section It works only if the XmlDocumentHandler implements a com.sun.parser.LexicalEventListener

Throws:
SAXException

endCDATA

public void endCDATA()
              throws SAXException
This method is called when the SAX parser encounts the end of a CDATA section. It works only if the XmlDocumentHandler implements a com.sun.parser.LexicalEventListener

Throws:
SAXException

startParsedEntity

public void startParsedEntity(String name)
                       throws SAXException
This method is called when the SAX parser encounts a parsed Entity It works only if the XmlDocumentHandler implements a com.sun.parser.LexicalEventListener

Throws:
SAXException

endParsedEntity

public void endParsedEntity(String name,
                            boolean included)
                     throws SAXException
This method is called when the SAX parser encounts a parsed entity and informs the application if that entity was parsed or not It's working only if the CustomDocumentHandler implements a com.sun.parser.LexicalEventListener

Throws:
SAXException

addStatusListener

public void addStatusListener(StatusListener listener)
This methos is called when a listener is registered with this class


removeStatusListener

public void removeStatusListener(StatusListener listener)
This methos is called when a listener is removed


fireStatusChangedEvent

protected void fireStatusChangedEvent(String text)
This methos is called whenever we need to inform the listener about an event.


getCustomObjectsId

public int getCustomObjectsId()
Accesor method for the customObjectsId field


GATE
Version 3.1-2270