<?xml version="1.0" encoding="UTF-8"?>
<!--
  OpenChainGraph export taxonomy — ocg-ext (chaingraph_export:xbrl, OCG Standard §13.8).
  A small, self-contained XBRL 2.1 schema published by Post Oak Labs that defines the
  concepts used by exporters/xbrl.mjs for the `ocg-ext` profile. This is the regime-neutral,
  lightweight alternative to mapping into a regulator taxonomy (e.g. EBA COREP): we publish
  and own these concepts rather than fabricating regulator concepts.

  Served at: https://ainumbers.co/chaingraph/xbrl/ocg-ext/ocg-ext-2026.xsd
  Referenced by every ocg-ext instance via <link:schemaRef>.
  Validate an instance with any XBRL 2.1 processor (e.g. Arelle).
-->
<xs:schema
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:xbrli="http://www.xbrl.org/2003/instance"
    xmlns:link="http://www.xbrl.org/2003/linkbase"
    xmlns:xlink="http://www.w3.org/1999/xlink"
    xmlns:ocg="https://ainumbers.co/chaingraph/xbrl/ocg-ext"
    targetNamespace="https://ainumbers.co/chaingraph/xbrl/ocg-ext"
    elementFormDefault="qualified" attributeFormDefault="unqualified">

  <xs:import namespace="http://www.xbrl.org/2003/instance"
             schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd"/>

  <!-- ── String concepts ─────────────────────────────────────────────── -->
  <xs:element name="Verdict"          type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true"/>
  <xs:element name="Grade"            type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true"/>
  <xs:element name="RecommendedModel" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true"/>

  <!-- ── Monetary concepts (require unitRef = an iso4217 currency) ──────── -->
  <xs:element name="AnnualSaving"                 type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true"/>
  <xs:element name="NetClearedInitialMargin"      type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true"/>
  <xs:element name="GrossBilateralInitialMargin"  type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true"/>
  <xs:element name="NettingBenefit"               type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true"/>
  <xs:element name="EstimatedVaRBasedMargin"      type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true"/>
  <xs:element name="RwaDelta"                     type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true"/>

  <!-- ── Pure / ratio concepts (unitRef = pure) ────────────────────────── -->
  <xs:element name="NettingBenefitPct" type="xbrli:pureItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true"/>

  <!-- ── Generic key/value capture for any unmapped output_payload scalar ─
       XBRL 2.1 tuple so nothing is silently dropped while staying valid. -->
  <xs:element name="Key"   type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true"/>
  <xs:element name="Value" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true"/>
  <xs:element name="Fact" substitutionGroup="xbrli:tuple">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="ocg:Key"   minOccurs="1" maxOccurs="1"/>
        <xs:element ref="ocg:Value" minOccurs="1" maxOccurs="1"/>
      </xs:sequence>
      <xs:attribute name="id" type="xs:ID" use="optional"/>
    </xs:complexType>
  </xs:element>

</xs:schema>
