We will start with our minimal use case and add complexity as we go.
Let us use this descriptor.
The validator should:
Access the descriptor using its URL
Warn when the HTTP content-type is different from application/csvm+json; charset=utf-8
Determine that the tableSchema is another resource and download it (warn again)
Access the CSV file using url - this should be streamed, as it can be very large
Warn when the HTTP content-type is different from text/csv; charset=utf-8
Read the CSV file header (first row) - this will be optional later
Parse tableSchema.columns array and verify presence of required columns indicated by titles - this can be also an array in future, but start with a simple literal.
We will start with our minimal use case and add complexity as we go. Let us use this descriptor. The validator should:
content-type
is different fromapplication/csvm+json; charset=utf-8
tableSchema
is another resource and download it (warn again)url
- this should be streamed, as it can be very largecontent-type
is different fromtext/csv; charset=utf-8
tableSchema
.columns
array and verify presence ofrequired
columns indicated bytitles
- this can be also an array in future, but start with a simple literal.