<?xml version="1.0" encoding="utf-16"?>
<ECSchema schemaName="Bentley_Standard_Classes" 
          nameSpacePrefix="bsm" 
          version="1.0" 
          description="Bentley Standard Classes" 
          displayLabel="Bentley Standard Classes" 
          xmlns="http://www.bentley.com/schemas/Bentley.ECXML.2.0">

    <!-- This metaclass is used to query instances count. -->    
    <ECClass typeName="InstanceCount" 
             description="Metaclass used to query the instance count of EC classes" 
             displayLabel="Instance count" >
        <ECProperty propertyName="ECSchemaName" typeName="string" description="Schema that contains the class." />
        <ECProperty propertyName="ECClassName" typeName="string" description="Class for which the instance count was realized." />
        <ECProperty propertyName="Count" typeName="int" description="Number of instances in the class." />
    </ECClass>

    <!-- A special class to be added, during deserialization of schemas, as a contraint class to all 
    such relationship classes that have no constrainedClasses defined in their source or target -->
    <ECClass typeName="AnyClass"
             description="A special class to be added, during deserialization of schemas, as a contraint class to all such relationship classes that have no constrainedClasses defined in their source or target"
             displayLabel="Any Class"
             isDomainClass="False" >
    </ECClass>

    <ECClass typeName="ECSchemaInfo"
             description="A class to store information about an ECSchema"
             displayLabel="ECSchemaInfo"
             isDomaintClass="True" >
        <ECProperty propertyName="Name" typeName="string" description="Schema Name" />
        <ECProperty propertyName="VersionMajor" typeName="int" description="Schema Major Version" />
        <ECProperty propertyName="VersionMinor" typeName="int" description="Schema Minor Version" />
    </ECClass>
</ECSchema>
