http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6d94f0e3/lib/server-core-ext/src/test/resources/trippin.xml
----------------------------------------------------------------------
diff --git a/lib/server-core-ext/src/test/resources/trippin.xml 
b/lib/server-core-ext/src/test/resources/trippin.xml
index 5970793..3266344 100644
--- a/lib/server-core-ext/src/test/resources/trippin.xml
+++ b/lib/server-core-ext/src/test/resources/trippin.xml
@@ -1,356 +1,458 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!--
-
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements. See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership. The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License. You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied. See the License for the
-  specific language governing permissions and limitations
-  under the License.
-
--->
+<!-- Licensed to the Apache Software Foundation (ASF) under one or more 
contributor 
+       license agreements. See the NOTICE file distributed with this work for 
additional 
+       information regarding copyright ownership. The ASF licenses this file 
to 
+       you under the Apache License, Version 2.0 (the "License"); you may not 
use 
+       this file except in compliance with the License. You may obtain a copy 
of 
+       the License at http://www.apache.org/licenses/LICENSE-2.0 Unless 
required 
+       by applicable law or agreed to in writing, software distributed under 
the 
+       License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 
CONDITIONS 
+       OF ANY KIND, either express or implied. See the License for the 
specific 
+       language governing permissions and limitations under the License. -->
 <edmx:Edmx Version="4.0" xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx";>
-    <edmx:DataServices>
-        <Schema Namespace="Microsoft.OData.SampleService.Models.TripPin" 
xmlns="http://docs.oasis-open.org/odata/ns/edm";>
-            <EnumType Name="PersonGender">
-                <Member Name="Male" Value="0" />
-                <Member Name="Female" Value="1" />
-                <Member Name="Unknown" Value="2" />
-            </EnumType>
-            <ComplexType Name="City">
-                <Property Name="CountryRegion" Type="Edm.String" 
Nullable="false" />
-                <Property Name="Name" Type="Edm.String" Nullable="false" />
-                <Property Name="Region" Type="Edm.String" Nullable="false" />
-            </ComplexType>
-            <ComplexType Name="Location" OpenType="true">
-                <Property Name="Address" Type="Edm.String" Nullable="false" />
-                <Property Name="City" 
Type="Microsoft.OData.SampleService.Models.TripPin.City" Nullable="false" />
-            </ComplexType>
-            <ComplexType Name="EventLocation" 
BaseType="Microsoft.OData.SampleService.Models.TripPin.Location" 
OpenType="true">
-                <Property Name="BuildingInfo" Type="Edm.String" />
-            </ComplexType>
-            <ComplexType Name="AirportLocation" 
BaseType="Microsoft.OData.SampleService.Models.TripPin.Location" 
OpenType="true">
-                <Property Name="Loc" Type="Edm.GeographyPoint" 
Nullable="false" SRID="4326" />
-            </ComplexType>
-            <EntityType Name="Photo" HasStream="true">
-                <Key>
-                    <PropertyRef Name="Id" />
-                </Key>
-                <Property Name="Id" Type="Edm.Int64" Nullable="false">
-                    <Annotation Term="Org.OData.Core.V1.Permissions">
-                        
<EnumMember>Org.OData.Core.V1.Permission/Read</EnumMember>
-                    </Annotation>
-                </Property>
-                <Property Name="Name" Type="Edm.String" />
-                <Annotation Term="Org.OData.Core.V1.AcceptableMediaTypes">
-                    <Collection>
-                        <String>image/jpeg</String>
-                    </Collection>
-                </Annotation>
-            </EntityType>
-            <EntityType Name="Person" OpenType="true">
-                <Key>
-                    <PropertyRef Name="UserName" />
-                </Key>
-                <Property Name="UserName" Type="Edm.String" Nullable="false">
-                    <Annotation Term="Org.OData.Core.V1.Permissions">
-                        
<EnumMember>Org.OData.Core.V1.Permission/Read</EnumMember>
-                    </Annotation>
-                </Property>
-                <Property Name="FirstName" Type="Edm.String" Nullable="true" />
-                <Property Name="LastName" Type="Edm.String" Nullable="false" />
-                <Property Name="Emails" Type="Collection(Edm.String)" />
-                <Property Name="AddressInfo" 
Type="Collection(Microsoft.OData.SampleService.Models.TripPin.Location)" />
-                <Property Name="Gender" 
Type="Microsoft.OData.SampleService.Models.TripPin.PersonGender" />
-                <Property Name="Concurrency" Type="Edm.Int64" Nullable="false">
-                    <Annotation Term="Org.OData.Core.V1.Computed" Bool="true" 
/>
-                </Property>
-                <NavigationProperty Name="Friends" 
Type="Collection(Microsoft.OData.SampleService.Models.TripPin.Person)" />
-                <NavigationProperty Name="Trips" 
Type="Collection(Microsoft.OData.SampleService.Models.TripPin.Trip)" 
ContainsTarget="true" />
-                <NavigationProperty Name="Photo" 
Type="Microsoft.OData.SampleService.Models.TripPin.Photo" />
-            </EntityType>
-            <EntityType Name="Airline">
-                <Key>
-                    <PropertyRef Name="AirlineCode" />
-                </Key>
-                <Property Name="AirlineCode" Type="Edm.String" 
Nullable="false">
-                    <Annotation Term="Org.OData.Core.V1.Permissions">
-                        
<EnumMember>Org.OData.Core.V1.Permission/Read</EnumMember>
-                    </Annotation>
-                </Property>
-                <Property Name="Name" Type="Edm.String" Nullable="false" />
-                <Property Name="Picture" Type="Edm.Stream" Nullable="true" />
-            </EntityType>
-            <EntityType Name="Airport">
-                <Key>
-                    <PropertyRef Name="IcaoCode" />
-                </Key>
-                <Property Name="IcaoCode" Type="Edm.String" Nullable="false">
-                    <Annotation Term="Org.OData.Core.V1.Permissions">
-                        
<EnumMember>Org.OData.Core.V1.Permission/Read</EnumMember>
-                    </Annotation>
-                </Property>
-                <Property Name="Name" Type="Edm.String" Nullable="false" />
-                <Property Name="IataCode" Type="Edm.String" Nullable="false">
-                    <Annotation Term="Org.OData.Core.V1.Immutable" Bool="true" 
/>
-                </Property>
-                <Property Name="Location" 
Type="Microsoft.OData.SampleService.Models.TripPin.AirportLocation" 
Nullable="false" />
-            </EntityType>
-            <EntityType Name="PlanItem">
-                <Key>
-                    <PropertyRef Name="PlanItemId" />
-                </Key>
-                <Property Name="PlanItemId" Type="Edm.Int32" Nullable="false">
-                    <Annotation Term="Org.OData.Core.V1.Permissions">
-                        
<EnumMember>Org.OData.Core.V1.Permission/Read</EnumMember>
-                    </Annotation>
-                </Property>
-                <Property Name="ConfirmationCode" Type="Edm.String" />
-                <Property Name="StartsAt" Type="Edm.DateTimeOffset" />
-                <Property Name="EndsAt" Type="Edm.DateTimeOffset" />
-                <Property Name="Duration" Type="Edm.Duration" />
-            </EntityType>
-            <EntityType Name="PublicTransportation" 
BaseType="Microsoft.OData.SampleService.Models.TripPin.PlanItem">
-                <Property Name="SeatNumber" Type="Edm.String" />
-            </EntityType>
-            <EntityType Name="Flight" 
BaseType="Microsoft.OData.SampleService.Models.TripPin.PublicTransportation">
-                <Property Name="FlightNumber" Type="Edm.String" 
Nullable="false" />
-                <NavigationProperty Name="From" 
Type="Microsoft.OData.SampleService.Models.TripPin.Airport" Nullable="false" />
-                <NavigationProperty Name="To" 
Type="Microsoft.OData.SampleService.Models.TripPin.Airport" Nullable="false" />
-                <NavigationProperty Name="Airline" 
Type="Microsoft.OData.SampleService.Models.TripPin.Airline" Nullable="false" />
-            </EntityType>
-            <EntityType Name="Event" 
BaseType="Microsoft.OData.SampleService.Models.TripPin.PlanItem" 
OpenType="true">
-                <Property Name="Description" Type="Edm.String" />
-                <Property Name="OccursAt" 
Type="Microsoft.OData.SampleService.Models.TripPin.EventLocation" 
Nullable="false" />
-            </EntityType>
-            <EntityType Name="Trip">
-                <Key>
-                    <PropertyRef Name="TripId" />
-                </Key>
-                <Property Name="TripId" Type="Edm.Int32" Nullable="false">
-                    <Annotation Term="Org.OData.Core.V1.Permissions">
-                        
<EnumMember>Org.OData.Core.V1.Permission/Read</EnumMember>
-                    </Annotation>
-                </Property>
-                <Property Name="ShareId" Type="Edm.Guid" />
-                <Property Name="Description" Type="Edm.String" />
-                <Property Name="Name" Type="Edm.String" Nullable="false" />
-                <Property Name="Budget" Type="Edm.Single" Nullable="false">
-                    <Annotation Term="Org.OData.Measures.V1.ISOCurrency" 
String="USD" />
-                    <Annotation Term="Org.OData.Measures.V1.Scale" Int="2" />
-                </Property>
-                <Property Name="StartsAt" Type="Edm.DateTimeOffset" 
Nullable="false" />
-                <Property Name="EndsAt" Type="Edm.DateTimeOffset" 
Nullable="false" />
-                <Property Name="Tags" Type="Collection(Edm.String)" 
Nullable="false" />
-                <NavigationProperty Name="Photos" 
Type="Collection(Microsoft.OData.SampleService.Models.TripPin.Photo)" />
-                <NavigationProperty Name="PlanItems" 
Type="Collection(Microsoft.OData.SampleService.Models.TripPin.PlanItem)" 
ContainsTarget="true" />
-            </EntityType>
-            <Function Name="GetFavoriteAirline" IsBound="true" 
EntitySetPath="person/Trips/PlanItems/Microsoft.OData.SampleService.Models.TripPin.Flight/Airline"
 IsComposable="true">
