<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
  This file is part of the Dutch Taxonomy (Nederlandse Taxonomie; NT)
  Intellectual Property of the State of the Netherlands
  Architecture: NT20
  Version: 20260218.b
  Release date: Oct, 2025
-->
<link:linkbase xmlns:gen="http://xbrl.org/2008/generic" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:msg="http://xbrl.org/2010/message" xmlns:xff="http://www.xbrl.org/2010/function/formula" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xbrl.org/2008/generic http://www.xbrl.org/2008/generic-link.xsd http://xbrl.org/2010/message http://www.xbrl.org/2010/generic-message.xsd">
  <link:roleRef roleURI="http://www.xbrl.org/2010/role/message" xlink:href="http://www.xbrl.org/2010/generic-message.xsd#standard-message" xlink:type="simple"/>
  <link:roleRef roleURI="urn:kvk:linkrole:notes-property-plant-equipment-tangible-assets-other-movement-specification" xlink:href="../../../kvk/20251210.b/dictionary/kvk-linkroles.xsd#kvk-lr_NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification" xlink:type="simple"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/arcrole/2010/assertion-unsatisfied-message" xlink:href="http://www.xbrl.org/2010/validation-message.xsd#assertion-unsatisfied-message" xlink:type="simple"/>
  <gen:link xlink:role="urn:kvk:linkrole:notes-property-plant-equipment-tangible-assets-other-movement-specification" xlink:type="extended">
    <gen:arc order="1" xlink:arcrole="http://xbrl.org/arcrole/2010/assertion-unsatisfied-message" xlink:from="valueAssertion_NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1ExistenceThnNoExistence1_loc" xlink:to="NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1ExistenceThnNoExistence1_assertion-unsatisfied-message_EN" xlink:type="arc"/>
    <gen:arc order="1" xlink:arcrole="http://xbrl.org/arcrole/2010/assertion-unsatisfied-message" xlink:from="valueAssertion_NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1ExistenceThnNoExistenceCovPU1_loc" xlink:to="NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1ExistenceThnNoExistenceCovPU1_assertion-unsatisfied-message_EN" xlink:type="arc"/>
    <gen:arc order="1" xlink:arcrole="http://xbrl.org/arcrole/2010/assertion-unsatisfied-message" xlink:from="valueAssertion_NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1PeriodStartMutationPeriodEnd2_loc" xlink:to="NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1PeriodStartMutationPeriodEnd2_assertion-unsatisfied-message_EN" xlink:type="arc"/>
    <gen:arc order="1" xlink:arcrole="http://xbrl.org/arcrole/2010/assertion-unsatisfied-message" xlink:from="valueAssertion_NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1SumOfChildrenParentDebit1T3_loc" xlink:to="NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1SumOfChildrenParentDebit1T3_assertion-unsatisfied-message_EN" xlink:type="arc"/>
    <gen:arc order="1" xlink:arcrole="http://xbrl.org/arcrole/2010/assertion-unsatisfied-message" xlink:from="valueAssertion_NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1SumOfChildrenParentDebit1T4_loc" xlink:to="NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1SumOfChildrenParentDebit1T4_assertion-unsatisfied-message_EN" xlink:type="arc"/>
    <link:loc xlink:href="ocw-notes-property-plant-equipment-tangible-assets-other-movement-specification-for.xml#valueAssertion_NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1ExistenceThnNoExistence1" xlink:label="valueAssertion_NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1ExistenceThnNoExistence1_loc" xlink:type="locator"/>
    <link:loc xlink:href="ocw-notes-property-plant-equipment-tangible-assets-other-movement-specification-for.xml#valueAssertion_NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1ExistenceThnNoExistenceCovPU1" xlink:label="valueAssertion_NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1ExistenceThnNoExistenceCovPU1_loc" xlink:type="locator"/>
    <link:loc xlink:href="ocw-notes-property-plant-equipment-tangible-assets-other-movement-specification-for.xml#valueAssertion_NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1PeriodStartMutationPeriodEnd2" xlink:label="valueAssertion_NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1PeriodStartMutationPeriodEnd2_loc" xlink:type="locator"/>
    <link:loc xlink:href="ocw-notes-property-plant-equipment-tangible-assets-other-movement-specification-for.xml#valueAssertion_NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1SumOfChildrenParentDebit1T3" xlink:label="valueAssertion_NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1SumOfChildrenParentDebit1T3_loc" xlink:type="locator"/>
    <link:loc xlink:href="ocw-notes-property-plant-equipment-tangible-assets-other-movement-specification-for.xml#valueAssertion_NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1SumOfChildrenParentDebit1T4" xlink:label="valueAssertion_NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1SumOfChildrenParentDebit1T4_loc" xlink:type="locator"/>
    <msg:message id="NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1PeriodStartMutationPeriodEnd2_assertion-unsatisfied-message_EN" xlink:label="NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1PeriodStartMutationPeriodEnd2_assertion-unsatisfied-message_EN" xlink:role="http://www.xbrl.org/2010/role/message" xlink:type="resource" xml:lang="en">Reported value of `PropertyPlantEquipment` at end of period SHOULD be equal to sum of reported value of `PropertyPlantEquipment` at beginning of period and changes in that value during period, `PropertyPlantEquipmentMovement`. | {if (not(xff:has-fallback-value(xs:QName('varArc_NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1PeriodStartMutationPeriodEnd2_PropertyPlantEquipmentEnd')))) then ((for $v in $varArc_NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1PeriodStartMutationPeriodEnd2_PropertyPlantEquipmentEnd return concat("name:'",$v/name(),"', value:'",$v,"', @contextRef:'",$v/@contextRef,"', @unitRef:'",$v/@unitRef,"' | "))) else ''}{if (not(xff:has-fallback-value(xs:QName('varArc_NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1PeriodStartMutationPeriodEnd2_PropertyPlantEquipmentStart')))) then ((for $v in $varArc_NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1PeriodStartMutationPeriodEnd2_PropertyPlantEquipmentStart return concat("name:'",$v/name(),"', value:'",$v,"', @contextRef:'",$v/@contextRef,"', @unitRef:'",$v/@unitRef,"' | "))) else ''}{if (not(xff:has-fallback-value(xs:QName('varArc_NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1PeriodStartMutationPeriodEnd2_PropertyPlantEquipmentMovement')))) then ((for $v in $varArc_NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1PeriodStartMutationPeriodEnd2_PropertyPlantEquipmentMovement return concat("name:'",$v/name(),"', value:'",$v,"', @contextRef:'",$v/@contextRef,"', @unitRef:'",$v/@unitRef,"' | "))) else ''}</msg:message>
    <msg:message id="NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1ExistenceThnNoExistence1_assertion-unsatisfied-message_EN" xlink:label="NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1ExistenceThnNoExistence1_assertion-unsatisfied-message_EN" xlink:role="http://www.xbrl.org/2010/role/message" xlink:type="resource" xml:lang="en">`PropertyPlantEquipmentActualCostPrice` MUST NOT be reported, because `PropertyPlantEquipmentCostPrice` is reported. | {if (not(xff:has-fallback-value(xs:QName('varArc_NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1ExistenceThnNoExistence1_PropertyPlantEquipmentCostPrice')))) then ((for $v in $varArc_NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1ExistenceThnNoExistence1_PropertyPlantEquipmentCostPrice return concat("name:'",$v/name(),"', value:'",$v,"', @contextRef:'",$v/@contextRef,"', @unitRef:'",$v/@unitRef,"' | "))) else ''}{if (not(xff:has-fallback-value(xs:QName('varArc_NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1ExistenceThnNoExistence1_PropertyPlantEquipmentActualCostPrice')))) then ((for $v in $varArc_NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1ExistenceThnNoExistence1_PropertyPlantEquipmentActualCostPrice return concat("name:'",$v/name(),"', value:'",$v,"', @contextRef:'",$v/@contextRef,"', @unitRef:'",$v/@unitRef,"' | "))) else ''}</msg:message>
    <msg:message id="NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1ExistenceThnNoExistenceCovPU1_assertion-unsatisfied-message_EN" xlink:label="NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1ExistenceThnNoExistenceCovPU1_assertion-unsatisfied-message_EN" xlink:role="http://www.xbrl.org/2010/role/message" xlink:type="resource" xml:lang="en">`PropertyPlantEquipmentCostPrice` MUST NOT be reported, because `PropertyPlantEquipmentActualCostPrice` is reported. | {if (not(xff:has-fallback-value(xs:QName('varArc_NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1ExistenceThnNoExistenceCovPU1_PropertyPlantEquipmentActualCostPrice')))) then ((for $v in $varArc_NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1ExistenceThnNoExistenceCovPU1_PropertyPlantEquipmentActualCostPrice return concat("name:'",$v/name(),"', value:'",$v,"', @contextRef:'",$v/@contextRef,"', @unitRef:'",$v/@unitRef,"' | "))) else ''}{if (not(xff:has-fallback-value(xs:QName('varArc_NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1ExistenceThnNoExistenceCovPU1_PropertyPlantEquipmentCostPrice')))) then ((for $v in $varArc_NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1ExistenceThnNoExistenceCovPU1_PropertyPlantEquipmentCostPrice return concat("name:'",$v/name(),"', value:'",$v,"', @contextRef:'",$v/@contextRef,"', @unitRef:'",$v/@unitRef,"' | "))) else ''}</msg:message>
    <msg:message id="NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1SumOfChildrenParentDebit1T4_assertion-unsatisfied-message_EN" xlink:label="NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1SumOfChildrenParentDebit1T4_assertion-unsatisfied-message_EN" xlink:role="http://www.xbrl.org/2010/role/message" xlink:type="resource" xml:lang="en">`PropertyPlantEquipmentMovement` SHOULD be equal to the summation of the underlying values. | {if (not(xff:has-fallback-value(xs:QName('varArc_NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1SumOfChildrenParentDebit1T4_PropertyPlantEquipmentMovement')))) then ((for $v in $varArc_NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1SumOfChildrenParentDebit1T4_PropertyPlantEquipmentMovement return concat("name:'",$v/name(),"', value:'",$v,"', @contextRef:'",$v/@contextRef,"', @unitRef:'",$v/@unitRef,"' | "))) else ''}{if (not(xff:has-fallback-value(xs:QName('varArc_NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1SumOfChildrenParentDebit1T4_ChildrenOfPropertyPlantEquipmentMovementDebit')))) then ((for $v in $varArc_NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1SumOfChildrenParentDebit1T4_ChildrenOfPropertyPlantEquipmentMovementDebit return concat("name:'",$v/name(),"', value:'",$v,"', @contextRef:'",$v/@contextRef,"', @unitRef:'",$v/@unitRef,"' | "))) else ''}{if (not(xff:has-fallback-value(xs:QName('varArc_NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1SumOfChildrenParentDebit1T4_ChildrenOfPropertyPlantEquipmentMovementCredit')))) then ((for $v in $varArc_NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1SumOfChildrenParentDebit1T4_ChildrenOfPropertyPlantEquipmentMovementCredit return concat("name:'",$v/name(),"', value:'",$v,"', @contextRef:'",$v/@contextRef,"', @unitRef:'",$v/@unitRef,"' | "))) else ''}</msg:message>
    <msg:message id="NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1SumOfChildrenParentDebit1T3_assertion-unsatisfied-message_EN" xlink:label="NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1SumOfChildrenParentDebit1T3_assertion-unsatisfied-message_EN" xlink:role="http://www.xbrl.org/2010/role/message" xlink:type="resource" xml:lang="en">`PropertyPlantEquipment` SHOULD be equal to the summation of the underlying values. | {if (not(xff:has-fallback-value(xs:QName('varArc_NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1SumOfChildrenParentDebit1T3_PropertyPlantEquipment')))) then ((for $v in $varArc_NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1SumOfChildrenParentDebit1T3_PropertyPlantEquipment return concat("name:'",$v/name(),"', value:'",$v,"', @contextRef:'",$v/@contextRef,"', @unitRef:'",$v/@unitRef,"' | "))) else ''}{if (not(xff:has-fallback-value(xs:QName('varArc_NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1SumOfChildrenParentDebit1T3_ChildrenOfPropertyPlantEquipmentDebit')))) then ((for $v in $varArc_NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1SumOfChildrenParentDebit1T3_ChildrenOfPropertyPlantEquipmentDebit return concat("name:'",$v/name(),"', value:'",$v,"', @contextRef:'",$v/@contextRef,"', @unitRef:'",$v/@unitRef,"' | "))) else ''}{if (not(xff:has-fallback-value(xs:QName('varArc_NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1SumOfChildrenParentDebit1T3_ChildrenOfPropertyPlantEquipmentCredit')))) then ((for $v in $varArc_NotesPropertyPlantEquipmentTangibleAssetsOtherMovementSpecification_PrtFST1SumOfChildrenParentDebit1T3_ChildrenOfPropertyPlantEquipmentCredit return concat("name:'",$v/name(),"', value:'",$v,"', @contextRef:'",$v/@contextRef,"', @unitRef:'",$v/@unitRef,"' | "))) else ''}</msg:message>
  </gen:link>
</link:linkbase>
