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.
Usage
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
/comments/123
matches the following pattern
/comments/{id}
and resolves the URI variable id
so that
id=123
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:
https://www.pageseeder.org/projects/furi.html
The API documentation is also available at:
https://www.pageseeder.org/apidocs/furi/latest/index.html