<?xml version="1.0" encoding="utf-8"?>
<edmx:Edmx Version="4.0" xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx">
  <edmx:Reference Uri="https://oasis-tcs.github.io/odata-vocabularies/vocabularies/Org.OData.Capabilities.V1.xml">
    <edmx:Include Alias="Capabilities" Namespace="Org.OData.Capabilities.V1"/>
  </edmx:Reference>
  <edmx:Reference Uri="https://sap.github.io/odata-vocabularies/vocabularies/Common.xml">
    <edmx:Include Alias="Common" Namespace="com.sap.vocabularies.Common.v1"/>
  </edmx:Reference>
  <edmx:Reference Uri="https://oasis-tcs.github.io/odata-vocabularies/vocabularies/Org.OData.Core.V1.xml">
    <edmx:Include Alias="Core" Namespace="Org.OData.Core.V1"/>
  </edmx:Reference>
  <edmx:Reference Uri="https://sap.github.io/odata-vocabularies/vocabularies/UI.xml">
    <edmx:Include Alias="UI" Namespace="com.sap.vocabularies.UI.v1"/>
  </edmx:Reference>
  <edmx:DataServices>
    <Schema Namespace="CatalogService" xmlns="http://docs.oasis-open.org/odata/ns/edm">
      <Annotation Term="Core.Links">
        <Collection>
          <Record>
            <PropertyValue Property="rel" String="author"/>
            <PropertyValue Property="href" String="https://cap.cloud.sap"/>
          </Record>
        </Collection>
      </Annotation>
      <EntityContainer Name="EntityContainer">
        <EntitySet Name="Books" EntityType="CatalogService.Books">
          <NavigationPropertyBinding Path="author" Target="Authors"/>
          <NavigationPropertyBinding Path="texts" Target="Books_texts"/>
          <NavigationPropertyBinding Path="localized" Target="Books_texts"/>
        </EntitySet>
        <EntitySet Name="Authors" EntityType="CatalogService.Authors">
          <NavigationPropertyBinding Path="books" Target="Books"/>
        </EntitySet>
        <EntitySet Name="Orders" EntityType="CatalogService.Orders">
          <NavigationPropertyBinding Path="book" Target="Books"/>
          <NavigationPropertyBinding Path="country" Target="Countries"/>
        </EntitySet>
        <EntitySet Name="Countries" EntityType="CatalogService.Countries">
          <NavigationPropertyBinding Path="texts" Target="Countries_texts"/>
          <NavigationPropertyBinding Path="localized" Target="Countries_texts"/>
        </EntitySet>
        <EntitySet Name="Books_texts" EntityType="CatalogService.Books_texts"/>
        <EntitySet Name="Countries_texts" EntityType="CatalogService.Countries_texts"/>
      </EntityContainer>
      <EntityType Name="Books">
        <Key>
          <PropertyRef Name="ID"/>
        </Key>
        <Property Name="ID" Type="Edm.Int32" Nullable="false"/>
        <Property Name="title" Type="Edm.String"/>
        <NavigationProperty Name="author" Type="CatalogService.Authors" Partner="books">
          <ReferentialConstraint Property="author_ID" ReferencedProperty="ID"/>
        </NavigationProperty>
        <Property Name="author_ID" Type="Edm.Int32"/>
        <Property Name="stock" Type="Edm.Int32"/>
        <NavigationProperty Name="texts" Type="Collection(CatalogService.Books_texts)">
          <OnDelete Action="Cascade"/>
        </NavigationProperty>
        <NavigationProperty Name="localized" Type="CatalogService.Books_texts">
          <ReferentialConstraint Property="ID" ReferencedProperty="ID"/>
        </NavigationProperty>
      </EntityType>
      <EntityType Name="Authors">
        <Key>
          <PropertyRef Name="ID"/>
        </Key>
        <Property Name="ID" Type="Edm.Int32" Nullable="false"/>
        <Property Name="name" Type="Edm.String"/>
        <NavigationProperty Name="books" Type="Collection(CatalogService.Books)" Partner="author"/>
      </EntityType>
      <EntityType Name="Orders">
        <Key>
          <PropertyRef Name="ID"/>
        </Key>
        <Property Name="createdAt" Type="Edm.DateTimeOffset" Precision="7"/>
        <Property Name="createdBy" Type="Edm.String" MaxLength="255"/>
        <Property Name="modifiedAt" Type="Edm.DateTimeOffset" Precision="7"/>
        <Property Name="modifiedBy" Type="Edm.String" MaxLength="255"/>
        <Property Name="ID" Type="Edm.Guid" Nullable="false"/>
        <NavigationProperty Name="book" Type="CatalogService.Books">
          <ReferentialConstraint Property="book_ID" ReferencedProperty="ID"/>
        </NavigationProperty>
        <Property Name="book_ID" Type="Edm.Int32"/>
        <NavigationProperty Name="country" Type="CatalogService.Countries">
          <ReferentialConstraint Property="country_code" ReferencedProperty="code"/>
        </NavigationProperty>
        <Property Name="country_code" Type="Edm.String" MaxLength="3"/>
        <Property Name="amount" Type="Edm.Int32"/>
      </EntityType>
      <EntityType Name="Countries">
        <Key>
          <PropertyRef Name="code"/>
        </Key>
        <Property Name="name" Type="Edm.String" MaxLength="255"/>
        <Property Name="descr" Type="Edm.String" MaxLength="1000"/>
        <Property Name="code" Type="Edm.String" MaxLength="3" Nullable="false"/>
        <NavigationProperty Name="texts" Type="Collection(CatalogService.Countries_texts)">
          <OnDelete Action="Cascade"/>
        </NavigationProperty>
        <NavigationProperty Name="localized" Type="CatalogService.Countries_texts">
          <ReferentialConstraint Property="code" ReferencedProperty="code"/>
        </NavigationProperty>
      </EntityType>
      <EntityType Name="Books_texts">
        <Key>
          <PropertyRef Name="locale"/>
          <PropertyRef Name="ID"/>
        </Key>
        <Property Name="locale" Type="Edm.String" MaxLength="14" Nullable="false"/>
        <Property Name="ID" Type="Edm.Int32" Nullable="false"/>
        <Property Name="title" Type="Edm.String"/>
      </EntityType>
      <EntityType Name="Countries_texts">
        <Key>
          <PropertyRef Name="locale"/>
          <PropertyRef Name="code"/>
        </Key>
        <Property Name="locale" Type="Edm.String" MaxLength="14" Nullable="false"/>
        <Property Name="name" Type="Edm.String" MaxLength="255"/>
        <Property Name="descr" Type="Edm.String" MaxLength="1000"/>
        <Property Name="code" Type="Edm.String" MaxLength="3" Nullable="false"/>
      </EntityType>
      <Annotations Target="CatalogService.EntityContainer/Books">
        <Annotation Term="Capabilities.DeleteRestrictions">
          <Record Type="Capabilities.DeleteRestrictionsType">
            <PropertyValue Property="Deletable" Bool="false"/>
          </Record>
        </Annotation>
        <Annotation Term="Capabilities.InsertRestrictions">
          <Record Type="Capabilities.InsertRestrictionsType">
            <PropertyValue Property="Insertable" Bool="false"/>
          </Record>
        </Annotation>
        <Annotation Term="Capabilities.UpdateRestrictions">
          <Record Type="Capabilities.UpdateRestrictionsType">
            <PropertyValue Property="Updatable" Bool="false"/>
          </Record>
        </Annotation>
      </Annotations>
      <Annotations Target="CatalogService.EntityContainer/Authors">
        <Annotation Term="Capabilities.DeleteRestrictions">
          <Record Type="Capabilities.DeleteRestrictionsType">
            <PropertyValue Property="Deletable" Bool="false"/>
          </Record>
        </Annotation>
        <Annotation Term="Capabilities.InsertRestrictions">
          <Record Type="Capabilities.InsertRestrictionsType">
            <PropertyValue Property="Insertable" Bool="false"/>
          </Record>
        </Annotation>
        <Annotation Term="Capabilities.UpdateRestrictions">
          <Record Type="Capabilities.UpdateRestrictionsType">
            <PropertyValue Property="Updatable" Bool="false"/>
          </Record>
        </Annotation>
      </Annotations>
      <Annotations Target="CatalogService.EntityContainer/Orders">
        <Annotation Term="Capabilities.DeleteRestrictions">
          <Record Type="Capabilities.DeleteRestrictionsType">
            <PropertyValue Property="Deletable" Bool="false"/>
          </Record>
        </Annotation>
        <Annotation Term="Capabilities.ReadRestrictions">
          <Record Type="Capabilities.ReadRestrictionsType">
            <PropertyValue Property="Readable" Bool="false"/>
          </Record>
        </Annotation>
        <Annotation Term="Capabilities.UpdateRestrictions">
          <Record Type="Capabilities.UpdateRestrictionsType">
            <PropertyValue Property="Updatable" Bool="false"/>
          </Record>
        </Annotation>
      </Annotations>
      <Annotations Target="CatalogService.Orders/createdAt">
        <Annotation Term="UI.HiddenFilter" Bool="true"/>
        <Annotation Term="UI.ExcludeFromNavigationContext" Bool="true"/>
        <Annotation Term="Core.Immutable" Bool="true"/>
        <Annotation Term="Core.Computed" Bool="true"/>
        <Annotation Term="Common.Label" String="Created On"/>
      </Annotations>
      <Annotations Target="CatalogService.Orders/createdBy">
        <Annotation Term="UI.HiddenFilter" Bool="true"/>
        <Annotation Term="UI.ExcludeFromNavigationContext" Bool="true"/>
        <Annotation Term="Core.Immutable" Bool="true"/>
        <Annotation Term="Core.Computed" Bool="true"/>
        <Annotation Term="Core.Description" String="User's unique ID"/>
        <Annotation Term="Common.Label" String="Created By"/>
      </Annotations>
      <Annotations Target="CatalogService.Orders/modifiedAt">
        <Annotation Term="UI.HiddenFilter" Bool="true"/>
        <Annotation Term="UI.ExcludeFromNavigationContext" Bool="true"/>
        <Annotation Term="Core.Computed" Bool="true"/>
        <Annotation Term="Common.Label" String="Changed On"/>
      </Annotations>
      <Annotations Target="CatalogService.Orders/modifiedBy">
        <Annotation Term="UI.HiddenFilter" Bool="true"/>
        <Annotation Term="UI.ExcludeFromNavigationContext" Bool="true"/>
        <Annotation Term="Core.Computed" Bool="true"/>
        <Annotation Term="Core.Description" String="User's unique ID"/>
        <Annotation Term="Common.Label" String="Changed By"/>
      </Annotations>
      <Annotations Target="CatalogService.Orders/ID">
        <Annotation Term="Core.ComputedDefaultValue" Bool="true"/>
      </Annotations>
      <Annotations Target="CatalogService.Orders/country">
        <Annotation Term="Common.Label" String="Country/Region"/>
        <Annotation Term="Core.Description" String="Country/region code as specified by ISO 3166-1"/>
      </Annotations>
      <Annotations Target="CatalogService.Orders/country_code">
        <Annotation Term="Common.Label" String="Country/Region"/>
        <Annotation Term="Common.ValueList">
          <Record Type="Common.ValueListType">
            <PropertyValue Property="Label" String="Country/Region"/>
            <PropertyValue Property="CollectionPath" String="Countries"/>
            <PropertyValue Property="Parameters">
              <Collection>
                <Record Type="Common.ValueListParameterInOut">
                  <PropertyValue Property="LocalDataProperty" PropertyPath="country_code"/>
                  <PropertyValue Property="ValueListProperty" String="code"/>
                </Record>
                <Record Type="Common.ValueListParameterDisplayOnly">
                  <PropertyValue Property="ValueListProperty" String="name"/>
                </Record>
              </Collection>
            </PropertyValue>
          </Record>
        </Annotation>
        <Annotation Term="Core.Description" String="Country/region code as specified by ISO 3166-1"/>
      </Annotations>
      <Annotations Target="CatalogService.Countries">
        <Annotation Term="UI.Identification">
          <Collection>
            <Record Type="UI.DataField">
              <PropertyValue Property="Value" Path="name"/>
            </Record>
          </Collection>
        </Annotation>
      </Annotations>
      <Annotations Target="CatalogService.Countries/name">
        <Annotation Term="Common.Label" String="Name"/>
      </Annotations>
      <Annotations Target="CatalogService.Countries/descr">
        <Annotation Term="Common.Label" String="Description"/>
      </Annotations>
      <Annotations Target="CatalogService.Countries/code">
        <Annotation Term="Common.Text" Path="name"/>
        <Annotation Term="Common.Label" String="Country/Region Code"/>
      </Annotations>
      <Annotations Target="CatalogService.Books_texts/locale">
        <Annotation Term="Common.Label" String="Language Code"/>
      </Annotations>
      <Annotations Target="CatalogService.Countries_texts/locale">
        <Annotation Term="Common.Label" String="Language Code"/>
      </Annotations>
      <Annotations Target="CatalogService.Countries_texts/name">
        <Annotation Term="Common.Label" String="Name"/>
      </Annotations>
      <Annotations Target="CatalogService.Countries_texts/descr">
        <Annotation Term="Common.Label" String="Description"/>
      </Annotations>
      <Annotations Target="CatalogService.Countries_texts/code">
        <Annotation Term="Common.Text" Path="name"/>
        <Annotation Term="Common.Label" String="Country/Region Code"/>
      </Annotations>
    </Schema>
  </edmx:DataServices>
</edmx:Edmx>