org.apache.cocoon.components.modules.input
Class ProjectPathModule
java.lang.Object
org.apache.avalon.framework.logger.AbstractLogEnabled
org.apache.cocoon.components.modules.input.AbstractInputModule
org.apache.cocoon.components.modules.input.ProjectPathModule
- All Implemented Interfaces:
- Disposable, Component, Configurable, LogEnabled, ThreadSafe, InputModule
public class ProjectPathModule
- extends AbstractInputModule
- implements ThreadSafe
ProjectPathModule provides relative and absolute paths with regards to the root of a project.
Config:
<component-instance logger="core.modules.input"
name="myproject"
class="org.apache.cocoon.components.modules.input.ProjectPathModule">
<uri-prefix>my/project/</uri-prefix>
</component-instance>
Usage:
<map:transform src="skins/{forrest:skin}/xslt/fo/document2html.xsl">
<map:parameter name="base" value="{myproject:relative}"/>
</map:transform>
And then prepend this to all image paths:
...
<xsl:param name="base"/>
...
<xsl:template match="img">
<img src="{concat($base, @src)}" ...
...
</xsl:template>
Then if you are in my/project/some/folder/page.html, the image will have a relative path bact to the root of the project.
<img src="../../imagename.png"/>
Using 'myproject:path' would have given you: /some/folder/page.html
Using 'myproject:folder' would have given you: /some/folder/
- Version:
- $Id: ProjectPathModule.html 1304258 2012-03-23 10:09:27Z ilgrosso $
Fields inherited from interface org.apache.cocoon.components.modules.input.InputModule |
ROLE |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
PROJECT_PARAM_NAME
protected static final String PROJECT_PARAM_NAME
- See Also:
- Constant Field Values
PROJECT_PARAM_DEFAULT
protected static final String PROJECT_PARAM_DEFAULT
- See Also:
- Constant Field Values
projectBase
protected String projectBase
ProjectPathModule
public ProjectPathModule()
configure
public void configure(Configuration conf)
throws ConfigurationException
- Description copied from class:
AbstractInputModule
- Configures the database access helper.
Takes all elements nested in component declaration and stores
them as key-value pairs in
settings
. Nested
configuration option are not catered for. This way global
configuration options can be used.
For nested configurations override this function.
- Specified by:
configure
in interface Configurable
- Overrides:
configure
in class AbstractInputModule
- Throws:
ConfigurationException
- See Also:
Configurable.configure(org.apache.avalon.framework.configuration.Configuration)
getAttribute
public Object getAttribute(String name,
Configuration modeConf,
Map objectModel)
throws ConfigurationException
- Description copied from interface:
InputModule
- Standard access to an attribute's value. If more than one value
exists, the first is returned. If the value does not exist,
null is returned. To get all values, use
InputModule.getAttributeValues(String, Configuration, Map)
or
InputModule.getAttributeNames(Configuration, Map)
and
InputModule.getAttribute(String, Configuration, Map)
to get them one by one.
- Specified by:
getAttribute
in interface InputModule
- Overrides:
getAttribute
in class AbstractInputModule
- Parameters:
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.
- Throws:
ConfigurationException
- See Also:
InputModule.getAttribute(java.lang.String, org.apache.avalon.framework.configuration.Configuration, java.util.Map)
getAttributeNames
public Iterator getAttributeNames(Configuration modeConf,
Map objectModel)
throws ConfigurationException
- Description copied from interface:
InputModule
- Returns an Iterator of String objects containing the names
of the attributes available. If no attributes are available,
the method returns an empty Iterator.
- Specified by:
getAttributeNames
in interface InputModule
- Overrides:
getAttributeNames
in class AbstractInputModule
- Parameters:
modeConf
- column's mode configuration from resource
description. This argument is optional.
- Throws:
ConfigurationException
- See Also:
InputModule.getAttributeNames(org.apache.avalon.framework.configuration.Configuration, java.util.Map)
getAttributeValues
public Object[] getAttributeValues(String name,
Configuration modeConf,
Map objectModel)
throws ConfigurationException
- Description copied from interface:
InputModule
- Returns an array of String objects containing all of the values
the given attribute has, or null if the attribute does not
exist. As an alternative,
InputModule.getAttributeNames(Configuration, Map)
together with
InputModule.getAttribute(String, Configuration, Map)
can be used to get the
values one by one.
- Specified by:
getAttributeValues
in interface InputModule
- Overrides:
getAttributeValues
in class AbstractInputModule
- Parameters:
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.
- Throws:
ConfigurationException
- See Also:
InputModule.getAttributeValues(java.lang.String, org.apache.avalon.framework.configuration.Configuration, java.util.Map)
Copyright © 1999-2010 The Apache Software Foundation. All Rights Reserved.