|
||||||||
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.SitemapModelComponent
setup
in class org.apache.cocoon.transformation.AbstractSAXTransformer
org.apache.cocoon.ProcessingException
org.xml.sax.SAXException
java.io.IOException
SitemapModelComponent.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.ContentHandler
startElement
in class org.apache.cocoon.transformation.AbstractSAXTransformer
org.xml.sax.SAXException
ContentHandler.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.ContentHandler
endElement
in class org.apache.cocoon.transformation.AbstractSAXTransformer
org.xml.sax.SAXException
ContentHandler.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.Disposable
dispose
in class org.apache.cocoon.transformation.AbstractSAXTransformer
Disposable.dispose()
public void recycle()
recycle
in interface org.apache.avalon.excalibur.pool.Recyclable
recycle
in class org.apache.cocoon.transformation.AbstractSAXTransformer
Recyclable.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 |