## Index

Related topics:

CountForEachPluralWhen

### Tutorial Videos

Tutorial videos are available here.

# The Plural Function

## Ensuring that plurals are correct on your XpressDox templates

Generic documents such as contracts often have numerous places where constructs such as “is/are” or “child/children” appear, or else the singular is always used document has a preamble has words to the effect of  “masculine usage includes feminine and singular includes plural”.

With document assembly, and XpressDox in particular, the template can provide instructions in conditional assembly which can insert the correct words in the places where they are required.

### Using the Plural function (in conjunction with a ForEach)

An example would be:

``````The name«Plural(count(Child),' ','s')» of my child«Plural(count(Child),' is','ren are')» «ForEach(Child)»«When(position() > 1, and )»«Name»«End()»
``````

### Using the Plural function (with no ForEach)

Sometimes the number cannot be inferred using the count() function and has to be requested explicitly either in an interview or perhaps in data retrieved from a data source which is nonetheless not repeating.  In this case a boolean expression can be used in place of count:

``````«ChooseUsingCheckBox(OnlyOneChild,Y,N)» The name«Plural((OnlyOneChild = 'Y'),' ','s')» of my child«Plural((OnlyOneChild = 'Y'),' is','ren are')» «ChildNames»
``````

### Using the When command with the Count function

Another way of achieving plurals is with the the When command, like this:

``````«ForEach(Beneficiary)»
«FirstName» «LastName»
«End()»
The «when(count(Beneficiary) > 1,beneficiaries are,beneficiary is)» …
``````