---
title: "Generator: GetFile"
source: https://dev.pageseeder.com/reference/advanced/website/berlioz/generators/org.weborganic.bastille.psml.GetFile.html
description: "Returns a file from the path"
last_updated: 2026-08-07T17:09:54+10:00
tokens: ~523
---

# Generator: GetFile

| Property | Value |
| --- | --- |
| Class name: | org.weborganic.bastille.psml.GetFile |
| Version: | 0.7.0 - 6 October 2012 |
| Library: | Bastille |
| Cacheable: | Yes |
| Generated: | 2012-12-21 |

## Description

This generator returns a file specified `path` parameter from the PSML root folder.

This is the most generic generator to retrieve PSML data. For convenience, two similar generators are provided:

- [Generator: GetContentFile](org.weborganic.bastille.psml.GetContentFile.md) to retrieve files in the `/content` folder.
- [Generator: GetConfigFile](org.weborganic.bastille.psml.GetConfigFile.md) to retrieve files in the `/config` folder.

### Configuration

The root of the PSML folder can be configured using the global property `bastille.psml.root` which can be either a absolute path or a relative path from the global repository. By default, the PSML root is set to `psml`.

For example:

```xml

<bastille>
  <psml root="psml"/>
</bastille>
```

### Parameters

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

> **Note:** If the path resolves to a location outside the PSML folder, this generator won’t read the file.

### Returned XML

Like most PSML generators returning a PSML file, this generator wraps 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 the following:

```xml

<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 returns the following:

```xml

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

The status of this generator is set to ‘NOT\_FOUND’.

