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.
An example would be
<<Plural(count(Child),' ','s')>>of my child
<<Plural(count(Child),' is','ren are')>> <<ForEach(Child)>><<When(position() > 1, and )>><<Name>><<End()>>
Sometimes the number cannot be inferred using count() 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():
<<Plural((OnlyOneChild = 'Y'),' ','s')>>of my child
<<Plural((OnlyOneChild = 'Y'),' is','ren are')>> <<ChildNames>>