This is an automated email from the ASF dual-hosted git repository.
kwin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-site.git
The following commit(s) were added to refs/heads/master by this push:
new a068e949b SLING-12978 clarify resource path for non-existing resources.
a068e949b is described below
commit a068e949b70f4b7f30b8c1faaabcbff4962f0a63
Author: Konrad Windszus <[email protected]>
AuthorDate: Fri Nov 28 13:45:54 2025 +0100
SLING-12978 clarify resource path for non-existing resources.
---
.../content/documentation/the-sling-engine/url-decomposition.md | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git
a/src/main/jbake/content/documentation/the-sling-engine/url-decomposition.md
b/src/main/jbake/content/documentation/the-sling-engine/url-decomposition.md
index a8eb30673..d5800acaa 100644
--- a/src/main/jbake/content/documentation/the-sling-engine/url-decomposition.md
+++ b/src/main/jbake/content/documentation/the-sling-engine/url-decomposition.md
@@ -10,9 +10,10 @@ tags=core,urls
During the *Resource Resolution* step, the client request URI (as being
returned by
[HttpServletRequest.getRequestURI()](https://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletRequest.html#getRequestURI()))
is decomposed into the following parts (in exactly this order):
1. **Resource Path** - For existing resources the resource path is the longest
match (also considering its
[mappings](/documentation/the-sling-engine/mappings-for-resource-resolution.html))
pointing to a resource where the next character is either a dot (`.`) or it is
the full request URI.
-Otherwise (for a path not matching any existing resource) the resource path
ends at the *first dot (`.`)* in the request url. The exact logic for
retrieving the resource path is implemented at
[ResourceResolver.resolve(HttpServletRequest,
String)](https://sling.apache.org/apidocs/sling11/org/apache/sling/api/resource/ResourceResolver.html#resolve-javax.servlet.http.HttpServletRequest-java.lang.String-)
called from `org.apache.sling.engine.impl.request.RequestData.initResource()`
with th [...]
-1. **Selectors** - If the first character in the request URL after the
resource path is a dot (`.`), the string after the dot up to but not including
the last dot before the next slash character or the end of the request URL
comprises the selectors. If the resource path spans the complete request URL no
selectors exist. If only one dot follows the resource path before the end of
the request URL or the next slash, also no selectors exist.
-1. **Extension** - The string after the last dot after the resource path in
the request URL but before the end of the request URL or the next slash after
the resource path in the request URL is the extension.
+Otherwise (for a path not matching any existing resource) this contains the
+*full request URI* (including extensions, selectors and suffix if existing).
The exact logic for retrieving the resource path is implemented at
[ResourceResolver.resolve(HttpServletRequest,
String)](https://sling.apache.org/apidocs/sling11/org/apache/sling/api/resource/ResourceResolver.html#resolve-javax.servlet.http.HttpServletRequest-java.lang.String-)
called from `org.apache.sling.engine.impl.request.RequestData.initResource()`
with the 2nd argument being the request path. *It is imp [...]
+1. **Selectors** - If the first character in the request URL after the
resource path is a dot (`.`), the string after the dot up to but not including
the last dot before the next slash character or the end of the request URL
comprises the selectors. If the resource path spans the complete request URL no
selectors exist. If only one dot follows the resource path before the end of
the request URL or the next slash, also no selectors exist. For non-existing
resources the selectors are the [...]
+1. **Extension** - The string after the last dot after the resource path in
the request URL but before the end of the request URL or the next slash after
the resource path in the request URL is the extension. For non-existing
resources just the part after the last dot of the request URI.
1. **Suffix** - If the request URL contains a slash character after the
resource path and optional selectors and extension, the path starting with the
slash up to the end of the request URL is the suffix path. Otherwise, the
suffix path is empty. Note, that after the resource path at least a dot must be
in the URL to let Sling detect the suffix.
In addition since [SLING-848](https://issues.apache.org/jira/browse/SLING-848)
there may be one or multiple **request path parameters** passed in the form
`;<key>=<value>`. Those request path parameters are only supported directly
after the *Resource Path* or after the *Extension*. The value needs to be
enclosed in `'` if it contains a `.` and is not located after the extension.