-
Type: Improvement
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: V4.0_CSD01
-
Fix Version/s: V4.0_CSD02
-
Component/s: CSDL XML, URL Conventions
-
Labels:None
-
Environment:
[Applied]
-
Proposal:
-
Resolution:
In most programming languages, an assertion is a predicate (a true-false statement) placed in a program to indicate that the developer thinks that the predicate is always true at that place. If the assertion is false, an assertion failure results, which typically causes execution to abort.
In contrast the dynamic expression edm:AssertType behaves different: It casts the value of the child expression to the specified type. So the name edm:Cast would express this behaviour better. We must define the behaviour if the cast fails: I propose to return the NULL value as result of dynamic expression.
The third proposal is to provide a more informative example in the specification, e.g.
<Annotation Term="org.example.display.Threshold">
<Cast Type="Edm.Decimal">
<Path>Average</Path>
</Cast>
</Annotation>
assume Average is of type edm:String an the Term is of type edm:PrimitiveType