-
Type:
Bug
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: V4.0_WD01
-
Fix Version/s: V4.0_WD01
-
Component/s: ATOM Format
-
Labels:None
-
Environment:
[Proposed]
-
Proposal:
-
Resolution:
In the current [ATOM] spec, the "Annotation" element, as well as the child "Type", "Term" and "Target" attributes are defined in upper case. This is inconsistent with other element that we define in the ATOM payload (for example, the metadata:function element with attributes "metadata" "target" and "title", the metadata:error element and its attributes, etc.).
When applying this issue I noticed two inconsistencies.
(1) The metadata:annotation element allows values to be specified in "attribute form" as String="Some Value" or Int="42". With everything else lowercase these attributes look odd,th so we COULD lowercase them. But in addition they are incomplete compared to CSDL (e.g. no Duration or DateTimeOffset), and in CSDL their CSDL counterparts are (and hopefully will remain) CamelCased, so however we adapt them, they stay inconsistent.
Also they add little value over element notation in Atom, which is famous for its verbosity. A handful of shortcuts won't change that.
So I completely removed the Attribute Value Notation from Atom, and I like the new brevity
(2) The target attribute of the metadata:annotation attribute is optional, and if omitted it means "the surrounding parent". In addition it allowed the special value "." to also mean "the surrounding parent". I don't like two ways to specify the same meaning, so I removed the special value ".".
Please comment if you disagree.