From dd26e6cd56cb9d871ea7013a4071bf1d18cf3a44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martynas=20Jusevi=C4=8Dius?= Date: Wed, 20 May 2026 21:46:53 +0200 Subject: [PATCH 1/3] Resolve static asset URLs against $lapp:origin per dataspace MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Static asset URLs (CSS, JS, img, translations.rdf catalog keys) were being resolved against $ac:contextUri — the request-derived URL — which in proxied multi-dataspace setups can carry the wrong host and render links pointing at the root dataspace instead of the current one. Switch every `resolve-uri('static/...', $ac:contextUri)` to use $lapp:origin (the matched application's configured origin), guard the Style template with a $lapp:origin predicate, and re-emit the Web-Client-imported CSS explicitly so the override no longer chains through xsl:apply-imports. Also collapse the ontology location-mapping catalog keys: the first argument is already an absolute URI, so resolve-uri(...) was a no-op wrapper — replaced with a plain xs:anyURI(...) cast. SKOS package layout.xsl gets the same treatment. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../linkeddatahub/packages/skos/layout.xsl | 16 ++-- .../xsl/bootstrap/2.3.2/admin/acl/layout.xsl | 4 +- .../bootstrap/2.3.2/client/admin/signup.xsl | 4 +- .../xsl/bootstrap/2.3.2/client/block.xsl | 2 +- .../bootstrap/2.3.2/client/block/chart.xsl | 4 +- .../bootstrap/2.3.2/client/block/query.xsl | 8 +- .../xsl/bootstrap/2.3.2/client/block/view.xsl | 10 +-- .../bootstrap/2.3.2/client/constructor.xsl | 12 +-- .../xsl/bootstrap/2.3.2/client/form.xsl | 4 +- .../xsl/bootstrap/2.3.2/client/modal.xsl | 72 +++++++-------- .../xsl/bootstrap/2.3.2/client/navigation.xsl | 36 ++++---- .../xsl/bootstrap/2.3.2/document.xsl | 40 ++++----- .../xsl/bootstrap/2.3.2/imports/default.xsl | 4 +- .../xsl/bootstrap/2.3.2/imports/lapp.xsl | 6 +- .../xsl/bootstrap/2.3.2/imports/rdf.xsl | 4 +- .../xsl/bootstrap/2.3.2/layout.xsl | 89 ++++++++++--------- .../xsl/bootstrap/2.3.2/resource.xsl | 38 ++++---- .../atomgraph/linkeddatahub/xsl/client.xsl | 2 +- 18 files changed, 179 insertions(+), 176 deletions(-) diff --git a/src/main/resources/com/linkeddatahub/packages/skos/layout.xsl b/src/main/resources/com/linkeddatahub/packages/skos/layout.xsl index bea9ee244..e629ebbc2 100644 --- a/src/main/resources/com/linkeddatahub/packages/skos/layout.xsl +++ b/src/main/resources/com/linkeddatahub/packages/skos/layout.xsl @@ -1,6 +1,7 @@ + @@ -15,6 +16,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ldh="&ldh;" +xmlns:lapp="&lapp;" xmlns:ac="∾" xmlns:rdf="&rdf;" xmlns:rdfs="&rdfs;" @@ -31,29 +33,29 @@ exclude-result-prefixes="#all"> - + - + - + - + - + - + - + diff --git a/src/main/webapp/static/com/atomgraph/linkeddatahub/xsl/bootstrap/2.3.2/admin/acl/layout.xsl b/src/main/webapp/static/com/atomgraph/linkeddatahub/xsl/bootstrap/2.3.2/admin/acl/layout.xsl index 08664947c..b8e14932a 100644 --- a/src/main/webapp/static/com/atomgraph/linkeddatahub/xsl/bootstrap/2.3.2/admin/acl/layout.xsl +++ b/src/main/webapp/static/com/atomgraph/linkeddatahub/xsl/bootstrap/2.3.2/admin/acl/layout.xsl @@ -71,8 +71,8 @@ WHERE
  • - diff --git a/src/main/webapp/static/com/atomgraph/linkeddatahub/xsl/bootstrap/2.3.2/client/admin/signup.xsl b/src/main/webapp/static/com/atomgraph/linkeddatahub/xsl/bootstrap/2.3.2/client/admin/signup.xsl index 3d2eb6d0e..3994ca1b0 100644 --- a/src/main/webapp/static/com/atomgraph/linkeddatahub/xsl/bootstrap/2.3.2/client/admin/signup.xsl +++ b/src/main/webapp/static/com/atomgraph/linkeddatahub/xsl/bootstrap/2.3.2/client/admin/signup.xsl @@ -139,7 +139,7 @@ exclude-result-prefixes="#all"> - + @@ -294,7 +294,7 @@ exclude-result-prefixes="#all"> - + diff --git a/src/main/webapp/static/com/atomgraph/linkeddatahub/xsl/bootstrap/2.3.2/client/block.xsl b/src/main/webapp/static/com/atomgraph/linkeddatahub/xsl/bootstrap/2.3.2/client/block.xsl index c432f02ac..153212dfb 100644 --- a/src/main/webapp/static/com/atomgraph/linkeddatahub/xsl/bootstrap/2.3.2/client/block.xsl +++ b/src/main/webapp/static/com/atomgraph/linkeddatahub/xsl/bootstrap/2.3.2/client/block.xsl @@ -360,7 +360,7 @@ exclude-result-prefixes="#all" - + diff --git a/src/main/webapp/static/com/atomgraph/linkeddatahub/xsl/bootstrap/2.3.2/client/block/chart.xsl b/src/main/webapp/static/com/atomgraph/linkeddatahub/xsl/bootstrap/2.3.2/client/block/chart.xsl index 147694c88..70598ed86 100644 --- a/src/main/webapp/static/com/atomgraph/linkeddatahub/xsl/bootstrap/2.3.2/client/block/chart.xsl +++ b/src/main/webapp/static/com/atomgraph/linkeddatahub/xsl/bootstrap/2.3.2/client/block/chart.xsl @@ -272,11 +272,11 @@ exclude-result-prefixes="#all"
    diff --git a/src/main/webapp/static/com/atomgraph/linkeddatahub/xsl/bootstrap/2.3.2/client/block/query.xsl b/src/main/webapp/static/com/atomgraph/linkeddatahub/xsl/bootstrap/2.3.2/client/block/query.xsl index 544cb9ef0..e822b5ff9 100644 --- a/src/main/webapp/static/com/atomgraph/linkeddatahub/xsl/bootstrap/2.3.2/client/block/query.xsl +++ b/src/main/webapp/static/com/atomgraph/linkeddatahub/xsl/bootstrap/2.3.2/client/block/query.xsl @@ -223,22 +223,22 @@ exclude-result-prefixes="#all"
    diff --git a/src/main/webapp/static/com/atomgraph/linkeddatahub/xsl/bootstrap/2.3.2/client/block/view.xsl b/src/main/webapp/static/com/atomgraph/linkeddatahub/xsl/bootstrap/2.3.2/client/block/view.xsl index 25ade6d2a..8b2dfd079 100644 --- a/src/main/webapp/static/com/atomgraph/linkeddatahub/xsl/bootstrap/2.3.2/client/block/view.xsl +++ b/src/main/webapp/static/com/atomgraph/linkeddatahub/xsl/bootstrap/2.3.2/client/block/view.xsl @@ -224,7 +224,7 @@ exclude-result-prefixes="#all" - + @@ -796,7 +796,7 @@ exclude-result-prefixes="#all" @@ -820,14 +820,14 @@ exclude-result-prefixes="#all" @@ -1148,7 +1148,7 @@ exclude-result-prefixes="#all"