1 //Copyright 2010 Microsoft Corporation
2 //
3 //Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
4 //You may obtain a copy of the License at
5 //
6 //http://www.apache.org/licenses/LICENSE-2.0
7 //
8 //Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
9 //"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10 //See the License for the specific language governing permissions and limitations under the License.
11 
12 
13 namespace System.Data.Services.Client
14 {
15     internal static class XmlConstants
16     {
17         #region CLR / Reflection constants.
18 
19         internal const string ClrServiceInitializationMethodName = "InitializeService";
20 
21         #endregion CLR / Reflection constants.
22 
23         #region HTTP constants.
24 
25         internal const string HttpContentID = "Content-ID";
26 
27         internal const string HttpContentLength = "Content-Length";
28 
29         internal const string HttpContentType = "Content-Type";
30 
31         internal const string HttpContentDisposition = "Content-Disposition";
32 
33         internal const string HttpDataServiceVersion = "DataServiceVersion";
34 
35         internal const string HttpMaxDataServiceVersion = "MaxDataServiceVersion";
36 
37         internal const string HttpCacheControlNoCache = "no-cache";
38 
39         internal const string HttpCharsetParameter = "charset";
40 
41         internal const string HttpMethodGet = "GET";
42 
43         internal const string HttpMethodPost = "POST";
44 
45         internal const string HttpMethodPut = "PUT";
46 
47         internal const string HttpMethodDelete = "DELETE";
48 
49         internal const string HttpMethodMerge = "MERGE";
50 
51         internal const string HttpQueryStringExpand = "$expand";
52 
53         internal const string HttpQueryStringFilter = "$filter";
54 
55         internal const string HttpQueryStringOrderBy = "$orderby";
56 
57         internal const string HttpQueryStringSkip = "$skip";
58 
59         internal const string HttpQueryStringTop = "$top";
60 
61         internal const string HttpQueryStringInlineCount = "$inlinecount";
62 
63         internal const string HttpQueryStringSkipToken = "$skiptoken";
64 
65         internal const string SkipTokenPropertyPrefix = "SkipTokenProperty";
66 
67         internal const string HttpQueryStringValueCount = "$count";
68 
69         internal const string HttpQueryStringSelect = "$select";
70 
71         internal const string HttpQValueParameter = "q";
72 
73         internal const string HttpXMethod = "X-HTTP-Method";
74 
75         internal const string HttpRequestAccept = "Accept";
76 
77         internal const string HttpRequestAcceptCharset = "Accept-Charset";
78 
79         internal const string HttpRequestIfMatch = "If-Match";
80 
81         internal const string HttpRequestIfNoneMatch = "If-None-Match";
82 
83         internal const string HttpMultipartBoundary = "boundary";
84         internal const string HttpMultipartBoundaryBatch = "batch";
85 
86         internal const string HttpMultipartBoundaryChangeSet = "changeset";
87 
88         internal const string HttpResponseAllow = "Allow";
89 
90         internal const string HttpResponseCacheControl = "Cache-Control";
91 
92         internal const string HttpResponseETag = "ETag";
93 
94         internal const string HttpResponseLocation = "Location";
95 
96         internal const string HttpResponseStatusCode = "Status-Code";
97 
98         internal const string HttpMultipartBoundaryBatchResponse = "batchresponse";
99 
100         internal const string HttpMultipartBoundaryChangesetResponse = "changesetresponse";
101 
102         internal const string HttpContentTransferEncoding = "Content-Transfer-Encoding";
103 
104         internal const string HttpVersionInBatching = "HTTP/1.1";
105 
106         internal const string HttpAnyETag = "*";
107 
108         internal const string HttpWeakETagPrefix = "W/\"";
109 
110         internal const string HttpAcceptCharset = "Accept-Charset";
111 
112         internal const string HttpCookie = "Cookie";
113 
114         internal const string HttpSlug = "Slug";
115 
116         #endregion HTTP constants.
117 
118         #region MIME constants.
119 
120         internal const string MimeAny = "*/*";
121 
122         internal const string MimeApplicationAtom = "application/atom+xml";
123 
124         internal const string MimeApplicationAtomService = "application/atomsvc+xml";
125 
126         internal const string MimeApplicationJson = "application/json";
127 
128         internal const string MimeApplicationOctetStream = "application/octet-stream";
129 
130         internal const string MimeApplicationHttp = "application/http";
131 
132         internal const string MimeApplicationType = "application";
133 
134         internal const string MimeApplicationXml = "application/xml";
135 
136         internal const string MimeJsonSubType = "json";
137 
138         internal const string MimeMetadata = MimeApplicationXml;
139 
140         internal const string MimeMultiPartMixed = "multipart/mixed";
141 
142         internal const string MimeTextPlain = "text/plain";
143 
144         internal const string MimeTextType = "text";
145 
146         internal const string MimeTextXml = "text/xml";
147 
148         internal const string MimeXmlSubType = "xml";
149 
150         internal const string BatchRequestContentTransferEncoding = "binary";
151 
152         internal const string LinkMimeTypeFeed = "application/atom+xml;type=feed";
153 
154         internal const string LinkMimeTypeEntry = "application/atom+xml;type=entry";
155 
156         internal const string Utf8Encoding = "UTF-8";
157 
158         internal const string MimeTypeUtf8Encoding = ";charset=" + Utf8Encoding;
159         #endregion MIME constants.
160 
161         #region URI constants.
162 
163         internal const string UriHttpAbsolutePrefix = "http://host";
164 
165         internal const string UriMetadataSegment = "$metadata";
166 
167         internal const string UriValueSegment = "$value";
168 
169         internal const string UriBatchSegment = "$batch";
170 
171         internal const string UriLinkSegment = "$links";
172 
173         internal const string UriCountSegment = "$count";
174 
175         internal const string UriRowCountAllOption = "allpages";
176 
177         internal const string UriRowCountOffOption = "none";
178 
179         #endregion URI constants.
180 
181         #region WCF constants.
182 
183         internal const string WcfBinaryElementName = "Binary";
184 
185         #endregion WCF constants.
186 
187         #region ATOM constants
188         internal const string AtomContentElementName = "content";
189 
190         internal const string AtomEntryElementName = "entry";
191 
192         internal const string AtomFeedElementName = "feed";
193 
194         internal const string AtomAuthorElementName = "author";
195 
196         internal const string AtomContributorElementName = "contributor";
197 
198         internal const string AtomCategoryElementName = "category";
199 
200         internal const string AtomCategorySchemeAttributeName = "scheme";
201 
202         internal const string AtomCategoryTermAttributeName = "term";
203 
204         internal const string AtomIdElementName = "id";
205 
206         internal const string AtomLinkElementName = "link";
207 
208         internal const string AtomLinkRelationAttributeName = "rel";
209 
210         internal const string AtomContentSrcAttributeName = "src";
211 
212         internal const string AtomLinkNextAttributeString = "next";
213 
214         internal const string MetadataAttributeEpmContentKind = "FC_ContentKind";
215 
216         internal const string MetadataAttributeEpmKeepInContent = "FC_KeepInContent";
217 
218         internal const string MetadataAttributeEpmNsPrefix = "FC_NsPrefix";
219 
220         internal const string MetadataAttributeEpmNsUri = "FC_NsUri";
221 
222         internal const string MetadataAttributeEpmTargetPath = "FC_TargetPath";
223 
224         internal const string MetadataAttributeEpmSourcePath = "FC_SourcePath";
225 
226         internal const string SyndAuthorEmail = "SyndicationAuthorEmail";
227 
228         internal const string SyndAuthorName = "SyndicationAuthorName";
229 
230         internal const string SyndAuthorUri = "SyndicationAuthorUri";
231 
232         internal const string SyndPublished = "SyndicationPublished";
233 
234         internal const string SyndRights = "SyndicationRights";
235 
236         internal const string SyndSummary = "SyndicationSummary";
237 
238         internal const string SyndTitle = "SyndicationTitle";
239 
240         internal const string AtomUpdatedElementName = "updated";
241 
242         internal const string SyndContributorEmail = "SyndicationContributorEmail";
243 
244         internal const string SyndContributorName = "SyndicationContributorName";
245 
246         internal const string SyndContributorUri = "SyndicationContributorUri";
247 
248         internal const string SyndUpdated = "SyndicationUpdated";
249 
250         internal const string SyndContentKindPlaintext = "text";
251 
252         internal const string SyndContentKindHtml = "html";
253 
254         internal const string SyndContentKindXHtml = "xhtml";
255 
256         internal const string AtomHRefAttributeName = "href";
257 
258         internal const string AtomSummaryElementName = "summary";
259 
260         internal const string AtomNameElementName = "name";
261 
262         internal const string AtomEmailElementName = "email";
263 
264         internal const string AtomUriElementName = "uri";
265 
266         internal const string AtomPublishedElementName = "published";
267 
268         internal const string AtomRightsElementName = "rights";
269 
270         internal const string AtomPublishingCollectionElementName = "collection";
271 
272         internal const string AtomPublishingServiceElementName = "service";
273 
274         internal const string AtomPublishingWorkspaceDefaultValue = "Default";
275 
276         internal const string AtomPublishingWorkspaceElementName = "workspace";
277 
278         internal const string AtomTitleElementName = "title";
279 
280         internal const string AtomTypeAttributeName = "type";
281 
282         internal const string AtomSelfRelationAttributeValue = "self";
283 
284         internal const string AtomEditRelationAttributeValue = "edit";
285 
286         internal const string AtomEditMediaRelationAttributeValue = "edit-media";
287 
288         internal const string AtomNullAttributeName = "null";
289 
290         internal const string AtomETagAttributeName = "etag";
291 
292         internal const string AtomInlineElementName = "inline";
293 
294         internal const string AtomPropertiesElementName = "properties";
295 
296         internal const string RowCountElement = "count";
297 
298         #endregion ATOM constants
299 
300         #region XML constants.
301 
302         internal const string XmlCollectionItemElementName = "element";
303 
304         internal const string XmlErrorElementName = "error";
305 
306         internal const string XmlErrorCodeElementName = "code";
307 
308         internal const string XmlErrorInnerElementName = "innererror";
309 
310         internal const string XmlErrorInternalExceptionElementName = "internalexception";
311 
312         internal const string XmlErrorTypeElementName = "type";
313 
314         internal const string XmlErrorStackTraceElementName = "stacktrace";
315 
316         internal const string XmlErrorMessageElementName = "message";
317 
318         internal const string XmlFalseLiteral = "false";
319 
320         internal const string XmlTrueLiteral = "true";
321 
322         internal const string XmlInfinityLiteral = "INF";
323 
324         internal const string XmlNaNLiteral = "NaN";
325 
326         internal const string XmlBaseAttributeName = "base";
327 
328         internal const string XmlLangAttributeName = "lang";
329 
330         internal const string XmlSpaceAttributeName = "space";
331 
332         internal const string XmlSpacePreserveValue = "preserve";
333 
334         internal const string XmlBaseAttributeNameWithPrefix = "xml:base";
335 
336         #endregion XML constants.
337 
338         #region XML namespaces.
339 
340         internal const string EdmV1Namespace = "http://schemas.microsoft.com/ado/2006/04/edm";
341 
342         internal const string EdmV1dot1Namespace = "http://schemas.microsoft.com/ado/2007/05/edm";
343 
344         internal const string EdmV1dot2Namespace = "http://schemas.microsoft.com/ado/2008/01/edm";
345 
346         internal const string DataWebNamespace = "http://schemas.microsoft.com/ado/2007/08/dataservices";
347 
348         internal const string DataWebMetadataNamespace = "http://schemas.microsoft.com/ado/2007/08/dataservices/metadata";
349 
350         internal const string DataWebRelatedNamespace = "http://schemas.microsoft.com/ado/2007/08/dataservices/related/";
351 
352         internal const string DataWebSchemeNamespace = "http://schemas.microsoft.com/ado/2007/08/dataservices/scheme";
353 
354         internal const string AppNamespace = "http://www.w3.org/2007/app";
355 
356         internal const string AtomNamespace = "http://www.w3.org/2005/Atom";
357 
358         internal const string XmlnsNamespacePrefix = "xmlns";
359 
360         internal const string XmlNamespacePrefix = "xml";
361 
362         internal const string DataWebNamespacePrefix = "d";
363 
364         internal const string DataWebMetadataNamespacePrefix = "m";
365 
366         internal const string XmlNamespacesNamespace = "http://www.w3.org/2000/xmlns/";
367 
368         internal const string EdmxNamespace = "http://schemas.microsoft.com/ado/2007/06/edmx";
369 
370         internal const string EdmxNamespacePrefix = "edmx";
371 
372         #endregion XML namespaces.
373 
374         #region CDM Schema Xml NodeNames
375 
376         #region Constant node names in the CDM schema xml
377 
378         internal const string Association = "Association";
379 
380         internal const string AssociationSet = "AssociationSet";
381 
382         internal const string ComplexType = "ComplexType";
383 
384         internal const string Dependent = "Dependent";
385 
386         internal const string EdmCollectionTypeFormat = "Collection({0})";
387 
388         internal const string EdmEntitySetAttributeName = "EntitySet";
389 
390         internal const string EdmFunctionImportElementName = "FunctionImport";
391 
392         internal const string EdmModeAttributeName = "Mode";
393 
394         internal const string EdmModeInValue = "In";
395 
396         internal const string EdmParameterElementName = "Parameter";
397 
398         internal const string EdmReturnTypeAttributeName = "ReturnType";
399 
400         internal const string End = "End";
401 
402         internal const string EntityType = "EntityType";
403 
404         internal const string EntityContainer = "EntityContainer";
405 
406         internal const string Key = "Key";
407 
408         internal const string NavigationProperty = "NavigationProperty";
409 
410         internal const string OnDelete = "OnDelete";
411 
412         internal const string Principal = "Principal";
413 
414         internal const string Property = "Property";
415 
416         internal const string PropertyRef = "PropertyRef";
417 
418         internal const string ReferentialConstraint = "ReferentialConstraint";
419 
420         internal const string Role = "Role";
421 
422         internal const string Schema = "Schema";
423 
424         internal const string EdmxElement = "Edmx";
425 
426         internal const string EdmxDataServicesElement = "DataServices";
427 
428         internal const string EdmxVersion = "Version";
429 
430         internal const string EdmxVersionValue = "1.0";
431 
432         #endregion
433 
434         #region const attribute names in the CDM schema XML
435 
436         internal const string Action = "Action";
437 
438         internal const string BaseType = "BaseType";
439 
440         internal const string EntitySet = "EntitySet";
441 
442         internal const string FromRole = "FromRole";
443 
444         internal const string Abstract = "Abstract";
445 
446         internal const string Multiplicity = "Multiplicity";
447 
448         internal const string Name = "Name";
449 
450         internal const string Namespace = "Namespace";
451 
452         internal const string ToRole = "ToRole";
453 
454         internal const string Type = "Type";
455 
456         internal const string Relationship = "Relationship";
457         #endregion
458 
459         #region values for multiplicity in Edm
460 
461         internal const string Many = "*";
462 
463         internal const string One = "1";
464 
465         internal const string ZeroOrOne = "0..1";
466         #endregion
467 
468         #region Edm Facets Names and Values
469 
470         internal const string Nullable = "Nullable";
471 
472         internal const string ConcurrencyAttribute = "ConcurrencyMode";
473 
474         internal const string ConcurrencyFixedValue = "Fixed";
475 
476         #endregion
477 
478         #endregion // CDM Schema Xml NodeNames
479 
480         #region DataWeb Elements and Attributes.
481 
482         internal const string DataWebMimeTypeAttributeName = "MimeType";
483 
484         internal const string DataWebOpenTypeAttributeName = "OpenType";
485 
486         internal const string DataWebAccessHasStreamAttribute = "HasStream";
487 
488         internal const string DataWebAccessDefaultStreamPropertyValue = "true";
489 
490         internal const string IsDefaultEntityContainerAttribute = "IsDefaultEntityContainer";
491 
492         internal const string ServiceOperationHttpMethodName = "HttpMethod";
493 
494         internal const string UriElementName = "uri";
495 
496         internal const string NextElementName = "next";
497 
498         internal const string LinkCollectionElementName = "links";
499 
500         #endregion DataWeb Elements and Attributes.
501 
502         #region JSON Format constants
503 
504         internal const string JsonError = "error";
505 
506         internal const string JsonErrorCode = "code";
507 
508         internal const string JsonErrorInner = "innererror";
509 
510         internal const string JsonErrorInternalException = "internalexception";
511 
512         internal const string JsonErrorMessage = "message";
513 
514         internal const string JsonErrorStackTrace = "stacktrace";
515 
516         internal const string JsonErrorType = "type";
517 
518         internal const string JsonErrorValue = "value";
519 
520         internal const string JsonMetadataString = "__metadata";
521 
522         internal const string JsonUriString = "uri";
523 
524         internal const string JsonTypeString = "type";
525 
526         internal const string JsonEditMediaString = "edit_media";
527 
528         internal const string JsonMediaSrcString = "media_src";
529 
530         internal const string JsonContentTypeString = "content_type";
531 
532         internal const string JsonMediaETagString = "media_etag";
533 
534         internal const string JsonDeferredString = "__deferred";
535 
536         internal const string JsonETagString = "etag";
537 
538         internal const string JsonRowCountString = "__count";
539 
540         internal const string JsonNextString = "__next";
541 
542         #endregion
543 
544         #region Edm Primitive Type Names
545         internal const string EdmNamespace = "Edm";
546 
547         internal const string EdmBinaryTypeName = "Edm.Binary";
548 
549         internal const string EdmBooleanTypeName = "Edm.Boolean";
550 
551         internal const string EdmByteTypeName = "Edm.Byte";
552 
553         internal const string EdmDateTimeTypeName = "Edm.DateTime";
554 
555         internal const string EdmDecimalTypeName = "Edm.Decimal";
556 
557         internal const string EdmDoubleTypeName = "Edm.Double";
558 
559         internal const string EdmGuidTypeName = "Edm.Guid";
560 
561         internal const string EdmSingleTypeName = "Edm.Single";
562 
563         internal const string EdmSByteTypeName = "Edm.SByte";
564 
565         internal const string EdmInt16TypeName = "Edm.Int16";
566 
567         internal const string EdmInt32TypeName = "Edm.Int32";
568 
569         internal const string EdmInt64TypeName = "Edm.Int64";
570 
571         internal const string EdmStringTypeName = "Edm.String";
572         #endregion
573 
574         #region Astoria Constants
575 
576         internal const string DataServiceVersion1Dot0 = "1.0";
577 
578         internal const string DataServiceVersion2Dot0 = "2.0";
579 
580         internal const string DataServiceVersionCurrent = DataServiceVersion2Dot0 + ";";
581 
582         internal const int DataServiceVersionCurrentMajor = 1;
583 
584         internal const int DataServiceVersionCurrentMinor = 0;
585 
586         internal const string LiteralPrefixBinary = "binary";
587 
588         internal const string LiteralPrefixDateTime = "datetime";
589 
590         internal const string LiteralPrefixGuid = "guid";
591 
592         internal const string XmlBinaryPrefix = "X";
593 
594         internal const string XmlDecimalLiteralSuffix = "M";
595 
596         internal const string XmlInt64LiteralSuffix = "L";
597 
598         internal const string XmlSingleLiteralSuffix = "f";
599 
600         internal const string XmlDoubleLiteralSuffix = "D";
601 
602         internal const string NullLiteralInETag = "null";
603 
604         internal const string MicrosoftDataServicesRequestUri = "MicrosoftDataServicesRequestUri";
605 
606         internal const string MicrosoftDataServicesRootUri = "MicrosoftDataServicesRootUri";
607 
608         #endregion
609     }
610 }
611