org.apache.cocoon.components.modules.input
Class ProjectPathModule

java.lang.Object
  extended byorg.apache.cocoon.util.AbstractLogEnabled
      extended byorg.apache.cocoon.components.modules.input.AbstractInputModule
          extended byorg.apache.cocoon.components.modules.input.ProjectPathModule
All Implemented Interfaces:
Configurable, Disposable, org.apache.cocoon.components.modules.input.InputModule, ThreadSafe

public class ProjectPathModule
extends org.apache.cocoon.components.modules.input.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 1304280 2012-03-23 11:18:01Z ilgrosso $

Field Summary
protected static String PROJECT_PARAM_DEFAULT
           
protected static String PROJECT_PARAM_NAME
           
protected  String projectBase
           
 
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
ProjectPathModule()
           
 
Method Summary
 void configure(Configuration conf)
           
 Object getAttribute(String name, Configuration modeConf, Map objectModel)
           
 Iterator getAttributeNames(Configuration modeConf, Map objectModel)
           
 Object[] getAttributeValues(String name, Configuration modeConf, Map objectModel)
           
 
Methods inherited from class org.apache.cocoon.components.modules.input.AbstractInputModule
dispose
 
Methods inherited from class org.apache.cocoon.util.AbstractLogEnabled
getLogger, setLogger
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

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
Constructor Detail

ProjectPathModule

public ProjectPathModule()
Method Detail

configure

public void configure(Configuration conf)
               throws ConfigurationException
Specified by:
configure in interface Configurable
Throws:
ConfigurationException
See Also:
Configurable.configure(org.apache.avalon.framework.configuration.Configuration)

getAttribute

public Object getAttribute(String name,
                           Configuration modeConf,
                           Map objectModel)
                    throws ConfigurationException
Specified by:
getAttribute in interface org.apache.cocoon.components.modules.input.InputModule
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
Specified by:
getAttributeNames in interface org.apache.cocoon.components.modules.input.InputModule
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
Specified by:
getAttributeValues in interface org.apache.cocoon.components.modules.input.InputModule
Throws:
ConfigurationException
See Also:
InputModule.getAttributeValues(java.lang.String, org.apache.avalon.framework.configuration.Configuration, java.util.Map)


Copyright 1999-2008 The Apache Software Foundation. All Rights Reserved.