SpreadsheetValidator.validate and SidecarValidator.validate always push an
ErrorContext.FILE_NAME context from their name argument, and ErrorHandler.push_error_context
turns a missing name into "", so every issue they produce carries an ec_filename key
whether or not the input is a file. For BIDS that is right: one tabular file is one input.
For NWB it is not: one NWB file contains many DynamicTable objects, each validated as
its own tabular input, and a table can exist only in memory before it is written. The
"file" is the NWB file, and the location inside it is the table.
SpreadsheetValidator.validateandSidecarValidator.validatealways push anErrorContext.FILE_NAMEcontext from theirnameargument, andErrorHandler.push_error_contextturns a missing name into
"", so every issue they produce carries anec_filenamekeywhether or not the input is a file. For BIDS that is right: one tabular file is one input.
For NWB it is not: one NWB file contains many
DynamicTableobjects, each validated asits own tabular input, and a table can exist only in memory before it is written. The
"file" is the NWB file, and the location inside it is the table.