-
Type:
New Feature
-
Status:
Open
-
Priority:
Major
-
Resolution:
Unresolved
-
Affects Version/s:
None
-
-
-
-
Proposal:
Hide
- 3.20 Fragment identifiers
URIs and IRIs [RFC3987] have an optional fragment identifier. Fragment identifiers may be used to refer to resources contained in an OpenDocument document.
If the document is an OpenDocument package, the fragment identifier refers to an element in the OpenDocument package's content.xml.
If the document is a single XML file, the fragment identifier refers to an element in it.
A fragment identifier may refer to an XML element via its xml:id [19.914] attribute.
As described in 19.910.37 <text:section-source>, a fragment identifier may also be used to refer to a text section by its text:name [19.835.14] attribute.
Fragment identifiers may also be used to refer to elements in an implementation-dependent manner.
If there are multiple valid interpretations of which element a fragment identifier refers to in a given OpenDocument document, it is implementation-dependent which one of them is chosen.
Show
3.20 Fragment identifiers
URIs and IRIs [RFC3987] have an optional fragment identifier. Fragment identifiers may be used to refer to resources contained in an OpenDocument document.
If the document is an OpenDocument package, the fragment identifier refers to an element in the OpenDocument package's content.xml.
If the document is a single XML file, the fragment identifier refers to an element in it.
A fragment identifier may refer to an XML element via its xml:id [19.914] attribute.
As described in 19.910.37 <text:section-source>, a fragment identifier may also be used to refer to a text section by its text:name [19.835.14] attribute.
Fragment identifiers may also be used to refer to elements in an implementation-dependent manner.
If there are multiple valid interpretations of which element a fragment identifier refers to in a given OpenDocument document, it is implementation-dependent which one of them is chosen.
{"report":{"apdex":0.5,"isInitial":true,"journeyId":"bd150806-dcbc-428e-9f35-324047c93b04","key":"jira.project.issue.view-issue","navigationType":0,"readyForUser":3634.5999999046326,"redirectCount":0,"resourceLoadedEnd":3758.8999996185303,"resourceLoadedStart":551.2999997138977,"resourceTiming":[{"duration":389.90000009536743,"initiatorType":"link","name":"https://issues.oasis-open.org/s/3edeca31ab9ba77980aae0809fbe7121-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/0a4716d29b2d5b1bdcdb168b4efc119e/_/download/contextbatch/css/_super/batch.css","startTime":551.2999997138977,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":551.2999997138977,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":941.1999998092651,"responseStart":0,"secureConnectionStart":0},{"duration":484.7999997138977,"initiatorType":"link","name":"https://issues.oasis-open.org/s/7d2823769c2e7b66e860863fe879b7f8-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/9aebb1c0aaa4c36289529757ec9dbb54/_/download/contextbatch/css/project.issue.navigator,jira.view.issue,jira.global,atl.general,-_super/batch.css?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&richediton=true","startTime":551.5999999046326,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":551.5999999046326,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1036.3999996185303,"responseStart":0,"secureConnectionStart":0},{"duration":485.5,"initiatorType":"link","name":"https://issues.oasis-open.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/8.0.5/_/download/batch/com.atlassian.auiplugin:split_aui.pattern.label/com.atlassian.auiplugin:split_aui.pattern.label.css","startTime":552,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":552,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1037.5,"responseStart":0,"secureConnectionStart":0},{"duration":486,"initiatorType":"link","name":"https://issues.oasis-open.org/s/645acc233eb869f48a571293b8358a7d-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:global-static-adgs/jira.webresources:global-static-adgs.css","startTime":552.1999998092651,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":552.1999998092651,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1038.1999998092651,"responseStart":0,"secureConnectionStart":0},{"duration":491.2000002861023,"initiatorType":"link","name":"https://issues.oasis-open.org/s/a0dd6509771c1de0667aae5429c04cda-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:global-static/jira.webresources:global-static.css","startTime":552.3999996185303,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":552.3999996185303,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1043.5999999046326,"responseStart":0,"secureConnectionStart":0},{"duration":979,"initiatorType":"script","name":"https://issues.oasis-open.org/s/e5479157e7a0c08b005e6522f2f04104-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/0a4716d29b2d5b1bdcdb168b4efc119e/_/download/contextbatch/js/_super/batch.js?locale=en-US","startTime":552.5999999046326,"connectEnd":1294.1999998092651,"connectStart":1243.7999997138977,"domainLookupEnd":1243.7999997138977,"domainLookupStart":1243.6999998092651,"fetchStart":552.5999999046326,"redirectEnd":0,"redirectStart":0,"requestStart":1294.2999997138977,"responseEnd":1531.5999999046326,"responseStart":1351.5999999046326,"secureConnectionStart":1269.8999996185303},{"duration":2745.4000000953674,"initiatorType":"script","name":"https://issues.oasis-open.org/s/83514d5d4e8543747b02042eafcdc99c-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/9aebb1c0aaa4c36289529757ec9dbb54/_/download/contextbatch/js/project.issue.navigator,jira.view.issue,jira.global,atl.general,-_super/batch.js?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&locale=en-US&richediton=true","startTime":553.1999998092651,"connectEnd":1299.5999999046326,"connectStart":1247.5,"domainLookupEnd":1247.5,"domainLookupStart":1247.5,"fetchStart":553.1999998092651,"redirectEnd":0,"redirectStart":0,"requestStart":1299.5999999046326,"responseEnd":3298.5999999046326,"responseStart":1338.1999998092651,"secureConnectionStart":1275},{"duration":793.8000001907349,"initiatorType":"script","name":"https://issues.oasis-open.org/s/70bb2263e59e7e1f04fbd137c80b895b-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/aae1242f5fc81cc6a5bb8bc963ccda29/_/download/contextbatch/js/atl.global,-_super/batch.js?locale=en-US","startTime":553.3999996185303,"connectEnd":1307.5999999046326,"connectStart":1249,"domainLookupEnd":1249,"domainLookupStart":1249,"fetchStart":553.3999996185303,"redirectEnd":0,"redirectStart":0,"requestStart":1307.6999998092651,"responseEnd":1347.1999998092651,"responseStart":1345.7999997138977,"secureConnectionStart":1283.0999999046326},{"duration":796.4000000953674,"initiatorType":"script","name":"https://issues.oasis-open.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:calendar-en/jira.webresources:calendar-en.js","startTime":553.5999999046326,"connectEnd":1311.5,"connectStart":1262.2999997138977,"domainLookupEnd":1262.2999997138977,"domainLookupStart":1262.2999997138977,"fetchStart":553.5999999046326,"redirectEnd":0,"redirectStart":0,"requestStart":1311.5,"responseEnd":1350,"responseStart":1349.1999998092651,"secureConnectionStart":1287},{"duration":875.3000001907349,"initiatorType":"script","name":"https://issues.oasis-open.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:calendar-localisation-moment/jira.webresources:calendar-localisation-moment.js","startTime":553.7999997138977,"connectEnd":1399.1999998092651,"connectStart":1347,"domainLookupEnd":1347,"domainLookupStart":1347,"fetchStart":553.7999997138977,"redirectEnd":0,"redirectStart":0,"requestStart":1400.5999999046326,"responseEnd":1429.0999999046326,"responseStart":1428.0999999046326,"secureConnectionStart":1370.8999996185303},{"duration":877.6000003814697,"initiatorType":"script","name":"https://issues.oasis-open.org/s/cda37faab827dbdf305de8efe8282062-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/8.0.5/_/download/batch/com.atlassian.auiplugin:split_aui.pattern.label/com.atlassian.auiplugin:split_aui.pattern.label.js?locale=en-US","startTime":553.8999996185303,"connectEnd":1399.8999996185303,"connectStart":1349.8999996185303,"domainLookupEnd":1349.8999996185303,"domainLookupStart":1349.8999996185303,"fetchStart":553.8999996185303,"redirectEnd":0,"redirectStart":0,"requestStart":1400.8999996185303,"responseEnd":1431.5,"responseStart":1430,"secureConnectionStart":1373.8999996185303},{"duration":516,"initiatorType":"link","name":"https://issues.oasis-open.org/s/07245784f53abc49bad9d9d4d36c577a-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/cadc4f20cc5c138dee060d42cf85f220/_/download/contextbatch/css/jira.global.look-and-feel,-_super/batch.css","startTime":554.0999999046326,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":554.0999999046326,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1070.0999999046326,"responseStart":0,"secureConnectionStart":0},{"duration":959.9000000953674,"initiatorType":"script","name":"https://issues.oasis-open.org/rest/api/1.0/shortcuts/803004/a29179d70fa8562374ee16707692af77/shortcuts.js?context=issuenavigation&context=issueaction","startTime":554.1999998092651,"connectEnd":1477.2999997138977,"connectStart":1429,"domainLookupEnd":1429,"domainLookupStart":1428.8999996185303,"fetchStart":554.1999998092651,"redirectEnd":0,"redirectStart":0,"requestStart":1477.3999996185303,"responseEnd":1514.0999999046326,"responseStart":1505.3999996185303,"secureConnectionStart":1452.8999996185303},{"duration":518.1999998092651,"initiatorType":"link","name":"https://issues.oasis-open.org/s/f77fd89aa211a76b20e9b0e63564383c-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/4a9288299d147101bf66484f4be48925/_/download/contextbatch/css/com.atlassian.jira.projects.sidebar.init,-_super,-jira.view.issue,-project.issue.navigator/batch.css?jira.create.linked.issue=true&richediton=true","startTime":569.0999999046326,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":569.0999999046326,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1087.2999997138977,"responseStart":0,"secureConnectionStart":0},{"duration":955.7000002861023,"initiatorType":"script","name":"https://issues.oasis-open.org/s/41525c48ddceeb9b11e54085268fc285-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/4a9288299d147101bf66484f4be48925/_/download/contextbatch/js/com.atlassian.jira.projects.sidebar.init,-_super,-jira.view.issue,-project.issue.navigator/batch.js?jira.create.linked.issue=true&locale=en-US&richediton=true","startTime":569.2999997138977,"connectEnd":1480.0999999046326,"connectStart":1431.3999996185303,"domainLookupEnd":1431.3999996185303,"domainLookupStart":1431.3999996185303,"fetchStart":569.2999997138977,"redirectEnd":0,"redirectStart":0,"requestStart":1480.0999999046326,"responseEnd":1525,"responseStart":1508.5,"secureConnectionStart":1455.5},{"duration":2881.5,"initiatorType":"script","name":"https://issues.oasis-open.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:bigpipe-js/jira.webresources:bigpipe-js.js","startTime":593.7999997138977,"connectEnd":3399.0999999046326,"connectStart":3346.7999997138977,"domainLookupEnd":3346.7999997138977,"domainLookupStart":3346.7999997138977,"fetchStart":593.7999997138977,"redirectEnd":0,"redirectStart":0,"requestStart":3399.199999809265,"responseEnd":3475.2999997138977,"responseStart":3431,"secureConnectionStart":3370.699999809265},{"duration":1459.6999998092651,"initiatorType":"xmlhttprequest","name":"https://issues.oasis-open.org/rest/webResources/1.0/resources","startTime":1686.5999999046326,"connectEnd":3115.3999996185303,"connectStart":3066.8999996185303,"domainLookupEnd":3066.8999996185303,"domainLookupStart":3066.8999996185303,"fetchStart":1686.5999999046326,"redirectEnd":0,"redirectStart":0,"requestStart":3115.5,"responseEnd":3146.2999997138977,"responseStart":3145.3999996185303,"secureConnectionStart":3091}],"threshold":1000,"fetchStart":0,"domainLookupStart":171,"domainLookupEnd":349,"connectStart":349,"connectEnd":436,"secureConnectionStart":374,"requestStart":436,"responseStart":519,"responseEnd":635,"domLoading":540,"domInteractive":3932,"domContentLoadedEventStart":3932,"domContentLoadedEventEnd":4023,"domComplete":4267,"loadEventStart":4267,"loadEventEnd":4275,"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","marks":[],"measures":[],"correlationId":"1008ec80f2a8df","effectiveType":"4g","downlink":10,"rtt":0,"serverDuration":173,"dbReadsTimeInMs":21,"dbConnsTimeInMs":25,"applicationHash":"4d4040e0714d65b7fffa4801569d014c0b16eaa9","experiments":[]}}
i see this as 2 closely related proposals:
1. map alphanumeric fragment identifiers to elements with the corresponding xml:id attribute in the root document's content.xml
this enables a common use case, users want to reference some heading or bookmark in the document with a URI.
2. map full paths in fragment identifiers to arbitrary elements with the corresponding xml:id attribute in arbitrary files in the ODF package
this is a pretty esoteric use-case, how often do end-users want to reference for example some element inside an embedded object inside the document?
(maybe this was intended to allow for using such URIs with fragment identifiers as a base URI to resolve relative URIs against, but unfortunately that is not possible because RFC 3986 "5.1. Establishing a Base URI" says that fragments are stripped off URIs first.)
so i'm in favor of 1. but not necessarily 2.