|
||||||||
| 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.transformation.AbstractSAXTransformer
org.apache.lenya.cms.cocoon.transformation.LinkRewritingTransformer
public class LinkRewritingTransformer
Link rewriting transformer.
This transformer is applied to an XHMTL document. It processes <xhtml:a href="...">
attributes of the following form:
{context-prefix}/{publication-id}/{area}{document-url}
These links are rewritten using the following rules:
<a/> element is removed to disable the link.
| Field Summary | |
|---|---|
static java.lang.String |
ATTRIBUTE_HREF
The local name of the HTML <a> href attribute. |
| Fields inherited from class org.apache.cocoon.transformation.AbstractSAXTransformer |
|---|
context, defaultNamespaceURI, EMPTY_ATTRIBUTES, emptyAttributes, ignoreEmptyCharacters, ignoreEventsCount, ignoreHooksCount, ignoreWhitespaces, manager, namespaceURI, objectModel, parameters, recorderStack, 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 |
| Constructor Summary | |
|---|---|
LinkRewritingTransformer()
|
|
| Method Summary | |
|---|---|
void |
dispose()
|
void |
endElement(java.lang.String uri,
java.lang.String name,
java.lang.String qname)
(non-Javadoc) |
protected Document |
getCurrentDocument()
Returns the currently processed document. |
protected boolean |
isIgnoreAElement()
|
protected boolean |
lookingAtAElement(java.lang.String name)
|
protected boolean |
lookingAtLinkElement(java.lang.String name)
Check if we are looking at a link element |
void |
recycle()
(non-Javadoc) |
protected void |
rewriteLink(org.xml.sax.helpers.AttributesImpl newAttrs,
Document targetDocument,
java.lang.String anchor,
java.lang.String queryString)
Rewrites a link. |
protected void |
setHrefAttribute(org.xml.sax.helpers.AttributesImpl attr,
java.lang.String value)
Sets the value of the href attribute. |
protected void |
setIgnoreAElement(boolean ignoreAElement)
|
void |
setup(org.apache.cocoon.environment.SourceResolver resolver,
java.util.Map objectModel,
java.lang.String source,
org.apache.avalon.framework.parameters.Parameters parameters)
|
void |
startElement(java.lang.String uri,
java.lang.String name,
java.lang.String qname,
org.xml.sax.Attributes attrs)
(non-Javadoc) |
| Methods inherited from class org.apache.cocoon.transformation.AbstractSAXTransformer |
|---|
addRecorder, characters, comment, configure, endCDATA, endDocument, endDTD, endEntity, endParametersRecording, endParametersRecording, endPrefixMapping, endRecording, endSAXRecording, endSerializedXMLRecording, endTextRecording, endTransformingElement, findPrefixMapping, getMutableAttributes, ignorableWhitespace, processingInstruction, removeRecorder, sendEndElementEvent, sendEndElementEventNS, sendEndPrefixMapping, sendEvents, sendParametersEvents, sendStartElementEvent, sendStartElementEvent, sendStartElementEventNS, sendStartElementEventNS, sendStartPrefixMapping, sendTextEvent, service, setDocumentLocator, setupTransforming, skippedEntity, startCDATA, startDocument, startDTD, startEntity, startParametersRecording, startPrefixMapping, startRecording, startSAXRecording, startSerializedXMLRecording, startTextRecording, startTransformingElement |
| Methods inherited from class org.apache.cocoon.xml.AbstractXMLProducer |
|---|
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.apache.cocoon.xml.XMLProducer |
|---|
setConsumer |
| Field Detail |
|---|
public static final java.lang.String ATTRIBUTE_HREF
| Constructor Detail |
|---|
public LinkRewritingTransformer()
| Method Detail |
|---|
public void setup(org.apache.cocoon.environment.SourceResolver resolver,
java.util.Map objectModel,
java.lang.String source,
org.apache.avalon.framework.parameters.Parameters parameters)
throws org.apache.cocoon.ProcessingException,
org.xml.sax.SAXException,
java.io.IOException
setup in interface org.apache.cocoon.sitemap.SitemapModelComponentsetup in class org.apache.cocoon.transformation.AbstractSAXTransformerorg.apache.cocoon.ProcessingException
org.xml.sax.SAXException
java.io.IOExceptionSitemapModelComponent.setup(org.apache.cocoon.environment.SourceResolver,
java.util.Map, java.lang.String,
org.apache.avalon.framework.parameters.Parameters)protected Document getCurrentDocument()
public void startElement(java.lang.String uri,
java.lang.String name,
java.lang.String qname,
org.xml.sax.Attributes attrs)
throws org.xml.sax.SAXException
startElement in interface org.xml.sax.ContentHandlerstartElement in class org.apache.cocoon.transformation.AbstractSAXTransformerorg.xml.sax.SAXExceptionContentHandler.startElement(java.lang.String,
java.lang.String, java.lang.String, org.xml.sax.Attributes)
protected void rewriteLink(org.xml.sax.helpers.AttributesImpl newAttrs,
Document targetDocument,
java.lang.String anchor,
java.lang.String queryString)
throws AccessControlException,
PublicationException
newAttrs - The new attributes.targetDocument - The target document.anchor - The anchor (the string after the # character in the URL).queryString - The query string without question mark.
AccessControlException - when something went wrong.
PublicationException - when something went wrong.
protected void setHrefAttribute(org.xml.sax.helpers.AttributesImpl attr,
java.lang.String value)
attr - The attributes.value - The value.
java.lang.IllegalArgumentException - if the href attribute is not contained
in this attributes.
public void endElement(java.lang.String uri,
java.lang.String name,
java.lang.String qname)
throws org.xml.sax.SAXException
endElement in interface org.xml.sax.ContentHandlerendElement in class org.apache.cocoon.transformation.AbstractSAXTransformerorg.xml.sax.SAXExceptionContentHandler.endElement(java.lang.String,
java.lang.String, java.lang.String)protected boolean lookingAtLinkElement(java.lang.String name)
name - name of the element
protected boolean lookingAtAElement(java.lang.String name)
public void dispose()
dispose in interface org.apache.avalon.framework.activity.Disposabledispose in class org.apache.cocoon.transformation.AbstractSAXTransformerDisposable.dispose()public void recycle()
recycle in interface org.apache.avalon.excalibur.pool.Recyclablerecycle in class org.apache.cocoon.transformation.AbstractSAXTransformerRecyclable.recycle()protected boolean isIgnoreAElement()
protected void setIgnoreAElement(boolean ignoreAElement)
ignoreAElement - The ignoreAElement to set.
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||