|
|||||||||||
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
SitemapModelComponent
ObjectModelHelper
for help with the objectModel
.
setup
in interface SitemapModelComponent
resolver
- 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 ContentHandler
endDocument
in class AbstractXMLPipe
SAXException
public void startDocument() throws SAXException
AbstractXMLPipe
startDocument
in interface ContentHandler
startDocument
in class AbstractXMLPipe
SAXException
public void startElement(String uri, String local, String qName, Attributes attr) throws SAXException
AbstractXMLPipe
startElement
in interface ContentHandler
startElement
in class AbstractXMLPipe
uri
- 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 ContentHandler
endElement
in class AbstractXMLPipe
uri
- 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 ContentHandler
characters
in class AbstractXMLPipe
c
- The characters from the XML document.start
- The start position in the array.len
- The number of characters to read from the array.
SAXException
public Serializable getKey()
CacheableProcessingComponent
The 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 CacheableProcessingComponent
null
if the component
is currently not cacheable.public SourceValidity getValidity()
CacheableProcessingComponent
getKey()
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 CacheableProcessingComponent
null
if the
component is currently not cacheable.
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |