You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
KDL specification does not explicitly define a data model but only a syntax that implies some data model of KDL. As long as you parse from KDL syntax into some data structure of a programming language, a KDL data model is not needed. In contrast both KQL and KDL Schema build on a data model. The lack of its explicit definition leaves open handling of some edge cases, such as:
Is an empty string tag different to no tag ( does ("")value differ from value)?
Is an empty list of child nodes different from no child nodes (does node {} differ from node)?
The data model should abstract from syntax details such as comments, how nodes are terminated, whether names are given as bare identifiers or given as strings etc.
Here is a draft of a possible data model (without explicit definition of name and value and both questions above answered with no):
a document is a list of nodes
a node consist of
a tag being a name
a name
a list of arguments, each being a value
a set of properties, each consisting of a name and value, and each name being unique
tabatkins
changed the title
KDL specification does not explicitly define a data model but only a syntax that implies some data model of KDL. As long as you parse from KDL syntax into some data structure of a programming language, a KDL data model is not needed. In contrast both KQL and KDL Schema build on a data model. The lack of its explicit definition leaves open handling of some edge cases, such as:
Draft KDL data model
Oct 6, 2021
The KDL Specification briefly refers to "the [intended] data model" in the introduction. This is another data model, so I would remove these words from the KDL Specification to avoid confusion.
As hopefully made clear in the Application Notes, KDL data model should not be mandatory part of KDL Specification. Implementation will likely restrict at least number representation anyway.
KDL specification does not explicitly define a data model but only a syntax that implies some data model of KDL. As long as you parse from KDL syntax into some data structure of a programming language, a KDL data model is not needed. In contrast both KQL and KDL Schema build on a data model. The lack of its explicit definition leaves open handling of some edge cases, such as:
("")value
differ fromvalue
)?node {}
differ fromnode
)?The data model should abstract from syntax details such as comments, how nodes are terminated, whether names are given as bare identifiers or given as strings etc.
Here is a draft of a possible data model (without explicit definition of name and value and both questions above answered with no):
Originally posted by @nichtich in #183
The text was updated successfully, but these errors were encountered: