-
Proposal:
Show
Specify in Section 10 of [ATOM] that an individual property is serialized as an element named "value" in the odata metadata namespace (that may contain metadata:type and metadata:null attributes, following the same rules as the d:<propertyname> element (which should be updated in 5.1.11.1 to include the metadata:null attribute) and correct examples in Section 10 and 11 accordingly.
Accepted: https://www.oasis-open.org/committees/download.php/48346/odata-meeting-26_on-20130221-minutes.html#odata-254
-
Resolution:
Show
https://www.oasis-open.org/committees/download.php/48383/odata-atom-format-v4.0-wd01-2013-02-26-RH.doc
https://tools.oasis-open.org/version-control/browse/wsvn/odata/trunk/spec/schemas/metadata.xsd?rev=204
https://www.oasis-open.org/committees/download.php/48441/odata-atom-format-v4.0-wd01-2013-03-05-RH.doc
https://tools.oasis-open.org/version-control/browse/wsvn/odata/trunk/spec/schemas/metadata.xsd?rev=205
Accepted: https://www.oasis-open.org/committees/download.php/48549/odata-meeting-29_on-20130314-minutes.html#odata-254
Currently, the example in Section 10 of [ATOM] implies that when selecting a single property (i.e., ~Customers('ALFKI')/FirstName), the payload would contain the name of the property in the d: namespace:
<Title xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices">CEO<Title>
This implies that what is represented is a property with a given name, which is not the case; what should be represented is the value of the property, which is independent of the property itself (and can thus be used, for example, in passing as a parameter to an action). This is also inconsistent with how a function that returns a single property is represented, and is inconsistent with the JSON format (which represents this as a name/value pair with the name "value").
We should specify that an individual property is serialized in ATOM as an element named "value" in the odata metadata namespace.
{"report":{"apdex":1,"isInitial":true,"journeyId":"f9d340d4-f02e-4035-9c05-911c038bdc6e","key":"jira.project.issue.view-issue","navigationType":0,"readyForUser":725,"redirectCount":0,"resourceLoadedEnd":709.0999999046326,"resourceLoadedStart":246.40000009536743,"resourceTiming":[{"duration":100.69999980926514,"initiatorType":"link","name":"https://issues.oasis-open.org/s/3edeca31ab9ba77980aae0809fbe7121-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/0a4716d29b2d5b1bdcdb168b4efc119e/_/download/contextbatch/css/_super/batch.css","startTime":246.40000009536743,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":246.40000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":347.09999990463257,"responseStart":0,"secureConnectionStart":0},{"duration":100.60000038146973,"initiatorType":"link","name":"https://issues.oasis-open.org/s/7d2823769c2e7b66e860863fe879b7f8-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/9aebb1c0aaa4c36289529757ec9dbb54/_/download/contextbatch/css/project.issue.navigator,jira.view.issue,jira.global,atl.general,-_super/batch.css?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&richediton=true","startTime":246.69999980926514,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":246.69999980926514,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":347.30000019073486,"responseStart":0,"secureConnectionStart":0},{"duration":100.40000009536743,"initiatorType":"link","name":"https://issues.oasis-open.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/8.0.5/_/download/batch/com.atlassian.auiplugin:split_aui.pattern.label/com.atlassian.auiplugin:split_aui.pattern.label.css","startTime":247,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":247,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":347.40000009536743,"responseStart":0,"secureConnectionStart":0},{"duration":100.30000019073486,"initiatorType":"link","name":"https://issues.oasis-open.org/s/645acc233eb869f48a571293b8358a7d-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:global-static-adgs/jira.webresources:global-static-adgs.css","startTime":247.19999980926514,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":247.19999980926514,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":347.5,"responseStart":0,"secureConnectionStart":0},{"duration":100.09999990463257,"initiatorType":"link","name":"https://issues.oasis-open.org/s/a0dd6509771c1de0667aae5429c04cda-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:global-static/jira.webresources:global-static.css","startTime":247.5,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":247.5,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":347.59999990463257,"responseStart":0,"secureConnectionStart":0},{"duration":144.69999980926514,"initiatorType":"script","name":"https://issues.oasis-open.org/s/e5479157e7a0c08b005e6522f2f04104-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/0a4716d29b2d5b1bdcdb168b4efc119e/_/download/contextbatch/js/_super/batch.js?locale=en-US","startTime":247.80000019073486,"connectEnd":247.80000019073486,"connectStart":247.80000019073486,"domainLookupEnd":247.80000019073486,"domainLookupStart":247.80000019073486,"fetchStart":247.80000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":247.80000019073486,"responseEnd":392.5,"responseStart":392.5,"secureConnectionStart":247.80000019073486},{"duration":176.39999961853027,"initiatorType":"script","name":"https://issues.oasis-open.org/s/83514d5d4e8543747b02042eafcdc99c-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/9aebb1c0aaa4c36289529757ec9dbb54/_/download/contextbatch/js/project.issue.navigator,jira.view.issue,jira.global,atl.general,-_super/batch.js?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&locale=en-US&richediton=true","startTime":248.80000019073486,"connectEnd":248.80000019073486,"connectStart":248.80000019073486,"domainLookupEnd":248.80000019073486,"domainLookupStart":248.80000019073486,"fetchStart":248.80000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":248.80000019073486,"responseEnd":425.19999980926514,"responseStart":425.19999980926514,"secureConnectionStart":248.80000019073486},{"duration":178.59999990463257,"initiatorType":"script","name":"https://issues.oasis-open.org/s/70bb2263e59e7e1f04fbd137c80b895b-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/aae1242f5fc81cc6a5bb8bc963ccda29/_/download/contextbatch/js/atl.global,-_super/batch.js?locale=en-US","startTime":249.09999990463257,"connectEnd":249.09999990463257,"connectStart":249.09999990463257,"domainLookupEnd":249.09999990463257,"domainLookupStart":249.09999990463257,"fetchStart":249.09999990463257,"redirectEnd":0,"redirectStart":0,"requestStart":249.09999990463257,"responseEnd":427.69999980926514,"responseStart":427.69999980926514,"secureConnectionStart":249.09999990463257},{"duration":178.90000009536743,"initiatorType":"script","name":"https://issues.oasis-open.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:calendar-en/jira.webresources:calendar-en.js","startTime":249.19999980926514,"connectEnd":249.19999980926514,"connectStart":249.19999980926514,"domainLookupEnd":249.19999980926514,"domainLookupStart":249.19999980926514,"fetchStart":249.19999980926514,"redirectEnd":0,"redirectStart":0,"requestStart":249.19999980926514,"responseEnd":428.09999990463257,"responseStart":428.09999990463257,"secureConnectionStart":249.19999980926514},{"duration":179.09999990463257,"initiatorType":"script","name":"https://issues.oasis-open.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:calendar-localisation-moment/jira.webresources:calendar-localisation-moment.js","startTime":249.40000009536743,"connectEnd":249.40000009536743,"connectStart":249.40000009536743,"domainLookupEnd":249.40000009536743,"domainLookupStart":249.40000009536743,"fetchStart":249.40000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":249.40000009536743,"responseEnd":428.5,"responseStart":428.5,"secureConnectionStart":249.40000009536743},{"duration":179.5,"initiatorType":"script","name":"https://issues.oasis-open.org/s/cda37faab827dbdf305de8efe8282062-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/8.0.5/_/download/batch/com.atlassian.auiplugin:split_aui.pattern.label/com.atlassian.auiplugin:split_aui.pattern.label.js?locale=en-US","startTime":249.5,"connectEnd":249.5,"connectStart":249.5,"domainLookupEnd":249.5,"domainLookupStart":249.5,"fetchStart":249.5,"redirectEnd":0,"redirectStart":0,"requestStart":249.5,"responseEnd":429,"responseStart":429,"secureConnectionStart":249.5},{"duration":284.09999990463257,"initiatorType":"link","name":"https://issues.oasis-open.org/s/07245784f53abc49bad9d9d4d36c577a-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/cadc4f20cc5c138dee060d42cf85f220/_/download/contextbatch/css/jira.global.look-and-feel,-_super/batch.css","startTime":249.80000019073486,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":249.80000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":533.9000000953674,"responseStart":0,"secureConnectionStart":0},{"duration":179.59999990463257,"initiatorType":"script","name":"https://issues.oasis-open.org/rest/api/1.0/shortcuts/803004/a29179d70fa8562374ee16707692af77/shortcuts.js?context=issuenavigation&context=issueaction","startTime":249.90000009536743,"connectEnd":249.90000009536743,"connectStart":249.90000009536743,"domainLookupEnd":249.90000009536743,"domainLookupStart":249.90000009536743,"fetchStart":249.90000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":249.90000009536743,"responseEnd":429.5,"responseStart":429.5,"secureConnectionStart":249.90000009536743},{"duration":254.2999997138977,"initiatorType":"link","name":"https://issues.oasis-open.org/s/f77fd89aa211a76b20e9b0e63564383c-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/4a9288299d147101bf66484f4be48925/_/download/contextbatch/css/com.atlassian.jira.projects.sidebar.init,-_super,-jira.view.issue,-project.issue.navigator/batch.css?jira.create.linked.issue=true&richediton=true","startTime":279.80000019073486,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":279.80000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":534.0999999046326,"responseStart":0,"secureConnectionStart":0},{"duration":150,"initiatorType":"script","name":"https://issues.oasis-open.org/s/41525c48ddceeb9b11e54085268fc285-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/4a9288299d147101bf66484f4be48925/_/download/contextbatch/js/com.atlassian.jira.projects.sidebar.init,-_super,-jira.view.issue,-project.issue.navigator/batch.js?jira.create.linked.issue=true&locale=en-US&richediton=true","startTime":280,"connectEnd":280,"connectStart":280,"domainLookupEnd":280,"domainLookupStart":280,"fetchStart":280,"redirectEnd":0,"redirectStart":0,"requestStart":280,"responseEnd":430,"responseStart":430,"secureConnectionStart":280},{"duration":408,"initiatorType":"script","name":"https://issues.oasis-open.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:bigpipe-js/jira.webresources:bigpipe-js.js","startTime":290.40000009536743,"connectEnd":290.40000009536743,"connectStart":290.40000009536743,"domainLookupEnd":290.40000009536743,"domainLookupStart":290.40000009536743,"fetchStart":290.40000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":290.40000009536743,"responseEnd":698.4000000953674,"responseStart":698.4000000953674,"secureConnectionStart":290.40000009536743},{"duration":389.5,"initiatorType":"script","name":"https://issues.oasis-open.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:bigpipe-init/jira.webresources:bigpipe-init.js","startTime":319.59999990463257,"connectEnd":319.59999990463257,"connectStart":319.59999990463257,"domainLookupEnd":319.59999990463257,"domainLookupStart":319.59999990463257,"fetchStart":319.59999990463257,"redirectEnd":0,"redirectStart":0,"requestStart":319.59999990463257,"responseEnd":709.0999999046326,"responseStart":709.0999999046326,"secureConnectionStart":319.59999990463257},{"duration":155.59999990463257,"initiatorType":"xmlhttprequest","name":"https://issues.oasis-open.org/rest/webResources/1.0/resources","startTime":544.3000001907349,"connectEnd":544.3000001907349,"connectStart":544.3000001907349,"domainLookupEnd":544.3000001907349,"domainLookupStart":544.3000001907349,"fetchStart":544.3000001907349,"redirectEnd":0,"redirectStart":0,"requestStart":544.3000001907349,"responseEnd":699.9000000953674,"responseStart":699.9000000953674,"secureConnectionStart":544.3000001907349}],"threshold":1000,"fetchStart":0,"domainLookupStart":137,"domainLookupEnd":137,"connectStart":137,"connectEnd":187,"secureConnectionStart":162,"requestStart":187,"responseStart":238,"responseEnd":320,"domLoading":242,"domInteractive":836,"domContentLoadedEventStart":836,"domContentLoadedEventEnd":890,"domComplete":991,"loadEventStart":991,"loadEventEnd":993,"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","marks":[],"measures":[],"correlationId":"3bb7f8f099fe57","effectiveType":"4g","downlink":10,"rtt":0,"serverDuration":106,"dbReadsTimeInMs":12,"dbConnsTimeInMs":15,"applicationHash":"4d4040e0714d65b7fffa4801569d014c0b16eaa9","experiments":[]}}
Using metadata:type and metadata:null attributes within an metadata:value element feels odd, and we already use a local attribute "type" for the metadata:annotation element, so I defined the metadata:value element with local attributes "type" and "null":
<!-- payload format for property value responses -->
<xs:element name="value">
<xs:complexType mixed="true">
<xs:sequence>
<xs:any namespace="http://docs.oasis-open.org/odata/ns/data" processContents="lax" minOccurs="0"
maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="type" type="edm:TPropertyType" />
<xs:attribute name="null" type="xs:boolean" />
</xs:complexType>
</xs:element>
Looking at how collections of primitive or complex scalar values are now represented, it feels extremely odd that the "element" element is "defined" in the (probably forever) schema-less "data" namespace instead of also being defined in the metadata namespace like its siblings metadata:annotation and metadata:value.