Open UnclePoole opened 3 years ago
Yes, we should do this for CDB 1.3 too.
Agreed. Perhaps a CR that simple copies Greg's suggestion into the CR body?
@cnreediii @ryanfranz I would support that.
I will also note that some folks (Cognitics I think?) have already created a machine-readable version of this information for SE Core related work, so that may be a good input to the CR.
@cnreediii To your point, having machine-readable versions of these things would also allow regenerating the graphics in the spec to correct naming issues.
In the CDB 1.1 specification, the constraints of which attributes are present for which feature types is indirectly specified by the human-readable table 5-27, where attributes are constrained to specific datasets with a constraint level of "Mandatory", "Preferred", "Optional", or "Deprecated." This constraint information is not currently captured in any machine-readable XML metadata, so validation tools that rely on it must make hard-coded assumptions derived from the specification.
The proposed CDB X feature dictionary would capture these constraints in an Entity/Attribute binding table, where the attribute constraints can be specified per feature type, not just per dataset. The proposed dictionary also links Entity types (features) to Themes (datasets) separately.
It should be possible to update the CDB 1.x specification in a backward-compatible way to add equivalent information, most likely as a new XML file in the Metadata folder.