org.exist.xupdate
Class XUpdateProcessor

java.lang.Object
  extended byorg.exist.xupdate.XUpdateProcessor
All Implemented Interfaces:
org.xml.sax.ContentHandler, org.xml.sax.ext.LexicalHandler

public class XUpdateProcessor
extends java.lang.Object
implements org.xml.sax.ContentHandler, org.xml.sax.ext.LexicalHandler

Main class to pre-process an XUpdate request. XUpdateProcessor will parse the request via SAX and compile it into a set of Modification objects as returned by the parse(org.xml.sax.InputSource) method. The modifications can then be executed via Modification.process(org.exist.storage.txn.Txn).

Author:
Wolfgang Meier

Field Summary
static java.lang.String APPEND
           
static java.lang.String ATTRIBUTE
           
static java.lang.String COMMENT
           
static java.lang.String ELEMENT
           
static java.lang.String IF
           
static java.lang.String INSERT_AFTER
           
static java.lang.String INSERT_BEFORE
           
static java.lang.String MODIFICATIONS
           
static java.lang.String PROCESSING_INSTRUCTION
           
static java.lang.String REMOVE
           
static java.lang.String RENAME
           
static java.lang.String REPLACE
           
static java.lang.String TEXT
           
static java.lang.String UPDATE
           
static java.lang.String VALUE_OF
           
static java.lang.String VARIABLE
           
static java.lang.String XUPDATE_NS
           
 
Constructor Summary
XUpdateProcessor(DBBroker broker, DocumentSet docs, AccessContext accessCtx)
          Constructor for XUpdateProcessor.
 
Method Summary
 void characters(char[] ch, int start, int length)
           
 void comment(char[] ch, int start, int length)
           
 void endCDATA()
           
 void endDocument()
           
 void endDTD()
           
 void endElement(java.lang.String namespaceURI, java.lang.String localName, java.lang.String qName)
           
 void endEntity(java.lang.String name)
           
 void endPrefixMapping(java.lang.String prefix)
           
 void ignorableWhitespace(char[] ch, int start, int length)
           
 Modification[] parse(org.xml.sax.InputSource is)
          Parse the input source into a set of modifications.
 void processingInstruction(java.lang.String target, java.lang.String data)
           
 void reset()
           
 void setBroker(DBBroker broker)
           
 void setDocumentLocator(org.xml.sax.Locator locator)
           
 void setDocumentSet(DocumentSet docs)
           
 void skippedEntity(java.lang.String name)
           
 void startCDATA()
           
 void startDocument()
           
 void startDTD(java.lang.String name, java.lang.String publicId, java.lang.String systemId)
           
 void startElement(java.lang.String namespaceURI, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes atts)
           
 void startEntity(java.lang.String name)
           
 void startPrefixMapping(java.lang.String prefix, java.lang.String uri)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MODIFICATIONS

public static final java.lang.String MODIFICATIONS
See Also:
Constant Field Values

INSERT_AFTER

public static final java.lang.String INSERT_AFTER
See Also:
Constant Field Values

INSERT_BEFORE

public static final java.lang.String INSERT_BEFORE
See Also:
Constant Field Values

REPLACE

public static final java.lang.String REPLACE
See Also:
Constant Field Values

RENAME

public static final java.lang.String RENAME
See Also:
Constant Field Values

REMOVE

public static final java.lang.String REMOVE
See Also:
Constant Field Values

APPEND

public static final java.lang.String APPEND
See Also:
Constant Field Values

UPDATE

public static final java.lang.String UPDATE
See Also:
Constant Field Values

COMMENT

public static final java.lang.String COMMENT
See Also:
Constant Field Values

PROCESSING_INSTRUCTION

public static final java.lang.String PROCESSING_INSTRUCTION
See Also:
Constant Field Values

TEXT

public static final java.lang.String TEXT
See Also:
Constant Field Values

ATTRIBUTE

public static final java.lang.String ATTRIBUTE
See Also:
Constant Field Values

ELEMENT

public static final java.lang.String ELEMENT
See Also:
Constant Field Values

VALUE_OF

public static final java.lang.String VALUE_OF
See Also:
Constant Field Values

VARIABLE

public static final java.lang.String VARIABLE
See Also:
Constant Field Values

IF

public static final java.lang.String IF
See Also:
Constant Field Values

XUPDATE_NS

public static final java.lang.String XUPDATE_NS
See Also:
Constant Field Values
Constructor Detail

XUpdateProcessor

public XUpdateProcessor(DBBroker broker,
                        DocumentSet docs,
                        AccessContext accessCtx)
                 throws javax.xml.parsers.ParserConfigurationException
Constructor for XUpdateProcessor.

Method Detail

setBroker

public void setBroker(DBBroker broker)

setDocumentSet

