org.apache.cocoon.transformation
Class CleanupTransformer
java.lang.Object
org.apache.cocoon.util.AbstractLogEnabled
org.apache.cocoon.xml.AbstractXMLProducer
org.apache.cocoon.xml.AbstractXMLPipe
org.apache.cocoon.transformation.AbstractTransformer
org.apache.cocoon.transformation.AbstractSAXTransformer
org.apache.cocoon.transformation.CleanupTransformer
- All Implemented Interfaces:
- org.apache.cocoon.caching.CacheableProcessingComponent, Configurable, ContentHandler, Disposable, LexicalHandler, Poolable, Recyclable, Serviceable, org.apache.cocoon.sitemap.SitemapModelComponent, org.apache.cocoon.transformation.Transformer, XMLConsumer, org.apache.cocoon.xml.XMLConsumer, org.apache.cocoon.xml.XMLPipe, org.apache.cocoon.xml.XMLProducer
- public class CleanupTransformer
- extends org.apache.cocoon.transformation.AbstractSAXTransformer
- implements org.apache.cocoon.caching.CacheableProcessingComponent
Cleanup transformer: Removes excess whitespace while adding some where needed
for legibility. Strips unwanted namespace declarations.
The cleanup transformer can be used for basically any document as-is or customized by
schema (inline vs. block elements) for easier reading.
Transformer declaration:
<map:components>
<map:transformers>
<map:transformer name="htmlcleanup"
src="org.apache.cocoon.transformation.CleanupTransformer">
<preserve-uri>*</preserve-uri>
</map:transformer>
<map:transformer name="xhtmlcleanup"
src="org.apache.cocoon.transformation.CleanupTransformer">
<inline-elements>a,abbr,acronym,b,br,font,i,u,img</inline-elements>
<preserve-uri>http://www.w3.org/1999/xhtml</preserve-uri>
</map:transformer>
</map:transformers>
</map:components>
The "inline-elements" configuration element refers to a list of element names that are
not to be indented. The "preserve-uri" configuration element specifies a
namespace uri mapping that is meant for output. All other namespace declarations are
stripped from the output. The "preserve-uri" element may appear more than once. If
"preserve-uri" is omitted, all namespaces/prefixes are removed from the output.
Transformer usage:
<transform type="xhtmlcleanup">
<map:parameter name="indent-size" value="4"/>
</transform>
The optional parameter "indent-size" specifies the number of additional space characters
appearing at each level of the output document. The default value is 2.
Bugs: Nested namespace declarations with the same namespace prefix will break the code.
- Version:
- $Id: CleanupTransformer.html 1304280 2012-03-23 11:18:01Z ilgrosso $
Fields inherited from class org.apache.cocoon.transformation.AbstractSAXTransformer |
context, defaultNamespaceURI, EMPTY_ATTRIBUTES, ignoreEmptyCharacters, ignoreEventsCount, ignoreHooksCount, ignoreWhitespaces, manager, namespaceURI, objectModel, parameters, recorderStack, removeOurNamespacePrefixes, request, resolver, response, source, stack |
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 |
Method Summary |
void |
characters(char[] ch,
int start,
int length)
|
void |
configure(Configuration conf)
|
void |
endElement(String uri,
String qName,
String lName)
|
void |
endPrefixMapping(String prefix)
|
Serializable |
getKey()
|
SourceValidity |
getValidity()
|
void |
ignorableWhitespace(char[] ch,
int start,
int length)
|
void |
recycle()
|
void |
setup(org.apache.cocoon.environment.SourceResolver resolver,
Map objectModel,
String src,
Parameters par)
|
void |
startElement(String uri,
String qName,
String lName,
Attributes attrs)
|
void |
startPrefixMapping(String prefix,
String uri)
|
Methods inherited from class org.apache.cocoon.transformation.AbstractSAXTransformer |
addRecorder, comment, dispose, endCDATA, endDocument, endDTD, endEntity, endParametersRecording, endParametersRecording, endRecording, endSAXRecording, endSerializedXMLRecording, endTextRecording, endTransformingElement, findPrefixMapping, getMutableAttributes, processingInstruction, removeRecorder, sendEndElementEvent, sendEndElementEventNS, sendEndPrefixMapping, sendEvents, sendParametersEvents, sendStartElementEvent, sendStartElementEvent, sendStartElementEventNS, sendStartElementEventNS, sendStartPrefixMapping, sendTextEvent, service, setDocumentLocator, setupTransforming, skippedEntity, startCDATA, startDocument, startDTD, startEntity, startParametersRecording, startRecording, startSAXRecording, startSerializedXMLRecording, startTextRecording, startTransformingElement |
Methods inherited from class org.apache.cocoon.xml.AbstractXMLProducer |
setConsumer, setContentHandler, setLexicalHandler |
Methods inherited from class org.apache.cocoon.util.AbstractLogEnabled |
getLogger, setLogger |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.apache.cocoon.xml.XMLProducer |
setConsumer |
CleanupTransformer
public CleanupTransformer()
configure
public void configure(Configuration conf)
throws ConfigurationException
- Specified by:
configure
in interface Configurable
- Throws:
ConfigurationException
- See Also:
AbstractSAXTransformer.configure(org.apache.avalon.framework.configuration.Configuration)
setup
public void setup(org.apache.cocoon.environment.SourceResolver resolver,
Map objectModel,
String src,
Parameters par)
throws org.apache.cocoon.ProcessingException,
SAXException,
IOException
- Specified by:
setup
in interface org.apache.cocoon.sitemap.SitemapModelComponent
- Throws:
org.apache.cocoon.ProcessingException
SAXException
IOException
- See Also:
AbstractSAXTransformer.setup(org.apache.cocoon.environment.SourceResolver, java.util.Map, java.lang.String, org.apache.avalon.framework.parameters.Parameters)
recycle
public void recycle()
- Specified by:
recycle
in interface Recyclable
- See Also:
AbstractSAXTransformer.recycle()
getKey
public Serializable getKey()
- Specified by:
getKey
in interface org.apache.cocoon.caching.CacheableProcessingComponent
- See Also:
CacheableProcessingComponent.getKey()
getValidity
public SourceValidity getValidity()
- Specified by:
getValidity
in interface org.apache.cocoon.caching.CacheableProcessingComponent
- See Also:
CacheableProcessingComponent.getValidity()
startPrefixMapping
public void startPrefixMapping(String prefix,
String uri)
throws SAXException
- Specified by:
startPrefixMapping
in interface ContentHandler
- Throws:
SAXException
- See Also:
AbstractSAXTransformer.startPrefixMapping(java.lang.String, java.lang.String)
endPrefixMapping
public void endPrefixMapping(String prefix)
throws SAXException
- Specified by:
endPrefixMapping
in interface ContentHandler
- Throws:
SAXException
- See Also:
AbstractSAXTransformer.endPrefixMapping(java.lang.String)
startElement
public void startElement(String uri,
String qName,
String lName,
Attributes attrs)
throws SAXException
- Specified by:
startElement
in interface ContentHandler
- Throws:
SAXException
- See Also:
AbstractSAXTransformer.startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)
endElement
public void endElement(String uri,
String qName,
String lName)
throws SAXException
- Specified by:
endElement
in interface ContentHandler
- Throws:
SAXException
- See Also:
AbstractSAXTransformer.endElement(java.lang.String, java.lang.String, java.lang.String)
characters
public void characters(char[] ch,
int start,
int length)
throws SAXException
- Specified by:
characters
in interface ContentHandler
- Throws:
SAXException
- See Also:
AbstractSAXTransformer.characters(char[], int, int)
ignorableWhitespace
public void ignorableWhitespace(char[] ch,
int start,
int length)
throws SAXException
- Specified by:
ignorableWhitespace
in interface ContentHandler
- Throws:
SAXException
- See Also:
AbstractSAXTransformer.ignorableWhitespace(char[], int, int)
Copyright © 1999-2008 The Apache Software Foundation. All Rights Reserved.