|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.apache.avalon.framework.logger.AbstractLogEnabled
org.apache.cocoon.xml.AbstractXMLProducer
org.apache.cocoon.xml.AbstractXMLPipe
org.apache.cocoon.transformation.AbstractTransformer
org.apache.cocoon.portal.transformation.HTMLRootTransformer
This transformer is an utility transformer for dealing with (x)html content. It has two operating modes: Add Mode (default): The transformer simply adds an html and a body element around the sax stream. Remove Mode: The transformer removes all surrounding elements like html and body and only passes everything on to the next pipeline component that's contained in a body element.
| Field Summary | |
protected boolean |
addMode
the operating mode: true means adding the root elements, false means removing them |
protected boolean |
ignoreRootElement
do we remove the root tag? |
protected int |
ignoreRootElementCount
|
protected boolean |
insideBodyTag
|
| Fields inherited from class org.apache.cocoon.xml.AbstractXMLProducer |
contentHandler, EMPTY_CONTENT_HANDLER, lexicalHandler, xmlConsumer |
| Fields inherited from interface org.apache.cocoon.transformation.Transformer |
ROLE |
| Constructor Summary | |
HTMLRootTransformer()
|
|
| Method Summary | |
void |
characters(char[] c,
int start,
int len)
Receive notification of character data. |
void |
endDocument()
Receive notification of the end of a document. |
void |
endElement(String uri,
String local,
String qName)
Receive notification of the end of an element. |
Serializable |
getKey()
Generate the unique key for the resource being rendered. |
SourceValidity |
getValidity()
Generate the validity object. |
void |
setup(SourceResolver resolver,
Map objectModel,
String src,
Parameters par)
The Sitemap will call the setup() method to prepare the component for use. |
void |
startDocument()
Receive notification of the beginning of a document. |
void |
startElement(String uri,
String local,
String qName,
Attributes attr)
Receive notification of the beginning of an element. |
| Methods inherited from class org.apache.cocoon.xml.AbstractXMLPipe |
comment, endCDATA, endDTD, endEntity, endPrefixMapping, ignorableWhitespace, processingInstruction, setDocumentLocator, skippedEntity, startCDATA, startDTD, startEntity, startPrefixMapping |
| Methods inherited from class org.apache.cocoon.xml.AbstractXMLProducer |
recycle, setConsumer, setContentHandler, setLexicalHandler |
| Methods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled |
enableLogging, getLogger, setupLogger, setupLogger, setupLogger |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.xml.sax.ContentHandler |
endPrefixMapping, ignorableWhitespace, processingInstruction, setDocumentLocator, skippedEntity, startPrefixMapping |
| Methods inherited from interface org.xml.sax.ext.LexicalHandler |
comment, endCDATA, endDTD, endEntity, startCDATA, startDTD, startEntity |
| Methods inherited from interface org.apache.cocoon.xml.XMLProducer |
setConsumer |
| Field Detail |
protected boolean addMode
protected boolean ignoreRootElement
protected int ignoreRootElementCount
protected boolean insideBodyTag
| Constructor Detail |
public HTMLRootTransformer()
| Method Detail |
public void setup(SourceResolver resolver,
Map objectModel,
String src,
Parameters par)
throws ProcessingException,
SAXException,
IOException
SitemapModelComponentObjectModelHelper for help with the objectModel.
setup in interface SitemapModelComponentresolver - The SourceResolver to find resources within your context.objectModel - A java.util.Map that contains the request and session information.src - The value of the "src" attribute in the sitemap.par - The sitemap parameters passed into your component.
ProcessingException - if there is any other unexpected problem.
IOException - if there is a problem reading files.
SAXException - if there is a problem reading a SAX stream.
public void endDocument()
throws SAXException
AbstractXMLPipe
endDocument in interface ContentHandlerendDocument in class AbstractXMLPipeSAXException
public void startDocument()
throws SAXException
AbstractXMLPipe
startDocument in interface ContentHandlerstartDocument in class AbstractXMLPipeSAXException
public void startElement(String uri,
String local,
String qName,
Attributes attr)
throws SAXException
AbstractXMLPipe
startElement in interface ContentHandlerstartElement in class AbstractXMLPipeuri - The Namespace URI, or the empty string if the element has no
Namespace URI or if Namespace
processing is not being performed.local - The local name (without prefix), or the empty string if
Namespace processing is not being performed.qName - The raw XML 1.0 name (with prefix), or the empty string if
raw names are not available.attr - The attributes attached to the element. If there are no
attributes, it shall be an empty Attributes object.
SAXException
public void endElement(String uri,
String local,
String qName)
throws SAXException
AbstractXMLPipe
endElement in interface ContentHandlerendElement in class AbstractXMLPipeuri - The Namespace URI, or the empty string if the element has no
Namespace URI or if Namespace
processing is not being performed.local - The local name (without prefix), or the empty string if
Namespace processing is not being performed.qName - The raw XML 1.0 name (with prefix), or the empty string if
raw names are not available.
SAXException
public void characters(char[] c,
int start,
int len)
throws SAXException
AbstractXMLPipe
characters in interface ContentHandlercharacters in class AbstractXMLPipec - The characters from the XML document.start - The start position in the array.len - The number of characters to read from the array.
SAXExceptionpublic Serializable getKey()
CacheableProcessingComponentThe cache key is the single most important part of the caching implementation. If you don't get it right, you can introduce more load on the caching engine than is necessary. It is important that the cache key has the following attributes:
Thankfully there is a perfectly suitable object that satisfies these
obligations from Java's core: java.lang.String. You can
also use your own specific key objects provided they respect the above
contracts.
Important:If the cache key is null then
your component will not be cached at all. You can use this to your
advantage to cache some things but not others.
getKey in interface CacheableProcessingComponentnull if the component
is currently not cacheable.public SourceValidity getValidity()
CacheableProcessingComponentgetKey() method.
The caching contracts use the Excalibur SourceValidity
interface to determine whether a resource is valid or not. The validity
can be a compound check that incorporates time since creation, parameter
values, etc. As long as the sitemap can determine whether the cached
resource is valid or not. More information is available on the
Apache
Excalibur site. Alternatively you can use the built in
CacheValidity objects in the
org.apache.cocoon.caching package and then use the
CacheValidityToSourceValidity adaptor object.
getValidity in interface CacheableProcessingComponentnull if the
component is currently not cacheable.
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||