This repository has been archived by the owner on Sep 23, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 9
/
Org.OData.Core.V1.xml
159 lines (127 loc) · 6.82 KB
/
Org.OData.Core.V1.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
<?xml version="1.0" encoding="utf-8"?>
<!--
Technical Committee:
OASIS Open Data Protocol (OData) TC
https://www.oasis-open.org/committees/odata
Chairs:
- Barbara Hartel ([email protected]), SAP AG
- Ram Jeyaraman ([email protected]), Microsoft
Editors:
- Ralf Handl ([email protected]), SAP AG
- Michael Pizzo ([email protected]), Microsoft
- Martin Zurmuehl ([email protected]), SAP AG
Additional artifacts:
This CSDL document is one component of a Work Product which consists of:
- OData Version 4.0 Part 1: Protocol
- OData Version 4.0 Part 2: URL Conventions
- OData Version 4.0 Part 3: Common Schema Definition Language (CSDL)
- OData ABNF Construction Rules Version 4.0
- OData ABNF Test Cases
- OData Core Vocabulary (this document)
- OData Capabilities Vocabulary
- OData Measures Vocabulary
- OData Metadata Service Entity Model
- OData EDMX XML Schema
- OData EDM XML Schema
Related work:
This work product is related to the following two Work Products, each of
which define alternate formats for OData payloads
- OData Atom Format Version 4.0
- OData JSON Format Version 4.0
This specification replaces or supersedes:
- None
Declared XML namespaces:
- http://docs.oasis-open.org/odata/ns/edmx
- http://docs.oasis-open.org/odata/ns/edm
Abstract:
The Open Data Protocol (OData) enables the creation of REST-based data
services, which allow resources, identified using Uniform Resource
Identifiers (URLs) and defined in a data model, to be published and
edited by Web clients using simple HTTP messages. This document defines
the URL syntax for requests and the serialization format for primitive
literals in request and response payloads.
Overview:
This document contains Core terms needed to write vocabularies.
-->
<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Version="4.0">
<edmx:DataServices>
<Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Org.OData.Core.V1" Alias="Core">
<Annotation Term="Core.Description">
<String>Core terms needed to write vocabularies</String>
</Annotation>
<!--Documentation -->
<Term Name="Description" Type="Edm.String">
<Annotation Term="Core.Description" String="A brief description of a model element" />
<Annotation Term="Core.IsLanguageDependent" />
</Term>
<Term Name="LongDescription" Type="Edm.String">
<Annotation Term="Core.Description" String="A lengthy description of a model element" />
<Annotation Term="Core.IsLanguageDependent" />
</Term>
<!-- Localization -->
<Term Name="IsLanguageDependent" Type="Core.Tag" DefaultValue="true" AppliesTo="Term Property">
<Annotation Term="Core.Description" String="Properties and terms annotated with this term are language-dependent" />
<Annotation Term="Core.RequiresType" String="Edm.String" />
</Term>
<!-- Term Restrictions -->
<TypeDefinition Name="Tag" UnderlyingType="Edm.Boolean">
<Annotation Term="Core.Description" String="This is the type to use for all tagging terms" />
</TypeDefinition>
<Term Name="RequiresType" Type="Edm.String" AppliesTo="Term">
<Annotation Term="Core.Description"
String="Terms annotated with this term can only be applied to elements that have a type that is identical to or derived from the given type name" />
</Term>
<!--Resource Paths -->
<Term Name="ResourcePath" Type="Edm.String" AppliesTo="EntitySet Singleton ActionImport FunctionImport">
<Annotation Term="Core.Description"
String="Resource path for entity container child, can be relative to xml:base and the request URL" />
<Annotation Term="Core.IsURL" />
</Term>
<Term Name="DereferenceableIDs" Type="Core.Tag" DefaultValue="true" AppliesTo="EntityContainer">
<Annotation Term="Core.Description" String="Entity-ids are URLs that locate the identified entity" />
</Term>
<Term Name="ConventionalIDs" Type="Core.Tag" DefaultValue="true" AppliesTo="EntityContainer">
<Annotation Term="Core.Description" String="Entity-ids follow OData URL conventions" />
</Term>
<!-- Permissions -->
<Term Name="Permissions" Type="Core.Permission" AppliesTo="Property">
<Annotation Term="Core.Description" String="Permissions available for a property.The value of 2 is reserved for future use." />
</Term>
<EnumType Name="Permission" IsFlags="true">
<Member Name="None" Value="0" />
<Member Name="Read" Value="1" />
<Member Name="Write" Value="2" />
<Member Name="ReadWrite" Value="3" />
</EnumType>
<!-- Metadata Extensions -->
<Term Name="Immutable" Type="Core.Tag" DefaultValue="true" AppliesTo="Property">
<Annotation Term="Core.Description"
String="A value for this non-key property can be provided on insert and remains unchanged on update" />
</Term>
<Term Name="Computed" Type="Core.Tag" DefaultValue="true" AppliesTo="Property">
<Annotation Term="Core.Description" String="A value for this property is generated on both insert and update" />
</Term>
<Term Name="IsURL" Type="Core.Tag" DefaultValue="true" AppliesTo="Property Term">
<Annotation Term="Core.Description" String="Properties and terms annotated with this term MUST contain a valid URL" />
<Annotation Term="Core.RequiresType" String="Edm.String" />
</Term>
<Term Name="AcceptableMediaTypes" Type="Collection(Edm.String)" AppliesTo="EntityType Property">
<Annotation Term="Core.Description"
String="Lists the MIME types acceptable for the annotated entity type marked with HasStream="true" or the annotated stream property" />
<Annotation Term="Core.IsMediaType" />
</Term>
<Term Name="MediaType" Type="Edm.String" AppliesTo="Property">
<Annotation Term="Core.IsMediaType" />
<Annotation Term="Core.RequiresType" String="Edm.Binary" />
</Term>
<Term Name="IsMediaType" Type="Core.Tag" DefaultValue="true" AppliesTo="Property Term">
<Annotation Term="Core.Description" String="Properties and terms annotated with this term MUST contain a valid MIME type" />
<Annotation Term="Core.RequiresType" String="Edm.String" />
</Term>
<Term Name="OptimisticConcurrency" Type="Collection(Edm.PropertyPath)" AppliesTo="EntitySet">
<Annotation Term="Core.Description"
String="Data modification requires the use of Etags. A non-empty collection contains the set of properties that are used to compute the ETag" />
</Term>
</Schema>
</edmx:DataServices>
</edmx:Edmx>