|
||||||||||
| 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.components.modules.input.AbstractInputModule
org.apache.cocoon.components.modules.input.ContextPathModule
public class ContextPathModule
ContextPathModule provides a real filesystem path for a virtual
context-relative path. If this mapping cannot be performed (e.g. Cocoon is
running in a .war file), null will be returned. Compared to
the RealPathModule this module is able to provide the "real" absolute
path even if the application is mounted outside the webapp tree of Cocoon.
Note: the primary use for this is to support external code that wants a filesystem path. For example, The FOP 0.20.x serializer doesn't like relative image paths, and doesn't understand Cocoon URLs (context:, cocoon: etc). So we pass the *2fo.xsl stylesheet a real filesystem path to where we keep our images:
A absolute path argument like {contextpath:/resources} will be resolved from the root context path (ie. COCOON_HOME/build/webapp) whereas a relative path attribute like {contextpath:./resources} will be resolved from the location of the sitemap that uses it. If that sitemap is mounted outside the usual COCOON_HOME/build/webapp the path resolved with this modules points to the correct location.
<map:transform src="skins/{forrest:skin}/xslt/fo/document2fo.xsl">
<map:parameter name="basedir" value="{contextpath:resources}/"/>
</map:transform>
And then prepend this to all image paths:
...
<xsl:param name="basedir" select="''"/>
...
<xsl:template match="img">
<xsl:variable name="imgpath" select="concat($basedir, @src)"/>
<fo:external-graphic src="{$imgpath}" ...
...
</xsl:template>
| Field Summary |
|---|
| Fields inherited from class org.apache.cocoon.components.modules.input.AbstractInputModule |
|---|
settings |
| Fields inherited from interface org.apache.cocoon.components.modules.input.InputModule |
|---|
ROLE |
| Constructor Summary | |
|---|---|
ContextPathModule()
|
|
| Method Summary | |
|---|---|
void |
dispose()
(non-Javadoc) |
Object |
getAttribute(String name,
Configuration modeConf,
Map objectModel)
Standard access to an attribute's value. |
Iterator |
getAttributeNames(Configuration modeConf,
Map objectModel)
Returns an Iterator of String objects containing the names of the attributes available. |
Object[] |
getAttributeValues(String name,
Configuration modeConf,
Map objectModel)
Returns an array of String objects containing all of the values the given attribute has, or null if the attribute does not exist. |
void |
service(ServiceManager manager)
(non-Javadoc) * @see Serviceable#service(ServiceManager) |
| Methods inherited from class org.apache.cocoon.components.modules.input.AbstractInputModule |
|---|
configure |
| 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 |
| Constructor Detail |
|---|
public ContextPathModule()
| Method Detail |
|---|
public void service(ServiceManager manager)
throws ServiceException
service in interface ServiceableServiceExceptionpublic void dispose()
dispose in interface Disposabledispose in class AbstractInputModuleDisposable.dispose()
public Object getAttribute(String name,
Configuration modeConf,
Map objectModel)
throws ConfigurationException
InputModuleInputModule.getAttributeValues(String, Configuration, Map) or
InputModule.getAttributeNames(Configuration, Map) and
InputModule.getAttribute(String, Configuration, Map) to get them one by one.
getAttribute in interface InputModulegetAttribute in class AbstractInputModulename - a String that specifies what the caller thinks
would identify an attribute. This is mainly a fallback if no
modeConf is present.modeConf - column's mode configuration from resource
description. This argument is optional.
ConfigurationException
public Iterator getAttributeNames(Configuration modeConf,
Map objectModel)
throws ConfigurationException
InputModule
getAttributeNames in interface InputModulegetAttributeNames in class AbstractInputModulemodeConf - column's mode configuration from resource
description. This argument is optional.
ConfigurationException
public Object[] getAttributeValues(String name,
Configuration modeConf,
Map objectModel)
throws ConfigurationException
InputModuleInputModule.getAttributeNames(Configuration, Map) together with
InputModule.getAttribute(String, Configuration, Map) can be used to get the
values one by one.
getAttributeValues in interface InputModulegetAttributeValues in class AbstractInputModulename - a String that specifies what the caller thinks
would identify an attributes. This is mainly a fallback
if no modeConf is present.modeConf - column's mode configuration from resource
description. This argument is optional.
ConfigurationException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||