User-defined functions can be stored in the prolog of a SNAT document and invoked by the expressions used in the metadata attributes.