org.outerj.daisy.publisher.serverimpl.docpreparation
Class IncludesProcessor

java.lang.Object
  extended by org.outerj.daisy.publisher.serverimpl.AbstractHandler
      extended by org.outerj.daisy.publisher.serverimpl.docpreparation.IncludesProcessor
All Implemented Interfaces:
org.xml.sax.ContentHandler

public class IncludesProcessor
extends AbstractHandler
implements org.xml.sax.ContentHandler

This ContentHandler handles document includes. These are recognized by HTML p elements having a class attribute with value "include". The content should contain either a document id, or a document id and version id separated by the character '@' (eg "10@3"). By default the live version is included. The special version "LAST" can be specified (eg "10@LAST") to include the latest version. Inclusion processing is done recursively (with detection of recursive include of the same document).

The included document is not directly inlined on the location of inclusion, rather a new publisher request is executed for it, and the result of this is stored as a separate SaxBuffer in a PreparedDocuments instance. The original include tag is replaced by a tag <daisyPreparedInclude> with an id attribute referring the id under which it is stored in the PreparedDocuments.


Field Summary
 
Fields inherited from class org.outerj.daisy.publisher.serverimpl.AbstractHandler
consumer
 
Constructor Summary
IncludesProcessor(org.outerj.daisy.repository.Document document, org.xml.sax.ContentHandler consumer, ContentProcessor owner)
           
 
Method Summary
 void characters(char[] ch, int start, int length)
           
 void endDocument()
           
 void endElement(java.lang.String namespaceURI, java.lang.String localName, java.lang.String qName)
           
 void endPrefixMapping(java.lang.String prefix)
           
 void ignorableWhitespace(char[] ch, int start, int length)
           
 void processingInstruction(java.lang.String target, java.lang.String data)
           
 void setDocumentLocator(org.xml.sax.Locator locator)
           
 void skippedEntity(java.lang.String name)
           
 void startDocument()
           
 void startElement(java.lang.String namespaceURI, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes atts)
           
 void startPrefixMapping(java.lang.String prefix, java.lang.String uri)
           
 
Methods inherited from class org.outerj.daisy.publisher.serverimpl.AbstractHandler
outputError, outputErrorAsDoc
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IncludesProcessor

public IncludesProcessor(org.outerj.daisy.repository.Document document,
                         org.xml.sax.ContentHandler consumer,
                         ContentProcessor owner)
Method Detail

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

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

endDocument

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

startDocument

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

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

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

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

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

setDocumentLocator

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

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

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


Copyright © -2012 . All Rights Reserved.