public void setDocumentSet(DocumentSet docs)

parse

public Modification[] parse(org.xml.sax.InputSource is)
                     throws javax.xml.parsers.ParserConfigurationException,
                            java.io.IOException,
                            org.xml.sax.SAXException
Parse the input source into a set of modifications.

Parameters:
is -
Returns:
an array of type Modification
Throws:
javax.xml.parsers.ParserConfigurationException
java.io.IOException
org.xml.sax.SAXException

setDocumentLocator

public void setDocumentLocator(org.xml.sax.Locator locator)
Specified by:
setDocumentLocator in interface org.xml.sax.ContentHandler
See Also:
ContentHandler.setDocumentLocator(org.xml.sax.Locator)

startDocument

public void startDocument()
                   throws org.xml.sax.SAXException
Specified by:
startDocument in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException
See Also:
ContentHandler.startDocument()

endDocument

public void endDocument()
                 throws org.xml.sax.SAXException
Specified by:
endDocument in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException
See Also:
ContentHandler.endDocument()

startPrefixMapping

public void startPrefixMapping(java.lang.String prefix,
                               java.lang.String uri)
                        throws org.xml.sax.SAXException
Specified by:
startPrefixMapping in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException
See Also:
ContentHandler.startPrefixMapping(java.lang.String, java.lang.String)

endPrefixMapping

public void endPrefixMapping(java.lang.String prefix)
                      throws org.xml.sax.SAXException
Specified by:
endPrefixMapping in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException
See Also:
ContentHandler.endPrefixMapping(java.lang.String)

startElement

public void startElement(java.lang.String namespaceURI,
                         java.lang.String localName,
                         java.lang.String qName,
                         org.xml.sax.Attributes atts)
                  throws org.xml.sax.SAXException
Specified by:
startElement in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException
See Also:
ContentHandler.startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)

endElement

public void endElement(java.lang.String namespaceURI,
                       java.lang.String localName,
                       java.lang.String qName)
                throws org.xml.sax.SAXException
Specified by:
endElement in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException
See Also:
ContentHandler.endElement(java.lang.String, java.lang.String, java.lang.String)

characters

public void characters(char[] ch,
                       int start,
                       int length)
                throws org.xml.sax.SAXException
Specified by:
characters in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException
See Also:
ContentHandler.characters(char[], int, int)

ignorableWhitespace

public void ignorableWhitespace(char[] ch,
                                int start,
                                int length)
                         throws org.xml.sax.SAXException
Specified by:
ignorableWhitespace in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException
See Also:
ContentHandler.ignorableWhitespace(char[], int, int)

processingInstruction

public void processingInstruction(java.lang.String target,
                                  java.lang.String data)
                           throws org.xml.sax.SAXException
Specified by:
processingInstruction in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException
See Also:
ContentHandler.processingInstruction(java.lang.String, java.lang.String)

skippedEntity

public void skippedEntity(java.lang.String name)
                   throws org.xml.sax.SAXException
Specified by:
skippedEntity in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException
See Also:
ContentHandler.skippedEntity(java.lang.String)

comment

public void comment(char[] ch,
                    int start,
                    int length)
             throws org.xml.sax.SAXException
Specified by:
comment in interface org.xml.sax.ext.LexicalHandler
Throws:
org.xml.sax.SAXException

endCDATA

public void endCDATA()
              throws org.xml.sax.SAXException
Specified by:
endCDATA in interface org.xml.sax.ext.LexicalHandler
Throws:
org.xml.sax.SAXException

endDTD

public void endDTD()
            throws org.xml.sax.SAXException
Specified by:
endDTD in interface org.xml.sax.ext.LexicalHandler
Throws:
org.xml.sax.SAXException

endEntity

public void endEntity(java.lang.String name)
               throws org.xml.sax.SAXException
Specified by:
endEntity in interface org.xml.sax.ext.LexicalHandler
Throws:
org.xml.sax.SAXException

startCDATA

public void startCDATA()
                throws org.xml.sax.SAXException
Specified by:
startCDATA in interface org.xml.sax.ext.LexicalHandler
Throws:
org.xml.sax.SAXException

startDTD

public void startDTD(java.lang.String name,
                     java.lang.String publicId,
                     java.lang.String systemId)
              throws org.xml.sax.SAXException
Specified by:
startDTD in interface org.xml.sax.ext.LexicalHandler
Throws:
org.xml.sax.SAXException

startEntity

public void startEntity(java.lang.String name)
                 throws org.xml.sax.SAXException
Specified by:
startEntity in interface org.xml.sax.ext.LexicalHandler
Throws:
org.xml.sax.SAXException

reset

public void reset()


Copyright (C) Wolfgang Meier. All rights reserved.