-                <Parameter Name="person" 
Type="Microsoft.OData.SampleService.Models.TripPin.Person" Nullable="false" />
-                <ReturnType 
Type="Microsoft.OData.SampleService.Models.TripPin.Airline" Nullable="false" />
-            </Function>
-            <Function Name="GetInvolvedPeople" IsBound="true" 
IsComposable="true">
-                <Parameter Name="trip" 
Type="Microsoft.OData.SampleService.Models.TripPin.Trip" Nullable="false" />
-                <ReturnType 
Type="Collection(Microsoft.OData.SampleService.Models.TripPin.Person)" 
Nullable="false" />
-            </Function>
-            <Function Name="GetFriendsTrips" IsBound="true" 
EntitySetPath="person/Friends/Trips" IsComposable="true">
-                <Parameter Name="person" 
Type="Microsoft.OData.SampleService.Models.TripPin.Person" Nullable="false" />
-                <Parameter Name="userName" Type="Edm.String" Nullable="false" 
/>
-                <ReturnType 
Type="Collection(Microsoft.OData.SampleService.Models.TripPin.Trip)" 
Nullable="false" />
-            </Function>
-            <Function Name="GetNearestAirport" IsComposable="true">
-                <Parameter Name="lat" Type="Edm.Double" Nullable="false" />
-                <Parameter Name="lon" Type="Edm.Double" Nullable="false" />
-                <ReturnType 
Type="Microsoft.OData.SampleService.Models.TripPin.Airport" Nullable="false" />
-            </Function>
-            <Action Name="ResetDataSource" />
-            <Action Name="ShareTrip" IsBound="true">
-                <Parameter Name="person" 
Type="Microsoft.OData.SampleService.Models.TripPin.Person" Nullable="false" />
-                <Parameter Name="userName" Type="Edm.String" Nullable="false" 
/>
-                <Parameter Name="tripId" Type="Edm.Int32" Nullable="false" />
-            </Action>
-            <EntityContainer Name="DefaultContainer">
-                <EntitySet Name="Photos" 
EntityType="Microsoft.OData.SampleService.Models.TripPin.Photo">
-                    <Annotation Term="Org.OData.Core.V1.ResourcePath" 
String="Photos" />
-                    <Annotation 
Term="Org.OData.Capabilities.V1.SearchRestrictions">
-                        <Record>
-                            <PropertyValue Property="Searchable" Bool="true" />
-                            <PropertyValue Property="UnsupportedExpressions">
-                                
<EnumMember>Org.OData.Capabilities.V1.SearchExpressions/none</EnumMember>
-                            </PropertyValue>
-                        </Record>
-                    </Annotation>
-                    <Annotation 
Term="Org.OData.Capabilities.V1.InsertRestrictions">
-                        <Record>
-                            <PropertyValue Property="Insertable" Bool="true" />
-                            <PropertyValue 
Property="NonInsertableNavigationProperties">
-                                <Collection />
-                            </PropertyValue>
-                        </Record>
-                    </Annotation>
-                </EntitySet>
-                <EntitySet Name="People" 
EntityType="Microsoft.OData.SampleService.Models.TripPin.Person">
-                    <NavigationPropertyBinding Path="Friends" Target="People" 
/>
-                    <NavigationPropertyBinding 
Path="Microsoft.OData.SampleService.Models.TripPin.Flight/Airline" 
Target="Airlines" />
-                    <NavigationPropertyBinding 
Path="Microsoft.OData.SampleService.Models.TripPin.Flight/From" 
Target="Airports" />
-                    <NavigationPropertyBinding 
Path="Microsoft.OData.SampleService.Models.TripPin.Flight/To" Target="Airports" 
/>
-                    <NavigationPropertyBinding Path="Photo" Target="Photos" />
-                    <NavigationPropertyBinding 
Path="Microsoft.OData.SampleService.Models.TripPin.Trip/Photos" Target="Photos" 
/>
-                    <Annotation Term="Org.OData.Core.V1.OptimisticConcurrency">
-                        <Collection>
-                            <PropertyPath>Concurrency</PropertyPath>
-                        </Collection>
-                    </Annotation>
-                    <Annotation Term="Org.OData.Core.V1.ResourcePath" 
String="People" />
-                    <Annotation 
Term="Org.OData.Capabilities.V1.NavigationRestrictions">
-                        <Record>
-                            <PropertyValue Property="Navigability">
-                                
<EnumMember>Org.OData.Capabilities.V1.NavigationType/None</EnumMember>
-                            </PropertyValue>
-                            <PropertyValue Property="RestrictedProperties">
-                                <Collection>
-                                    <Record>
-                                        <PropertyValue 
Property="NavigationProperty" NavigationPropertyPath="Friends" />
-                                        <PropertyValue Property="Navigability">
-                                            
<EnumMember>Org.OData.Capabilities.V1.NavigationType/Recursive</EnumMember>
-                                        </PropertyValue>
-                                    </Record>
-                                </Collection>
-                            </PropertyValue>
-                        </Record>
-                    </Annotation>
-                    <Annotation 
Term="Org.OData.Capabilities.V1.SearchRestrictions">
-                        <Record>
-                            <PropertyValue Property="Searchable" Bool="true" />
-                            <PropertyValue Property="UnsupportedExpressions">
-                                
<EnumMember>Org.OData.Capabilities.V1.SearchExpressions/none</EnumMember>
-                            </PropertyValue>
-                        </Record>
-                    </Annotation>
-                    <Annotation 
Term="Org.OData.Capabilities.V1.InsertRestrictions">
-                        <Record>
-                            <PropertyValue Property="Insertable" Bool="true" />
-                            <PropertyValue 
Property="NonInsertableNavigationProperties">
-                                <Collection>
-                                    
<NavigationPropertyPath>Trips</NavigationPropertyPath>
-                                    
<NavigationPropertyPath>Friends</NavigationPropertyPath>
-                                </Collection>
-                            </PropertyValue>
-                        </Record>
-                    </Annotation>
-                </EntitySet>
-                <EntitySet Name="Airlines" 
EntityType="Microsoft.OData.SampleService.Models.TripPin.Airline">
-                    <Annotation Term="Org.OData.Core.V1.ResourcePath" 
String="Airlines" />
-                    <Annotation 
Term="Org.OData.Capabilities.V1.SearchRestrictions">
-                        <Record>
-                            <PropertyValue Property="Searchable" Bool="true" />
-                            <PropertyValue Property="UnsupportedExpressions">
-                                
<EnumMember>Org.OData.Capabilities.V1.SearchExpressions/none</EnumMember>
-                            </PropertyValue>
-                        </Record>
-                    </Annotation>
-                    <Annotation 
Term="Org.OData.Capabilities.V1.InsertRestrictions">
-                        <Record>
-                            <PropertyValue Property="Insertable" Bool="true" />
-                            <PropertyValue 
Property="NonInsertableNavigationProperties">
-                                <Collection />
-                            </PropertyValue>
-                        </Record>
-                    </Annotation>
-                </EntitySet>
-                <EntitySet Name="Airports" 
EntityType="Microsoft.OData.SampleService.Models.TripPin.Airport">
-                    <Annotation Term="Org.OData.Core.V1.ResourcePath" 
String="Airports" />
-                    <Annotation 
Term="Org.OData.Capabilities.V1.SearchRestrictions">
-                        <Record>
-                            <PropertyValue Property="Searchable" Bool="true" />
-                            <PropertyValue Property="UnsupportedExpressions">
-                                
<EnumMember>Org.OData.Capabilities.V1.SearchExpressions/none</EnumMember>
-                            </PropertyValue>
-                        </Record>
-                    </Annotation>
-                    <Annotation 
Term="Org.OData.Capabilities.V1.InsertRestrictions">
-                        <Record>
-                            <PropertyValue Property="Insertable" Bool="false" 
/>
-                            <PropertyValue 
Property="NonInsertableNavigationProperties">
-                                <Collection />
-                            </PropertyValue>
-                        </Record>
-                    </Annotation>
-                    <Annotation 
Term="Org.OData.Capabilities.V1.DeleteRestrictions">
-                        <Record>
-                            <PropertyValue Property="Deletable" Bool="false" />
-                            <PropertyValue 
Property="NonDeletableNavigationProperties">
-                                <Collection />
-                            </PropertyValue>
-                        </Record>
-                    </Annotation>
-                </EntitySet>
-                <Singleton Name="Me" 
Type="Microsoft.OData.SampleService.Models.TripPin.Person">
-                    <NavigationPropertyBinding Path="Friends" Target="People" 
/>
-                    <NavigationPropertyBinding 
Path="Microsoft.OData.SampleService.Models.TripPin.Flight/Airline" 
Target="Airlines" />
-                    <NavigationPropertyBinding 
Path="Microsoft.OData.SampleService.Models.TripPin.Flight/From" 
Target="Airports" />
-                    <NavigationPropertyBinding 
Path="Microsoft.OData.SampleService.Models.TripPin.Flight/To" Target="Airports" 
/>
-                    <NavigationPropertyBinding Path="Photo" Target="Photos" />
-                    <NavigationPropertyBinding 
Path="Microsoft.OData.SampleService.Models.TripPin.Trip/Photos" Target="Photos" 
/>
-                    <Annotation Term="Org.OData.Core.V1.ResourcePath" 
String="Me" />
-                </Singleton>
-                <FunctionImport Name="GetNearestAirport" 
Function="Microsoft.OData.SampleService.Models.TripPin.GetNearestAirport" 
EntitySet="Airports" IncludeInServiceDocument="true">
-                    <Annotation Term="Org.OData.Core.V1.ResourcePath" 
String="Microsoft.OData.SampleService.Models.TripPin.GetNearestAirport" />
-                </FunctionImport>
-                <ActionImport Name="ResetDataSource" 
Action="Microsoft.OData.SampleService.Models.TripPin.ResetDataSource" />
-                <Annotation Term="Org.OData.Core.V1.Description" 
String="TripPin service is a sample service for OData V4." />
-            </EntityContainer>
-            <Annotations 
Target="Microsoft.OData.SampleService.Models.TripPin.DefaultContainer">
-                <Annotation Term="Org.OData.Core.V1.DereferenceableIDs" 
Bool="true" />
-                <Annotation Term="Org.OData.Core.V1.ConventionalIDs" 
Bool="true" />
-                <Annotation Term="Org.OData.Capabilities.V1.ConformanceLevel">
-                    
<EnumMember>Org.OData.Capabilities.V1.ConformanceLevelType/Advanced</EnumMember>
-                </Annotation>
-                <Annotation Term="Org.OData.Capabilities.V1.SupportedFormats">
-                    <Collection>
-                        
<String>application/json;odata.metadata=full;IEEE754Compatible=false;odata.streaming=true</String>
-                        
<String>application/json;odata.metadata=minimal;IEEE754Compatible=false;odata.streaming=true</String>
-                        
<String>application/json;odata.metadata=none;IEEE754Compatible=false;odata.streaming=true</String>
-                    </Collection>
-                </Annotation>
-                <Annotation 
Term="Org.OData.Capabilities.V1.AsynchronousRequestsSupported" Bool="true" />
-                <Annotation 
Term="Org.OData.Capabilities.V1.BatchContinueOnErrorSupported" Bool="false" />
-                <Annotation Term="Org.OData.Capabilities.V1.FilterFunctions">
-                    <Collection>
-                        <String>contains</String>
-                        <String>endswith</String>
-                        <String>startswith</String>
-                        <String>length</String>
-                        <String>indexof</String>
-                        <String>substring</String>
-                        <String>tolower</String>
-                        <String>toupper</String>
-                        <String>trim</String>
-                        <String>concat</String>
-                        <String>year</String>
-                        <String>month</String>
-                        <String>day</String>
-                        <String>hour</String>
-                        <String>minute</String>
-                        <String>second</String>
-                        <String>round</String>
-                        <String>floor</String>
-                        <String>ceiling</String>
-                        <String>cast</String>
-                        <String>isof</String>
-                    </Collection>
-                </Annotation>
-            </Annotations>
-        </Schema>
-    </edmx:DataServices>
+       <edmx:DataServices>
+               <Schema Namespace="Microsoft.OData.SampleService.Models.TripPin"
+                       xmlns="http://docs.oasis-open.org/odata/ns/edm";>
+                       <EnumType Name="PersonGender">
+                               <Member Name="Male" Value="0" />
+                               <Member Name="Female" Value="1" />
+                               <Member Name="Unknown" Value="2" />
+                       </EnumType>
+                       <ComplexType Name="City">
+                               <Property Name="CountryRegion" 
Type="Edm.String" Nullable="false" />
+                               <Property Name="Name" Type="Edm.String" 
Nullable="false" />
+                               <Property Name="Region" Type="Edm.String" 
Nullable="false" />
+                       </ComplexType>
+                       <ComplexType Name="Location" OpenType="true">
+                               <Property Name="Address" Type="Edm.String" 
Nullable="false" />
+                               <Property Name="City"
+                                       
Type="Microsoft.OData.SampleService.Models.TripPin.City" Nullable="false" />
+                       </ComplexType>
+                       <ComplexType Name="EventLocation"
+                               
BaseType="Microsoft.OData.SampleService.Models.TripPin.Location"
+                               OpenType="true">
+                               <Property Name="BuildingInfo" Type="Edm.String" 
/>
+                       </ComplexType>
+                       <ComplexType Name="AirportLocation"
+                               
BaseType="Microsoft.OData.SampleService.Models.TripPin.Location"
+                               OpenType="true">
+                               <Property Name="Loc" Type="Edm.GeographyPoint" 
Nullable="false"
+                                       SRID="4326" />
+                       </ComplexType>
+                       <EntityType Name="Photo" HasStream="true">
+                               <Key>
+                                       <PropertyRef Name="Id" />
+                               </Key>
+                               <Property Name="Id" Type="Edm.Int64" 
Nullable="false">
+                                       <Annotation 
Term="Org.OData.Core.V1.Permissions">
+                                               
<EnumMember>Org.OData.Core.V1.Permission/Read</EnumMember>
+                                       </Annotation>
+                               </Property>
+                               <Property Name="Name" Type="Edm.String" />
+                               <Annotation 
Term="Org.OData.Core.V1.AcceptableMediaTypes">
+                                       <Collection>
+                                               <String>image/jpeg</String>
+                                       </Collection>
+                               </Annotation>
+                       </EntityType>
+                       <EntityType Name="Person" OpenType="true">
+                               <Key>
+                                       <PropertyRef Name="UserName" />
+                               </Key>
+                               <Property Name="UserName" Type="Edm.String" 
Nullable="false">
+                                       <Annotation 
Term="Org.OData.Core.V1.Permissions">
+                                               
<EnumMember>Org.OData.Core.V1.Permission/Read</EnumMember>
+                                       </Annotation>
+                               </Property>
+                               <Property Name="FirstName" Type="Edm.String" 
Nullable="true" />
+                               <Property Name="LastName" Type="Edm.String" 
Nullable="false" />
+                               <Property Name="Emails" 
Type="Collection(Edm.String)" />
+                               <Property Name="AddressInfo"
+                                       
Type="Collection(Microsoft.OData.SampleService.Models.TripPin.Location)" />
+                               <Property Name="Gender"
+                                       
Type="Microsoft.OData.SampleService.Models.TripPin.PersonGender" />
+                               <Property Name="Concurrency" Type="Edm.Int64" 
Nullable="false">
+                                       <Annotation 
Term="Org.OData.Core.V1.Computed" Bool="true" />
+                               </Property>
+                               <NavigationProperty Name="Friends"
+                                       
Type="Collection(Microsoft.OData.SampleService.Models.TripPin.Person)" />
+                               <NavigationProperty Name="Trips"
+                                       
Type="Collection(Microsoft.OData.SampleService.Models.TripPin.Trip)"
+                                       ContainsTarget="true" />
+                               <NavigationProperty Name="Photo"
+                                       
Type="Microsoft.OData.SampleService.Models.TripPin.Photo" />
+                       </EntityType>
+                       <EntityType Name="Airline">
+                               <Key>
+                                       <PropertyRef Name="AirlineCode" />
+                               </Key>
+                               <Property Name="AirlineCode" Type="Edm.String" 
Nullable="false">
+                                       <Annotation 
Term="Org.OData.Core.V1.Permissions">
+                                               
<EnumMember>Org.OData.Core.V1.Permission/Read</EnumMember>
+                                       </Annotation>
+                               </Property>
+                               <Property Name="Name" Type="Edm.String" 
Nullable="false" />
+                               <Property Name="Picture" Type="Edm.Stream" 
Nullable="true" />
+                       </EntityType>
+                       <EntityType Name="Airport">
+                               <Key>
+                                       <PropertyRef Name="IcaoCode" />
+                               </Key>
+                               <Property Name="IcaoCode" Type="Edm.String" 
Nullable="false">
+                                       <Annotation 
Term="Org.OData.Core.V1.Permissions">
+                                               
<EnumMember>Org.OData.Core.V1.Permission/Read</EnumMember>
+                                       </Annotation>
+                               </Property>
+                               <Property Name="Name" Type="Edm.String" 
Nullable="false" />
+                               <Property Name="IataCode" Type="Edm.String" 
Nullable="false">
+                                       <Annotation 
Term="Org.OData.Core.V1.Immutable" Bool="true" />
+                               </Property>
+                               <Property Name="Location"
+                                       
Type="Microsoft.OData.SampleService.Models.TripPin.AirportLocation"
+                                       Nullable="false" />
+                       </EntityType>
+                       <EntityType Name="PlanItem">
+                               <Key>
+                                       <PropertyRef Name="PlanItemId" />
+                               </Key>
+                               <Property Name="PlanItemId" Type="Edm.Int32" 
Nullable="false">
+                                       <Annotation 
Term="Org.OData.Core.V1.Permissions">
+                                               
<EnumMember>Org.OData.Core.V1.Permission/Read</EnumMember>
+                                       </Annotation>
+                               </Property>
+                               <Property Name="ConfirmationCode" 
Type="Edm.String" />
+                               <Property Name="StartsAt" 
Type="Edm.DateTimeOffset" />
+                               <Property Name="EndsAt" 
Type="Edm.DateTimeOffset" />
+                               <Property Name="Duration" Type="Edm.Duration" />
+                       </EntityType>
+                       <EntityType Name="PublicTransportation"
+                               
BaseType="Microsoft.OData.SampleService.Models.TripPin.PlanItem">
+                               <Property Name="SeatNumber" Type="Edm.String" />
+                       </EntityType>
+                       <EntityType Name="Flight"
+                               
BaseType="Microsoft.OData.SampleService.Models.TripPin.PublicTransportation">
+                               <Property Name="FlightNumber" Type="Edm.String" 
Nullable="false" />
+                               <NavigationProperty Name="From"
+                                       
Type="Microsoft.OData.SampleService.Models.TripPin.Airport"
+                                       Nullable="false" />
+                               <NavigationProperty Name="To"
+                                       
Type="Microsoft.OData.SampleService.Models.TripPin.Airport"
+                                       Nullable="false" />
+                               <NavigationProperty Name="Airline"
+                                       
Type="Microsoft.OData.SampleService.Models.TripPin.Airline"
+                                       Nullable="false" />
+                       </EntityType>
+                       <EntityType Name="Event"
+                               
BaseType="Microsoft.OData.SampleService.Models.TripPin.PlanItem"
+                               OpenType="true">
+                               <Property Name="Description" Type="Edm.String" 
/>
+                               <Property Name="OccursAt"
+                                       
Type="Microsoft.OData.SampleService.Models.TripPin.EventLocation"
+                                       Nullable="false" />
+                       </EntityType>
+                       <EntityType Name="Trip">
+                               <Key>
+                                       <PropertyRef Name="TripId" />
+                               </Key>
+                               <Property Name="TripId" Type="Edm.Int32" 
Nullable="false">
+                                       <Annotation 
Term="Org.OData.Core.V1.Permissions">
+                                               
<EnumMember>Org.OData.Core.V1.Permission/Read</EnumMember>
+                                       </Annotation>
+                               </Property>
+                               <Property Name="ShareId" Type="Edm.Guid" />
+                               <Property Name="Description" Type="Edm.String" 
/>
+                               <Property Name="Name" Type="Edm.String" 
Nullable="false" />
+                               <Property Name="Budget" Type="Edm.Single" 
Nullable="false">
+                                       <Annotation 
Term="Org.OData.Measures.V1.ISOCurrency"
+                                               String="USD" />
+                                       <Annotation 
Term="Org.OData.Measures.V1.Scale" Int="2" />
+                               </Property>
+                               <Property Name="StartsAt" 
Type="Edm.DateTimeOffset"
+                                       Nullable="false" />
+                               <Property Name="EndsAt" 
Type="Edm.DateTimeOffset" Nullable="false" />
+                               <Property Name="Tags" 
Type="Collection(Edm.String)"
+                                       Nullable="false" />
+                               <NavigationProperty Name="Photos"
+                                       
Type="Collection(Microsoft.OData.SampleService.Models.TripPin.Photo)" />
+                               <NavigationProperty Name="PlanItems"
+                                       
Type="Collection(Microsoft.OData.SampleService.Models.TripPin.PlanItem)"
+                                       ContainsTarget="true" />
+                       </EntityType>
+                       <Function Name="GetFavoriteAirline" IsBound="true"
+                               
EntitySetPath="person/Trips/PlanItems/Microsoft.OData.SampleService.Models.TripPin.Flight/Airline"
+                               IsComposable="true">
+                               <Parameter Name="person"
+                                       
Type="Microsoft.OData.SampleService.Models.TripPin.Person"
+                                       Nullable="false" />
+                               <ReturnType 
Type="Microsoft.OData.SampleService.Models.TripPin.Airline"
+                                       Nullable="false" />
+                       </Function>
+                       <Function Name="GetInvolvedPeople" IsBound="true"
+                               IsComposable="true">
+                               <Parameter Name="trip"
+                                       
Type="Microsoft.OData.SampleService.Models.TripPin.Trip" Nullable="false" />
+                               <ReturnType
+                                       
Type="Collection(Microsoft.OData.SampleService.Models.TripPin.Person)"
+                                       Nullable="false" />
+                       </Function>
+                       <Function Name="GetFriendsTrips" IsBound="true"
+                               EntitySetPath="person/Friends/Trips" 
IsComposable="true">
+                               <Parameter Name="person"
+                                       
Type="Microsoft.OData.SampleService.Models.TripPin.Person"
+                                       Nullable="false" />
+                               <Parameter Name="userName" Type="Edm.String" 
Nullable="false" />
+                               <ReturnType
+                                       
Type="Collection(Microsoft.OData.SampleService.Models.TripPin.Trip)"
+                                       Nullable="false" />
+                       </Function>
+                       <Function Name="GetNearestAirport" IsComposable="true">
+                               <Parameter Name="lat" Type="Edm.Double" 
Nullable="false" />
+                               <Parameter Name="lon" Type="Edm.Double" 
Nullable="false" />
+                               <ReturnType 
Type="Microsoft.OData.SampleService.Models.TripPin.Airport"
+                                       Nullable="false" />
+                       </Function>
+                       <Action Name="ResetDataSource" />
+                       <Action Name="ShareTrip" IsBound="true">
+                               <Parameter Name="person"
+                                       
Type="Microsoft.OData.SampleService.Models.TripPin.Person"
+                                       Nullable="false" />
+                               <Parameter Name="userName" Type="Edm.String" 
Nullable="false" />
+                               <Parameter Name="tripId" Type="Edm.Int32" 
Nullable="false" />
+                       </Action>
+                       <EntityContainer Name="DefaultContainer">
+                               <EntitySet Name="Photos"
+                                       
EntityType="Microsoft.OData.SampleService.Models.TripPin.Photo">
+                                       <Annotation 
Term="Org.OData.Core.V1.ResourcePath"
+                                               String="Photos" />
+                                       <Annotation 
Term="Org.OData.Capabilities.V1.SearchRestrictions">
+                                               <Record>
+                                                       <PropertyValue 
Property="Searchable" Bool="true" />
+                                                       <PropertyValue 
Property="UnsupportedExpressions">
+                                                               
<EnumMember>Org.OData.Capabilities.V1.SearchExpressions/none
+                                                               </EnumMember>
+                                                       </PropertyValue>
+                                               </Record>
+                                       </Annotation>
+                                       <Annotation 
Term="Org.OData.Capabilities.V1.InsertRestrictions">
+                                               <Record>
+                                                       <PropertyValue 
Property="Insertable" Bool="true" />
+                                                       <PropertyValue 
Property="NonInsertableNavigationProperties">
+                                                               <Collection />
+                                                       </PropertyValue>
+                                               </Record>
+                                       </Annotation>
+                               </EntitySet>
+                               <EntitySet Name="People"
+                                       
EntityType="Microsoft.OData.SampleService.Models.TripPin.Person">
+                                       <NavigationPropertyBinding 
Path="Friends"
+                                               Target="People" />
+                                       <NavigationPropertyBinding
+                                               
Path="Microsoft.OData.SampleService.Models.TripPin.Flight/Airline"
+                                               Target="Airlines" />
+                                       <NavigationPropertyBinding
+                                               
Path="Microsoft.OData.SampleService.Models.TripPin.Flight/From"
+                                               Target="Airports" />
+                                       <NavigationPropertyBinding
+                                               
Path="Microsoft.OData.SampleService.Models.TripPin.Flight/To"
+                                               Target="Airports" />
+                                       <NavigationPropertyBinding Path="Photo"
+                                               Target="Photos" />
+                                       <NavigationPropertyBinding
+                                               
Path="Microsoft.OData.SampleService.Models.TripPin.Trip/Photos"
+                                               Target="Photos" />
+                                       <Annotation 
Term="Org.OData.Core.V1.OptimisticConcurrency">
+                                               <Collection>
+                                                       
<PropertyPath>Concurrency</PropertyPath>
+                                               </Collection>
+                                       </Annotation>
+                                       <Annotation 
Term="Org.OData.Core.V1.ResourcePath"
+                                               String="People" />
+                                       <Annotation 
Term="Org.OData.Capabilities.V1.NavigationRestrictions">
+                                               <Record>
+                                                       <PropertyValue 
Property="Navigability">
+                                                               
<EnumMember>Org.OData.Capabilities.V1.NavigationType/None
+                                                               </EnumMember>
+                                                       </PropertyValue>
+                                                       <PropertyValue 
Property="RestrictedProperties">
+                                                               <Collection>
+                                                                       <Record>
+                                                                               
<PropertyValue Property="NavigationProperty"
+                                                                               
        NavigationPropertyPath="Friends" />
