<?xml version="1.0" encoding="UTF-8"?>
<!---->
<!--################################################################################       -->
<!--# Redfish Schema:  MessageRegistry v1.6.0                                              -->
<!--#                                                                                      -->
<!--# For a detailed change log, see the README file contained in the DSP8010 bundle,      -->
<!--# available at http://www.dmtf.org/standards/redfish                                   -->
<!--# Copyright 2014-2022 DMTF.                                                            -->
<!--# For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright -->
<!--################################################################################       -->
<!---->
<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Version="4.0">

  <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Core.V1.xml">
    <edmx:Include Namespace="Org.OData.Core.V1" Alias="OData"/>
  </edmx:Reference>
  <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Capabilities.V1.xml">
    <edmx:Include Namespace="Org.OData.Capabilities.V1" Alias="Capabilities"/>
  </edmx:Reference>
  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/RedfishExtensions_v1.xml">
    <edmx:Include Namespace="RedfishExtensions.v1_0_0" Alias="Redfish"/>
    <edmx:Include Namespace="Validation.v1_0_0" Alias="Validation"/>
  </edmx:Reference>
  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Resource_v1.xml">
    <edmx:Include Namespace="Resource"/>
    <edmx:Include Namespace="Resource.v1_0_0"/>
  </edmx:Reference>

  <edmx:DataServices>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MessageRegistry">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>

      <EntityType Name="MessageRegistry" BaseType="Resource.v1_0_0.Resource" Abstract="true">
        <Annotation Term="OData.Description" String="The MessageRegistry schema describes all message registries.  It represents the properties for the message registries themselves."/>
        <Annotation Term="OData.LongDescription" String="This resource shall represent a message registry for a Redfish implementation."/>
        <Annotation Term="Capabilities.InsertRestrictions">
          <Record>
            <PropertyValue Property="Insertable" Bool="false"/>
          </Record>
        </Annotation>
        <Annotation Term="Capabilities.UpdateRestrictions">
          <Record>
            <PropertyValue Property="Updatable" Bool="false"/>
          </Record>
        </Annotation>
        <Annotation Term="Capabilities.DeleteRestrictions">
          <Record>
            <PropertyValue Property="Deletable" Bool="false"/>
          </Record>
        </Annotation>
      </EntityType>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MessageRegistry.v1_0_0">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="Redfish.Release" String="1.0"/>

      <EntityType Name="MessageRegistry" BaseType="MessageRegistry.MessageRegistry">
        <Property Name="Language" Type="Edm.String" Nullable="false">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The RFC5646-conformant language code for the message registry."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain an RFC5646-conformant language code."/>
          <Annotation Term="Redfish.Required"/>
        </Property>
        <Property Name="RegistryPrefix" Type="Edm.String" Nullable="false">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The single-word prefix that is used in forming and decoding MessageIds."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the Redfish Specification-defined prefix used in forming and decoding MessageIds that uniquely identifies all messages that belong to this message registry."/>
          <Annotation Term="Redfish.Required"/>
        </Property>
        <Property Name="RegistryVersion" Type="Edm.String" Nullable="false">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The message registry version in the middle portion of a MessageId."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the version of this message registry."/>
          <Annotation Term="Validation.Pattern" String="^\d+\.\d+\.\d+$"/>
          <Annotation Term="Redfish.Required"/>
        </Property>
        <Property Name="OwningEntity" Type="Edm.String" Nullable="false">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The organization or company that publishes this message registry."/>
          <Annotation Term="OData.LongDescription" String="This property shall represent the publisher of this message registry."/>
          <Annotation Term="Redfish.Required"/>
        </Property>
        <Property Name="Messages" Type="MessageRegistry.v1_0_0.MessageProperty" Nullable="false">
          <Annotation Term="OData.Description" String="The message keys contained in the message registry."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the message keys contained in the message registry.  The message keys are the suffix of the MessageId and shall be unique within this message registry."/>
          <Annotation Term="Redfish.Required"/>
        </Property>
      </EntityType>

      <ComplexType Name="MessageProperty" OpenType="true">
        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
        <Annotation Term="OData.Description" String="The message keys contained in the message registry."/>
        <Annotation Term="OData.LongDescription" String="This type shall contain the message keys contained in the message registry.  The message keys are the suffix of the MessageId and shall be unique within this message registry."/>
        <Annotation Term="Redfish.DynamicPropertyPatterns">
          <Collection>
            <Record>
              <PropertyValue Property="Pattern" String="[A-Za-z0-9]+"/>
              <PropertyValue Property="Type" String="MessageRegistry.v1_0_0.Message"/>
            </Record>
          </Collection>
        </Annotation>
      </ComplexType>

      <ComplexType Name="Message">
        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
        <Annotation Term="OData.Description" String="This type represents how a message is defined within the message registry."/>
        <Annotation Term="OData.LongDescription" String="The type shall represent how a message is defined within a message registry."/>
        <Property Name="Description" Type="Edm.String" Nullable="false">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="A short description of how and when to use this message."/>
          <Annotation Term="OData.LongDescription" String="This property shall indicate how and when this message is returned by the Redfish service."/>
          <Annotation Term="Redfish.Required"/>
        </Property>
        <Property Name="Message" Type="Edm.String" Nullable="false">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The actual message."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the message to display.  If a %integer is included in part of the string, it shall represent a string substitution for any MessageArgs that accompany the message, in order."/>
          <Annotation Term="Redfish.Required"/>
        </Property>
        <Property Name="Severity" Type="Edm.String" Nullable="false">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The severity of the message."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the severity of the condition resulting in the message, as defined in the 'Status' clause of the Redfish Specification.  Services can replace the severity defined in the message registry with a value more applicable to the implementation in message payloads and event payloads."/>
          <Annotation Term="Redfish.Required"/>
          <Annotation Term="Redfish.Revisions">
            <Collection>
              <Record>
                <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Deprecated"/>
                <PropertyValue Property="Version" String="v1_4_0"/>
                <PropertyValue Property="Description" String="This property has been deprecated in favor of MessageSeverity, which ties the values to the enumerations defined for the Health property within Status."/>
              </Record>
            </Collection>
          </Annotation>
        </Property>
        <Property Name="NumberOfArgs" Type="Edm.Int64" Nullable="false">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The number of arguments in the message."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the number of arguments that are substituted for the locations marked with %&lt;integer&gt; in the message."/>
          <Annotation Term="Redfish.Required"/>
          <Annotation Term="Validation.Minimum" Int="0"/>
        </Property>
        <Property Name="ParamTypes" Type="Collection(MessageRegistry.v1_0_0.ParamType)" Nullable="false">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The MessageArg types, in order, for the message."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain an ordered array of argument data types that match the data types of the MessageArgs."/>
        </Property>
        <Property Name="Resolution" Type="Edm.String" Nullable="false">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="Used to provide suggestions on how to resolve the situation that caused the error."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the resolution of the message.  Services can replace the resolution defined in the message registry with a more specific resolution in message payloads."/>
          <Annotation Term="Redfish.Required"/>
        </Property>
        <Property Name="Oem" Type="Resource.Oem" Nullable="false">
          <Annotation Term="OData.Description" String="The OEM extension property."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."/>
        </Property>
      </ComplexType>

      <EnumType Name="ParamType">
        <Member Name="string">
          <Annotation Term="OData.Description" String="The argument is a string."/>
        </Member>
        <Member Name="number">
          <Annotation Term="OData.Description" String="The argument is a number."/>
        </Member>
      </EnumType>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MessageRegistry.v1_0_2">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to show annotations in previous namespaces were updated."/>
      <EntityType Name="MessageRegistry" BaseType="MessageRegistry.v1_0_0.MessageRegistry"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MessageRegistry.v1_0_3">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to show annotations in previous namespaces were updated."/>
      <EntityType Name="MessageRegistry" BaseType="MessageRegistry.v1_0_2.MessageRegistry"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MessageRegistry.v1_0_4">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to show annotations in previous namespaces were updated."/>
      <EntityType Name="MessageRegistry" BaseType="MessageRegistry.v1_0_3.MessageRegistry"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MessageRegistry.v1_0_5">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to add descriptions to various enumerated values."/>
      <EntityType Name="MessageRegistry" BaseType="MessageRegistry.v1_0_4.MessageRegistry"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MessageRegistry.v1_0_6">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that OData properties are marked as required, and integer properties are marked as integer rather than number."/>
      <EntityType Name="MessageRegistry" BaseType="MessageRegistry.v1_0_5.MessageRegistry"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MessageRegistry.v1_0_7">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that URI properties use the uri-reference format."/>
      <EntityType Name="MessageRegistry" BaseType="MessageRegistry.v1_0_6.MessageRegistry"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MessageRegistry.v1_0_8">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that OData properties are not included.  It was also created to update descriptions that this schema defines."/>
      <EntityType Name="MessageRegistry" BaseType="MessageRegistry.v1_0_7.MessageRegistry"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MessageRegistry.v1_0_9">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to clarify that Resolution can be overridden by the service."/>
      <EntityType Name="MessageRegistry" BaseType="MessageRegistry.v1_0_8.MessageRegistry"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MessageRegistry.v1_0_10">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to clarify that Severity and MessageSeverity can be overridden by the service."/>
      <EntityType Name="MessageRegistry" BaseType="MessageRegistry.v1_0_9.MessageRegistry"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MessageRegistry.v1_1_0">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="Redfish.Release" String="2017.1"/>
      <EntityType Name="MessageRegistry" BaseType="MessageRegistry.v1_0_4.MessageRegistry">
        <Property Name="Actions" Type="MessageRegistry.v1_1_0.Actions" Nullable="false">
          <Annotation Term="OData.Description" String="The available actions for this resource."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the available actions for this resource."/>
        </Property>
      </EntityType>

      <ComplexType Name="Actions">
        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
        <Annotation Term="OData.Description" String="The available actions for this resource."/>
        <Annotation Term="OData.LongDescription" String="This type shall contain the available actions for this resource."/>
        <Property Name="Oem" Type="MessageRegistry.v1_1_0.OemActions" Nullable="false">
          <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the available OEM-specific actions for this resource."/>
        </Property>
      </ComplexType>

      <ComplexType Name="OemActions">
        <Annotation Term="OData.AdditionalProperties" Bool="true"/>
        <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
        <Annotation Term="OData.LongDescription" String="This type shall contain the available OEM-specific actions for this resource."/>
      </ComplexType>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MessageRegistry.v1_1_1">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to add descriptions to various enumerated values."/>
      <EntityType Name="MessageRegistry" BaseType="MessageRegistry.v1_1_0.MessageRegistry"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MessageRegistry.v1_1_2">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that OData properties are marked as required, and integer properties are marked as integer rather than number."/>
      <EntityType Name="MessageRegistry" BaseType="MessageRegistry.v1_1_1.MessageRegistry"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MessageRegistry.v1_1_3">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that URI properties use the uri-reference format."/>
      <EntityType Name="MessageRegistry" BaseType="MessageRegistry.v1_1_2.MessageRegistry"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MessageRegistry.v1_1_4">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that OData properties are not included.  It was also created to update descriptions that this schema defines."/>
      <EntityType Name="MessageRegistry" BaseType="MessageRegistry.v1_1_3.MessageRegistry"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MessageRegistry.v1_1_5">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to clarify that Resolution can be overridden by the service."/>
      <EntityType Name="MessageRegistry" BaseType="MessageRegistry.v1_1_4.MessageRegistry"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MessageRegistry.v1_1_6">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to clarify that Severity and MessageSeverity can be overridden by the service."/>
      <EntityType Name="MessageRegistry" BaseType="MessageRegistry.v1_1_5.MessageRegistry"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MessageRegistry.v1_2_0">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="Redfish.Release" String="2018.2"/>
      <Annotation Term="OData.Description" String="This version was created to add ClearingLogic to a MessageRegistry."/>

      <EntityType Name="MessageRegistry" BaseType="MessageRegistry.v1_1_2.MessageRegistry"/>

      <ComplexType Name="Message" BaseType="MessageRegistry.v1_0_0.Message">
        <Property Name="ClearingLogic" Type="MessageRegistry.v1_2_0.ClearingLogic" Nullable="false">
          <Annotation Term="OData.Description" String="The clearing logic associated with this message.  The properties within indicate that what messages are cleared by this message as well as under what conditions."/>
          <Annotation Term="OData.LongDescription" String="This type shall contain the available actions for this resource."/>
        </Property>
      </ComplexType>

      <ComplexType Name="ClearingLogic">
        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
        <Annotation Term="OData.Description" String="The clearing logic associated with this message.  The properties within indicate that what messages are cleared by this message as well as under what conditions."/>
        <Annotation Term="OData.LongDescription" String="This type shall contain the available actions for this resource."/>
        <Property Name="ClearsIf" Type="MessageRegistry.v1_2_0.ClearingType" Nullable="true">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The condition when the event is cleared."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the condition the event is cleared."/>
        </Property>
        <Property Name="ClearsMessage" Type="Collection(Edm.String)" Nullable="true">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The array of MessageIds that this message clears when the other conditions are met."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain an array of MessageIds that this message clears when the other conditions are met.  The MessageIds shall not include the message registry name or version and shall contain only the MessageId portion.  MessageIds shall not refer to other message registries."/>
        </Property>
        <Property Name="ClearsAll" Type="Edm.Boolean" Nullable="true">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="An indication of whether all prior conditions and messages are cleared, provided the ClearsIf condition is met."/>
          <Annotation Term="OData.LongDescription" String="This property shall indicate whether all prior conditions and messages are cleared, provided the ClearsIf condition is met."/>
        </Property>
      </ComplexType>

      <EnumType Name="ClearingType">
        <Annotation Term="OData.Description" String="The conditions when an event is cleared."/>
        <Member Name="SameOriginOfCondition">
          <Annotation Term="OData.Description" String="This enumeration shall describe when the message for an event is cleared by the other messages in the ClearingLogic property, provided the OriginOfCondition for both events are the same."/>
        </Member>
      </EnumType>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MessageRegistry.v1_2_1">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that URI properties use the uri-reference format.  It was also created to add a missing term on ClearingLogic to not allow it to be null."/>
      <EntityType Name="MessageRegistry" BaseType="MessageRegistry.v1_2_0.MessageRegistry"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MessageRegistry.v1_2_2">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that OData properties are not included.  It was also created to update descriptions that this schema defines."/>
      <EntityType Name="MessageRegistry" BaseType="MessageRegistry.v1_2_1.MessageRegistry"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MessageRegistry.v1_2_3">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to clarify that Resolution can be overridden by the service."/>
      <EntityType Name="MessageRegistry" BaseType="MessageRegistry.v1_2_2.MessageRegistry"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MessageRegistry.v1_2_4">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to clarify that Severity and MessageSeverity can be overridden by the service."/>
      <EntityType Name="MessageRegistry" BaseType="MessageRegistry.v1_2_3.MessageRegistry"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MessageRegistry.v1_3_0">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="Redfish.Release" String="2019.1"/>
      <Annotation Term="OData.Description" String="This version was created to add LongDescription, ArgDescriptions, and ArgLongDescriptions to a message registry.  It also corrected terminology in descriptions to consistently use `argument` instead of `parameter`."/>

      <EntityType Name="MessageRegistry" BaseType="MessageRegistry.v1_2_1.MessageRegistry"/>

      <ComplexType Name="Message" BaseType="MessageRegistry.v1_2_0.Message">
        <Property Name="LongDescription" Type="Edm.String">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The normative language that describes this message's usage."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the normative language that describes this message's usage in a Redfish implementation."/>
        </Property>
        <Property Name="ArgDescriptions" Type="Collection(Edm.String)">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The MessageArg descriptions, in order, used for this message."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain an ordered array of text describing each argument used as substitution in the message."/>
        </Property>
        <Property Name="ArgLongDescriptions" Type="Collection(Edm.String)">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The MessageArg normative descriptions, in order, used for this message."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain an ordered array of normative language for each argument used as substitution in the message."/>
        </Property>
      </ComplexType>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MessageRegistry.v1_3_1">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that OData properties are not included.  It was also created to update descriptions that this schema defines."/>
      <EntityType Name="MessageRegistry" BaseType="MessageRegistry.v1_3_0.MessageRegistry"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MessageRegistry.v1_3_2">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to clarify that Resolution can be overridden by the service."/>
      <EntityType Name="MessageRegistry" BaseType="MessageRegistry.v1_3_1.MessageRegistry"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MessageRegistry.v1_3_3">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to clarify that Severity and MessageSeverity can be overridden by the service."/>
      <EntityType Name="MessageRegistry" BaseType="MessageRegistry.v1_3_2.MessageRegistry"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MessageRegistry.v1_4_0">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="Redfish.Release" String="2020.1"/>
      <Annotation Term="OData.Description" String="This version was created to deprecate the Severity property and replace it with the MessageSeverity property, in order to tie the values to those used for the Health property within Status."/>

      <EntityType Name="MessageRegistry" BaseType="MessageRegistry.v1_3_1.MessageRegistry"/>

      <ComplexType Name="Message" BaseType="MessageRegistry.v1_3_0.Message">
        <Property Name="MessageSeverity" Type="Resource.Health">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The severity of the message."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the severity of the message.  Services can replace the severity defined in the message registry with a value more applicable to the implementation in message payloads and event payloads."/>
          <Annotation Term="Redfish.Required"/>
        </Property>
      </ComplexType>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MessageRegistry.v1_4_1">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to clarify that Resolution can be overridden by the service."/>
      <EntityType Name="MessageRegistry" BaseType="MessageRegistry.v1_4_0.MessageRegistry"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MessageRegistry.v1_4_2">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to clarify that Severity and MessageSeverity can be overridden by the service."/>
      <EntityType Name="MessageRegistry" BaseType="MessageRegistry.v1_4_1.MessageRegistry"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MessageRegistry.v1_5_0">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="Redfish.Release" String="2021.3"/>
      <Annotation Term="OData.Description" String="This version was created to deprecate the Severity property and replace it with the MessageSeverity property, in order to tie the values to those used for the Health property within Status."/>

      <EntityType Name="MessageRegistry" BaseType="MessageRegistry.v1_4_2.MessageRegistry"/>

      <ComplexType Name="Message" BaseType="MessageRegistry.v1_4_0.Message">
        <Property Name="VersionAdded" Type="Edm.String">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="Validation.Pattern" String="^\d+\.\d+\.\d+$"/>
          <Annotation Term="OData.Description" String="The registry version which added this message."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the version of the message registry when the message was added.  This property shall not appear for messages created at version `1.0.0` of a message registry."/>
        </Property>
        <Property Name="Deprecated" Type="Edm.String">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The reason the message has been deprecated."/>
          <Annotation Term="OData.LongDescription" String="This property shall indicate that a message is deprecated.  The value of the string should explain the deprecation, including reference to new message or messages to be used.  The message can be supported in new and existing implementations, but usage in new implementations is discouraged.  Deprecated messages are likely to be removed in a future major version of the message registry.  The ReplacedBy property may be used to provide a reference to a replacement message definition."/>
        </Property>
        <Property Name="VersionDeprecated" Type="Edm.String">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="Validation.Pattern" String="^\d+\.\d+\.\d+$"/>
          <Annotation Term="OData.Description" String="The registry version when the the message was deprecated."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the version of the registry when the message was deprecated.  This property shall not appear if the message has not been deprecated."/>
        </Property>
      </ComplexType>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MessageRegistry.v1_6_0">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="Redfish.Release" String="2022.3"/>

      <EntityType Name="MessageRegistry" BaseType="MessageRegistry.v1_5_0.MessageRegistry"/>

      <ComplexType Name="Message" BaseType="MessageRegistry.v1_5_0.Message">
        <Property Name="ReplacedBy" Type="Edm.String">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="Validation.Pattern" String="^[A-Z]\w+\.[A-Z]\w+$"/>
          <Annotation Term="OData.Description" String="The message identifier that replaces this message."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the message registry and message key, in the `MessageRegistryPrefix.MessageKey` format, that identifies the message that replaces this message.  This property may be used to indicate replacement for a deprecated message, including cases where a standardized version replaces an OEM-created message."/>
        </Property>
        <Property Name="MapsToGeneralMessages" Type="Collection(Edm.String)">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="Validation.Pattern" String="^[A-Z]\w+\.[A-Z]\w+$"/>
          <Annotation Term="OData.Description" String="The general or less-specific messages related to this message."/>
          <Annotation Term="OData.LongDescription" String="This property shall indicate that this message maps to general or less-specific messages that duplicates information about the condition that generated this message.  Services may issue the referenced messages along with this message to provide consistency for clients.  The array shall contain `MessageRegistryPrefix.MessageKey` formatted values that describe the message registry and message key used to identify the messages."/>
        </Property>
      </ComplexType>
    </Schema>

  </edmx:DataServices>
</edmx:Edmx>
