<?xml version="1.0" encoding="utf-16"?>
<ECSchema schemaName="Unit_Attributes" nameSpacePrefix="units_attribs" version="1.0" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.2.0">
    <!-- Used to identify a schema with unit system defaults  -->
    <ECClass typeName="IsUnitSystemSchema" isDomainClass="True" isCustomAttributeClass="True"></ECClass>
    <ECClass typeName="SI_UnitSystem" isDomainClass="True" isCustomAttributeClass="True"></ECClass>
    <ECClass typeName="US_UnitSystem" isDomainClass="True" isCustomAttributeClass="True"></ECClass>
    <ECClass typeName="Mixed_UnitSystem" isDomainClass="True" isCustomAttributeClass="True"></ECClass>
    <ECClass typeName="Dimension_Attributes" isDomainClass="True" isCustomAttributeClass="True">
        <ECProperty propertyName="DisplayName" typeName="string" />
        <ECProperty propertyName="DimensionalDescription" typeName="string" />
        <ECProperty propertyName="DimensionalDerivation" typeName="string" />
    </ECClass>
    <ECClass typeName="KindOfQuantity_Attributes" isDomainClass="True" isCustomAttributeClass="True">
        <ECProperty propertyName="DisplayName" typeName="string" />
        <ECProperty propertyName="Description" typeName="string" />
        <ECProperty propertyName="Dimension" typeName="string" />
        <ECProperty propertyName="DimensionDisplayName" typeName="string" />
        <ECProperty propertyName="DimensionalDescription" typeName="string" />
    </ECClass>
    <ECClass typeName="Unit_Attributes" isDomainClass="True" isCustomAttributeClass="True">
        <ECProperty propertyName="Dimension" typeName="string" />
        <ECProperty propertyName="UnitSystem" typeName="string" />
        <ECProperty propertyName="Label" typeName="string" />
        <ECProperty propertyName="ShortLabel" typeName="string" />
        <ECProperty propertyName="ConversionType" typeName="string" />
        <ECProperty propertyName="BaseUnit" typeName="string" />
        <ECProperty propertyName="ConversionFactor" typeName="double" />
        <ECProperty propertyName="ConversionOffset" typeName="double" />
    </ECClass>
    <ECClass typeName="UnitSpecifications" isDomainClass="True" isCustomAttributeClass="True">
        <ECArrayProperty propertyName="UnitSpecificationList" typeName="UnitSpecification" minOccurs="0" maxOccurs="unbounded" />
    </ECClass>
    <ECClass typeName="UnitSpecification" isDomainClass="True" isCustomAttributeClass="True" isStruct="True">
        <ECProperty propertyName="DimensionName" typeName="string" />
        <ECProperty propertyName="KindOfQuantityName" typeName="string" />
        <ECProperty propertyName="UnitName" typeName="string" />
        <ECArrayProperty propertyName="AllowableUnits" typeName="string" minOccurs="0" maxOccurs="unbounded" />
    </ECClass>
    <ECClass typeName="DisplayUnitSpecification" isDomainClass="True" isCustomAttributeClass="True">
        <ECProperty propertyName="DisplayFormatString" typeName="string" description="This string follows the format of the format string used by Double.ToString (string format)" />
        <ECProperty propertyName="DisplayFormatKey" typeName="string" description="The UnitSpecification key of the group of properties this DisplayUnitSpecification is to be applied to.  It may be prefixed with the full schema name to restrict it to a perticular schema" />
        <ECProperty propertyName="DisplayUnitName" typeName="string" />
    </ECClass>
</ECSchema>
