<?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>