+                                                                               
<PropertyValue Property="Navigability">
+                                                                               
        <EnumMember>Org.OData.Capabilities.V1.NavigationType/Recursive
+                                                                               
        </EnumMember>
+                                                                               
</PropertyValue>
+                                                                       
</Record>
+                                                               </Collection>
+                                                       </PropertyValue>
+                                               </Record>
+                                       </Annotation>
+                                       <Annotation 
Term="Org.OData.Capabilities.V1.SearchRestrictions">
+                                               <Record>
+                                                       <PropertyValue 
Property="Searchable" Bool="true" />
+                                                       <PropertyValue 
Property="UnsupportedExpressions">
+                                                               
<EnumMember>Org.OData.Capabilities.V1.SearchExpressions/none
+                                                               </EnumMember>
+                                                       </PropertyValue>
+                                               </Record>
+                                       </Annotation>
+                                       <Annotation 
Term="Org.OData.Capabilities.V1.InsertRestrictions">
+                                               <Record>
+                                                       <PropertyValue 
Property="Insertable" Bool="true" />
+                                                       <PropertyValue 
Property="NonInsertableNavigationProperties">
+                                                               <Collection>
+                                                                       
<NavigationPropertyPath>Trips</NavigationPropertyPath>
+                                                                       
<NavigationPropertyPath>Friends</NavigationPropertyPath>
+                                                               </Collection>
+                                                       </PropertyValue>
+                                               </Record>
+                                       </Annotation>
+                               </EntitySet>
+                               <EntitySet Name="Airlines"
+                                       
EntityType="Microsoft.OData.SampleService.Models.TripPin.Airline">
+                                       <Annotation 
Term="Org.OData.Core.V1.ResourcePath"
+                                               String="Airlines" />
+                                       <Annotation 
Term="Org.OData.Capabilities.V1.SearchRestrictions">
+                                               <Record>
+                                                       <PropertyValue 
Property="Searchable" Bool="true" />
+                                                       <PropertyValue 
Property="UnsupportedExpressions">
+                                                               
<EnumMember>Org.OData.Capabilities.V1.SearchExpressions/none
+                                                               </EnumMember>
+                                                       </PropertyValue>
+                                               </Record>
+                                       </Annotation>
+                                       <Annotation 
Term="Org.OData.Capabilities.V1.InsertRestrictions">
+                                               <Record>
+                                                       <PropertyValue 
Property="Insertable" Bool="true" />
+                                                       <PropertyValue 
Property="NonInsertableNavigationProperties">
+                                                               <Collection />
+                                                       </PropertyValue>
+                                               </Record>
+                                       </Annotation>
+                               </EntitySet>
+                               <EntitySet Name="Airports"
+                                       
EntityType="Microsoft.OData.SampleService.Models.TripPin.Airport">
+                                       <Annotation 
Term="Org.OData.Core.V1.ResourcePath"
+                                               String="Airports" />
+                                       <Annotation 
Term="Org.OData.Capabilities.V1.SearchRestrictions">
+                                               <Record>
+                                                       <PropertyValue 
Property="Searchable" Bool="true" />
+                                                       <PropertyValue 
Property="UnsupportedExpressions">
+                                                               
<EnumMember>Org.OData.Capabilities.V1.SearchExpressions/none
+                                                               </EnumMember>
+                                                       </PropertyValue>
+                                               </Record>
+                                       </Annotation>
+                                       <Annotation 
Term="Org.OData.Capabilities.V1.InsertRestrictions">
+                                               <Record>
+                                                       <PropertyValue 
Property="Insertable" Bool="false" />
+                                                       <PropertyValue 
Property="NonInsertableNavigationProperties">
+                                                               <Collection />
+                                                       </PropertyValue>
+                                               </Record>
+                                       </Annotation>
+                                       <Annotation 
Term="Org.OData.Capabilities.V1.DeleteRestrictions">
+                                               <Record>
+                                                       <PropertyValue 
Property="Deletable" Bool="false" />
+                                                       <PropertyValue 
Property="NonDeletableNavigationProperties">
+                                                               <Collection />
+                                                       </PropertyValue>
+                                               </Record>
+                                       </Annotation>
+                               </EntitySet>
+                               <Singleton Name="Me"
+                                       
Type="Microsoft.OData.SampleService.Models.TripPin.Person">
+                                       <NavigationPropertyBinding 
Path="Friends"
+                                               Target="People" />
+                                       <NavigationPropertyBinding
+                                               
Path="Microsoft.OData.SampleService.Models.TripPin.Flight/Airline"
+                                               Target="Airlines" />
+                                       <NavigationPropertyBinding
+                                               
Path="Microsoft.OData.SampleService.Models.TripPin.Flight/From"
+                                               Target="Airports" />
+                                       <NavigationPropertyBinding
+                                               
Path="Microsoft.OData.SampleService.Models.TripPin.Flight/To"
+                                               Target="Airports" />
+                                       <NavigationPropertyBinding Path="Photo"
+                                               Target="Photos" />
+                                       <NavigationPropertyBinding
+                                               
Path="Microsoft.OData.SampleService.Models.TripPin.Trip/Photos"
+                                               Target="Photos" />
+                                       <Annotation 
Term="Org.OData.Core.V1.ResourcePath"
+                                               String="Me" />
+                               </Singleton>
+                               <FunctionImport Name="GetNearestAirport"
+                                       
Function="Microsoft.OData.SampleService.Models.TripPin.GetNearestAirport"
+                                       EntitySet="Airports" 
IncludeInServiceDocument="true">
+                                       <Annotation 
Term="Org.OData.Core.V1.ResourcePath"
+                                               
String="Microsoft.OData.SampleService.Models.TripPin.GetNearestAirport" />
+                               </FunctionImport>
+                               <ActionImport Name="ResetDataSource"
+                                       
Action="Microsoft.OData.SampleService.Models.TripPin.ResetDataSource" />
+                               <Annotation Term="Org.OData.Core.V1.Description"
+                                       String="TripPin service is a sample 
service for OData V4." />
+                       </EntityContainer>
+                       <Annotations
+                               
Target="Microsoft.OData.SampleService.Models.TripPin.DefaultContainer">
+                               <Annotation 
Term="Org.OData.Core.V1.DereferenceableIDs"
+                                       Bool="true" />
+                               <Annotation 
Term="Org.OData.Core.V1.ConventionalIDs"
+                                       Bool="true" />
+                               <Annotation 
Term="Org.OData.Capabilities.V1.ConformanceLevel">
+                                       
<EnumMember>Org.OData.Capabilities.V1.ConformanceLevelType/Advanced
+                                       </EnumMember>
+                               </Annotation>
+                               <Annotation 
Term="Org.OData.Capabilities.V1.SupportedFormats">
+                                       <Collection>
+                                               
<String>application/json;odata.metadata=full;IEEE754Compatible=false;odata.streaming=true
+                                               </String>
+                                               
<String>application/json;odata.metadata=minimal;IEEE754Compatible=false;odata.streaming=true
+                                               </String>
+                                               
<String>application/json;odata.metadata=none;IEEE754Compatible=false;odata.streaming=true
+                                               </String>
+                                       </Collection>
+                               </Annotation>
+                               <Annotation
+                                       
Term="Org.OData.Capabilities.V1.AsynchronousRequestsSupported"
+                                       Bool="true" />
+                               <Annotation
+                                       
Term="Org.OData.Capabilities.V1.BatchContinueOnErrorSupported"
+                                       Bool="false" />
+                               <Annotation 
Term="Org.OData.Capabilities.V1.FilterFunctions">
+                                       <Collection>
+                                               <String>contains</String>
+                                               <String>endswith</String>
+                                               <String>startswith</String>
+                                               <String>length</String>
+                                               <String>indexof</String>
+                                               <String>substring</String>
+                                               <String>tolower</String>
+                                               <String>toupper</String>
+                                               <String>trim</String>
+                                               <String>concat</String>
+                                               <String>year</String>
+                                               <String>month</String>
+                                               <String>day</String>
+                                               <String>hour</String>
+                                               <String>minute</String>
+                                               <String>second</String>
+                                               <String>round</String>
+                                               <String>floor</String>
+                                               <String>ceiling</String>
+                                               <String>cast</String>
+                                               <String>isof</String>
+                                       </Collection>
+                               </Annotation>
+                       </Annotations>
+                       <Term Name="IsURI" Type="Core.Tag" DefaultValue="true"
+                               AppliesTo="Property">
+                               <Annotation Term="Core.Description">
+                                       <String>
+                                               Properties and terms annotated 
with this term MUST contain a valid URI
+                                       </String>
+                               </Annotation>
+                               <Annotation Term="Core.RequiresType" 
String="Edm.String" />
+                       </Term>
+               </Schema>
+       </edmx:DataServices>
 </edmx:Edmx>
\ No newline at end of file

Reply via email to