---
title: "XML Format Strings"
description: "Format strings are a simple way to generate string representations of objects, typically used in lists."
permalink: /docs/app-features/xml-format-strings/
---
# XML Format Strings

Format strings are a simple way to generate string representations of objects, typically used in lists.

Simple examples:

* `{name} {last_name}` on a person object could generate "Peter Parker".
* `{make} {model} [{serial_number}]` on an asset object could generate `Samsung P1000 [1234567890]`.

Anything between curly braces is evaluated on the object. This includes field access, as well as relationship lookups. For example, assuming an asset has a relationship `category`, we could have `{asset.category.name}`.

### Format specifiers

We can specify how values should be formatted by using a colon after the field name. The possible format specifiers depend on the type of value we're formatting.

The following format specifiers are currently supported for the various types:

#### text

`{value:n}` pads `value` on the *right* with spaces until it is `n` characters long. Has no effect if `value` is longer than `n`.

#### integer

`{value:n}` pads the `value` on the *left* with spaces until it is `n` characters long. Has no effect if `value` is longer than `n`.

`{value:0n}` pads the `value` on the *left* with zeros until it is `n` characters long. Has no effect if `value` is longer than `n`.

#### number

`{value:.Xf}` displays a decimal value with exactly X digits. For example, `R {value:.2f}` could be used to format Rand values.

### Escaping

Curly braces are escaped by using double curly braces. For example, `{{some text}}` generates "&#123;some text&#125;".

### Credits

The format is loosely based on [PEP 3101](http://www.python.org/dev/peps/pep-3101/).

