Advanced

Advanced topics

 

Generator: GetContentFile

Class name:org.weborganic.bastille.psml.GetContentFile
Version:0.7.5 - 25 October 2012
Library:Bastille
Cacheable:Yes
Generated:2012-12-21

Description

This generator returns the content of a PSML file using specified path parameter from the PSML content folder.

The content folder is the folder named 'content' under the PSML root folder.

The purpose of the content folder is to include the files which can be viewed as part of the main content of the Website, that is could be addressable or viewed on their own on the site.

Note

It is perfectly possible to store and access files outside the /content folder as part of the main content. But you will need to use the GetFile generator instead.

Configuration

No configuration is required.

The root of the PSML folder can be configured using the global property bastille.psml.root which can be either an absolute path or a relative path from the global repository.

By default, the PSML root is set to "psml" which usually corresponds to the /WEB-INF/psml folder of your Web application.

Parameters

This generator requires a path parameter. The path parameter must be a relative path from within the PSML content folder to a PSML file without the extension.

Note

If the path resolves to a location outside the PSML folder, this generator will not read the file.

Returned XML

Like most PSML generators returning a PSML file, this generator will wrap the content of the file with the <psml-file> element.

The @base attribute is the relative path from the PSML root to the folder, since references (xrefs and image sources) in PSML are relative, this attribute can be used to construct the path to images or cross-referenced documents.

See below:

<psml-file name="[file name]" base="[base path]" status="[status]">
  <!-- PSML content -->
</psml-file>

Error handling

If the file cannot be found or read, this generator will return the following:

<psml-file name="[file name]" base="[base path]" status="not-found">
Unable to find file: [path]
</psml-file>

The status of this generator will be set to 'NOT_FOUND'.

Usage

<generator class="org.weborganic.bastille.psml.GetContentFile" ... >
  <parameter name="path" value="[path]"/>
</generator>

Note that it is equivalent to:

<generator class="org.weborganic.bastille.psml.GetFile" ...>
  <parameter name="path" value="content/[path]"/>
</generator>

Created on , last edited on