Skip to main content


A-Z glossary of PageSeeder concepts

URI pattern

A URI pattern (or URL pattern) is simple URL-like notation to match URLs. They are used by the PageSeeder services and Berlioz to identify the user interface to render or service to invoke from a URL.


In PageSeeder and Berlioz, each service or user interface component is bound to one or more URI patterns. When they process incoming URLs, they try to match the URLs to these patterns to identify the process to invoke for that URL.

Origin and notation

The URI pattern language used by PageSeeder originates from the URI templates specification. A URI template performs the opposite transformation by generating a URL from a template and replacing the URL variables inside the template.

URI templates use curly brackets to represent the dynamic components of the URI (called URI variables). For example, {id}.

Pattern matching

When a URL matches a specific pattern, any URI variable is resolved and supplied to the server. For example:

The URL below


matches the following pattern


and resolves the URI variable id so that


Matching conflict

If a URL matches multiple patterns, there are several ways of resolving the conflict. In PageSeeder, the default rule is to match the longest static part of the pattern, that is the longest string without including the URI variables.

An alternative rule would be to match the first defined pattern instead.

Further information

For more information on the URI templates project, visit: 

The API documentation is also available at: 

Created on , last edited on