|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.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 Serviceable
ServiceException
public void dispose()
dispose
in interface Disposable
dispose
in class AbstractInputModule
Disposable.dispose()
public Object getAttribute(String name, Configuration modeConf, Map objectModel) throws ConfigurationException
InputModule
InputModule.getAttributeValues(String, Configuration, Map)
or
InputModule.getAttributeNames(Configuration, Map)
and
InputModule.getAttribute(String, Configuration, Map)
to get them one by one.
getAttribute
in interface InputModule
getAttribute
in class AbstractInputModule
name
- 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 InputModule
getAttributeNames
in class AbstractInputModule
modeConf
- column's mode configuration from resource
description. This argument is optional.
ConfigurationException
public Object[] getAttributeValues(String name, Configuration modeConf, Map objectModel) throws ConfigurationException
InputModule
InputModule.getAttributeNames(Configuration, Map)
together with
InputModule.getAttribute(String, Configuration, Map)
can be used to get the
values one by one.
getAttributeValues
in interface InputModule
getAttributeValues
in class AbstractInputModule
name
- 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 |