+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE Class SYSTEM "../../DTD">
+<Class>
+ <label xml:lang="en">Slot</label>
+ <comment xml:lang="en">
+ <p>
+ A <ref target="ore:Proxy">Proxy</ref> representing a single item in an <ptr target="olo:OrderedList">Ordered List</ptr>.
+ </p>
+ <p>
+ Slots are required to have an <ref target="olo:index">index</ref>, which should be less than or equal to its <ref target="olo:ordered_list">ordered list</ref>¦s <ref target="olo:length">length</ref>, and an <ref target="olo:item">item</ref>, providing the thing being proxied by the slot.
+ </p>
+ <p>
+ A Slot is not actually required to have an ordered list by <ptr target="(OLO)"/>, and this caveat may prove useful for ordered slots in <ref target="ore:Aggregation">Aggregations</ref> of indeterminate length, or Aggregations which allow multiple slots with identical indices.
+ In these cases, Slots will still never·the·less <ref target="ore:proxyIn">be a proxy in</ref> some Aggregation, which provides the context for interpreting their index.
+ </p>
+ </comment>
+ <isDefinedBy>
+ <SpecificResource source="(OLO)" fragment="Slot"/>
+ </isDefinedBy>
+ <subClassOf>
+ <resource name="ore:Proxy"/>
+ </subClassOf>
+ <subClassOf>
+ <Restriction>
+ <onProperty>
+ <resource name="olo:index"/>
+ </onProperty>
+ <cardinality>1</cardinality>
+ </Restriction>
+ </subClassOf>
+ <subClassOf>
+ <Restriction>
+ <onProperty>
+ <resource name="olo:item"/>
+ </onProperty>
+ <cardinality>1</cardinality>
+ </Restriction>
+ </subClassOf>
+ <subClassOf>
+ <Restriction>
+ <onProperty>
+ <resource name="olo:ordered_list"/>
+ </onProperty>
+ <maxCardinality>1</maxCardinality>
+ </Restriction>
+ </subClassOf>
+ <hasKey>
+ <resource name="olo:ordered_list"/>
+ <resource name="olo:index"/>
+ </hasKey>
+</Class>