Based on taxonomy I have I try to present answers in following table structure:
Based on my current understanding (which may be wrong as I am relatively new to xbrl) I build XBRL instance:
<xbrli:context id="y2024_DefinitionOfTimeHorizon_ShortTermMember">
<xbrli:entity>
<xbrli:identifier scheme="y2024">2024</xbrli:identifier>
</xbrli:entity>
<xbrli:period>
<xbrli:startDate>2024-01-01</xbrli:startDate>
<xbrli:endDate>2024-12-31</xbrli:endDate>
</xbrli:period>
<xbrli:scenario>
<xbrldi:explicitMember dimension="ifrs-sds:TimeHorizonAxis">
ifrs-sds:ShortTermMember
</xbrldi:explicitMember>
</xbrli:scenario>
</xbrli:context>
<ifrs-sds:DefinitionOfTimeHorizonExplanatory contextRef="y2024_DefinitionOfTimeHorizon_ShortTermMember">
Your explanatory text here for short term member...
</ifrs-sds:DefinitionOfTimeHorizonExplanatory>
But it fails during validation with an error:
[xbrldie:PrimaryItemDimensionallyInvalidError] Fact ifrs-sds:DefinitionOfTimeHorizonExplanatory context y2024_DefinitionOfTimeHorizon dimensionally not valid
If I remove xbrli:scenario tag and its children validation pass. But, how I can I give different definition of time horizon for every member if I cannot use them? What am I doing wrong here?
Current xbrl instance:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<xbrli:xbrl
xmlns="http://www.xbrl.org/2003/instance"
xmlns:xbrli="http://www.xbrl.org/2003/instance"
xmlns:xbrldi="http://www.xbrl.org/2006/xbrldi"
xmlns:link="http://www.xbrl.org/2003/linkbase"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
xmlns:ifrs-sds="https://xbrl.ifrs.org/taxonomy/2024-04-26/ifrs-sds"
xmlns:ifrs-ibg="https://xbrl.ifrs.org/taxonomy/2024-04-26/ifrs-ibg"
xmlns:dtr-2022="http://www.example.org/dtr-2022"
>
<link:schemaRef
xlink:type="simple"
xlink:href="https://ifrs-taxonomy-ya2zds.s3.eu-central-1.amazonaws.com/ifrs_sds_2024-04-26.xsd"
/>
<xbrli:context id="y2024_DefinitionOfTimeHorizon_ShortTermMember">
<xbrli:entity>
<xbrli:identifier scheme="y2024">y2024</xbrli:identifier>
</xbrli:entity>
<xbrli:period>
<xbrli:startDate>2024-01-01</xbrli:startDate>
<xbrli:endDate>2024-12-31</xbrli:endDate>
</xbrli:period>
<xbrli:scenario>
<xbrldi:explicitMember dimension="ifrs-sds:TimeHorizonAxis">
ifrs-sds:ShortTermMember
</xbrldi:explicitMember>
</xbrli:scenario>
</xbrli:context>
<xbrli:context id="y2024_DefinitionOfTimeHorizon_MediumTermMember">
<xbrli:entity>
<xbrli:identifier scheme="y2024">2024</xbrli:identifier>
</xbrli:entity>
<xbrli:period>
<xbrli:startDate>2024-01-01</xbrli:startDate>
<xbrli:endDate>2024-12-31</xbrli:endDate>
</xbrli:period>
<xbrli:scenario>
<xbrldi:explicitMember dimension="ifrs-sds:TimeHorizonAxis">
ifrs-sds:MediumTermMember
</xbrldi:explicitMember>
</xbrli:scenario>
</xbrli:context>
<xbrli:context id="y2024_DefinitionOfTimeHorizon_LongTermMember">
<xbrli:entity>
<xbrli:identifier scheme="y2024">2024</xbrli:identifier>
</xbrli:entity>
<xbrli:period>
<xbrli:startDate>2024-01-01</xbrli:startDate>
<xbrli:endDate>2024-12-31</xbrli:endDate>
</xbrli:period>
<xbrli:scenario>
<xbrldi:explicitMember dimension="ifrs-sds:TimeHorizonAxis">
ifrs-sds:LongTermMember
</xbrldi:explicitMember>
</xbrli:scenario>
</xbrli:context>
<ifrs-sds:DefinitionOfTimeHorizonExplanatory
contextRef="y2024_DefinitionOfTimeHorizon_ShortTermMember"
>
Your explanatory text here for short term member...
</ifrs-sds:DefinitionOfTimeHorizonExplanatory>
<ifrs-sds:DefinitionOfTimeHorizonExplanatory
contextRef="y2024_DefinitionOfTimeHorizon_MediumTermMember"
>
Your explanatory text here for medium term member...
</ifrs-sds:DefinitionOfTimeHorizonExplanatory>
<ifrs-sds:DefinitionOfTimeHorizonExplanatory
contextRef="y2024_DefinitionOfTimeHorizon_LongTermMember"
>
Your explanatory text here for long term member...
</ifrs-sds:DefinitionOfTimeHorizonExplanatory>
<ifrs-sds:HowDefinitionOfTimeHorizonsIsLinkedToPlanningHorizonsUsedForStrategicDecisionmakingExplanatory
contextRef="y2024_DefinitionOfTimeHorizon_ShortTermMember"
>
Your explanatory text here for short term member...
</ifrs-sds:HowDefinitionOfTimeHorizonsIsLinkedToPlanningHorizonsUsedForStrategicDecisionmakingExplanatory>
<ifrs-sds:HowDefinitionOfTimeHorizonsIsLinkedToPlanningHorizonsUsedForStrategicDecisionmakingExplanatory
contextRef="y2024_DefinitionOfTimeHorizon_MediumTermMember"
>
Your explanatory text here for medium term member...
</ifrs-sds:HowDefinitionOfTimeHorizonsIsLinkedToPlanningHorizonsUsedForStrategicDecisionmakingExplanatory>
<ifrs-sds:HowDefinitionOfTimeHorizonsIsLinkedToPlanningHorizonsUsedForStrategicDecisionmakingExplanatory
contextRef="y2024_DefinitionOfTimeHorizon_LongTermMember"
>
Your explanatory text here for long term member...
</ifrs-sds:HowDefinitionOfTimeHorizonsIsLinkedToPlanningHorizonsUsedForStrategicDecisionmakingExplanatory>
</xbrli:xbrl>
I also tried different layout inside context element, but with this new layout I just got different error:
<xbrli:context id="y2024_DefinitionOfTimeHorizon_LongTermMember">
<xbrli:entity>
<xbrli:identifier scheme="y2024">2024</xbrli:identifier>
<xbrli:segment>
<xbrldi:explicitMember dimension="ifrs-sds:TimeHorizonAxis">
ifrs-sds:LongTermMember
</xbrldi:explicitMember>
</xbrli:segment>
</xbrli:entity>
<xbrli:period>
<xbrli:startDate>2024-01-01</xbrli:startDate>
<xbrli:endDate>2024-12-31</xbrli:endDate>
</xbrli:period>
</xbrli:context>
[xbrlxe:nonDimensionalSegmentScenarioContent] Contexts MUST not contain non-dimensional content: y2024_DefinitionOfTimeHorizonExplanatory_LongTermMember - disclosure-v6.xbrl 25, 40
Thank you for providing the full document.
The namespace for xbrldi
seems incorrect, it should be http://xbrl.org/2006/xbrldi
without the www.
.
The reason why the incorrect namespace leads to a higher-level error rather than an XML validation error (which would have been more informative) is that in the lower layer of XBRL, there can be any content inside segments and scenarios, even with unknown namespaces. XBRL Dimensions adds a layer that requires specific elements such as xbrldi:explicitMember
(in the http://xbrl.org/2006/xbrldi
namespace).
Whether segment or scenario should be used differs by jurisdiction, and is specified in the taxonomy as discussed in the comments. In the US (EDGAR) segments are commonly used. In the EU (ESEF) scenarios are commonly used.
Generally, the correctness of namespaces can be checked by adding a hint for schema validation with an xsi:schemaLocation
attribute containing an alternating list of namespaces and schema locations. The check for validity against the schemas can be done with an independent XML processor (although it will not perform any XBRL-related checks, only XML schema validity checks) or with an XBRL processor (which typically contains a validating XML processor).
<xbrli:xbrl
xmlns:xbrli="http://www.xbrl.org/2003/instance"
xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
xmlns:link="http://www.xbrl.org/2003/linkbase"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
xmlns:ifrs-sds="https://xbrl.ifrs.org/taxonomy/2024-04-26/ifrs-sds"
xsi:schemaLocation="
http://www.xbrl.org/2003/instance
https://www.xbrl.org/2003/2003-12-31/xbrl-instance-2003-12-31.xsd
http://xbrl.org/2006/xbrldi
http://www.xbrl.org/2006/xbrldi-2006.xsd
http://www.xbrl.org/2003/linkbase
https://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd
http://www.w3.org/1999/xlink
https://www.w3.org/XML/2008/06/xlink.xsd
http://www.xbrl.org/2003/iso4217
https://www.xbrl.org/2003/iso4217-2003-05-16.xsd
https://xbrl.ifrs.org/taxonomy/2024-04-26/ifrs-sds
https://xbrl.ifrs.org/taxonomy/ifrs_sds/2024-04-26/ifrs_sds/ifrs_sds-cor_2024-04-26.xsd
"
>
A few more hints: