Schematron using XPath 2.0
The attribute insight:mission_phase_name must be equal to one of the following values 'ATLO', 'CRUISE', 'DEVELOPMENT', 'SURFACE MISSION', 'TEST'.
The attribute insight:product_type must be equal to one of the following values 'ARK', 'ARM', 'ARO', 'BAY', 'CLM', 'CLR', 'DDD', 'DDL', 'DDS', 'DEM', 'DFF', 'DFL', 'DFS', 'DSE', 'DSG', 'DSL', 'DSP', 'DSR', 'DSS', 'Dataless-SEED', 'EDR', 'EJP', 'ERP', 'GUH', 'GUS', 'GeoCSV', 'IEF', 'IEP', 'ILC', 'ILM', 'ILP', 'ILT', 'IOF', 'IOI', 'ION', 'LANDER_COORD', 'LIN', 'MAR', 'MDS', 'MSK', 'MXY', 'Mini-SEED', 'RAD', 'RAD-calibrated', 'RAD-derived', 'RAD-raw', 'RAF', 'RAS', 'RDM', 'RDR', 'RIE', 'RIF', 'RNE', 'RNF', 'RNG', 'RNM', 'RNO', 'RNR', 'ROTATION_PARAMETERS', 'RSM', 'RUH', 'RUS', 'SHD', 'SHO', 'SLO', 'SLP', 'SMG', 'SMO', 'SNO', 'SNT', 'STATIL-calibrated', 'STATIL-raw', 'StationXML', 'TAU', 'TDS', 'TEM-A-calibrated', 'TEM-P-calibrated', 'TEM-calibrated', 'TEM-raw', 'TFH', 'TFS', 'TFW', 'TLM-raw', 'TNF', 'TRO', 'UIH', 'UIS', 'UIW', 'UUF', 'UUU', 'UVF', 'UVO', 'UVP', 'UVS', 'UVT', 'UVW', 'VVF', 'VVV', 'WEA', 'WSH', 'WSS', 'WWF', 'WWW', 'XXF', 'XXX', 'XYE', 'XYF', 'XYM', 'XYO', 'XYR', 'XYZ', 'YYF', 'YYY', 'ZIH', 'ZIS', 'ZIW', 'ZZF', 'ZZZ'.
The attribute @unit must be equal to one of the following values 'arcmin', 'arcsec', 'deg', 'hr', 'mrad', 'rad'.
The attribute @unit must be equal to one of the following values 'arcmin', 'arcsec', 'deg', 'hr', 'mrad', 'rad'.
The attribute @unit must be equal to one of the following values 'Hz'.
The attribute insight:seis_data_type must be equal to one of the following values 'metadata', 'waveform'.
The attribute insight:seis_waveform_type must be equal to one of the following values 'continuous', 'event'.
insight:error:sclk_rule_0: If insight:spacecraft_clock_start_count and insight:spacecraft_clock_stop_count are
present, they must begin with a partition number followed by a forward slash, OR the partition number must be given by
insight:spacecraft_clock_count_partition.
insight:error:ltst_rule_0: If insight:start_local_true_solar_time and insight:stop_local_true_solar_time are
present, they must include a sol number as in 'Sol-nnnn hh:mm:ss[.fffff]', OR the sol number must be given by
insight:local_true_solar_time_sol.
insight:error:solnumberrule_0: The insight:Observation_Information class must include either the attribute
insight:sol_number or the pair of attributes insight:start_sol_number and insight:stop_sol_number.
insight:error:solnumberrule_1: If either of the pair insight:start_sol_number and insight:stop_sol_number is
present, then both must be present.
insight:error:seisgeocsv_rule_0: SEIS GeoCSV continuous data file names must conform to the specification
[network].[station].[location].[channel].[year].[doy].[rev].a.csv
insight:error:seisgeocsv_rule_1: SEIS GeoCSV event data file names must conform to the specification
[network].[station].[location].[channel].[request-event-id].[rev].a.csv
insight:error:seisgeocsv_rule_2: If the product_type is 'GeoCSV', then seis_data_type must be 'waveform'.
insight:error:seisgeocsv_rule_3: If the product type is 'GeoCSV', then seis_waveform_type must be present.
insight:error:seisgeocsv_rule_4: If the product_type is 'GeoCSV', then the class Metadata_Location must be
present, and the value for metadata_file_name must conform to the specification
stationxml.[network].[station].[year].[doy].sxml.
insight:error:seisgeocsv_rule_5: If the product_type is 'GeoCSV', then the class SEED_Equivalent must be
present, and the value for seed_file_name must be the same as the GeoCSV file name, except that it must end in '.mseed'
instead of 'a.csv'.
insight:error:seisgeocsv_rule_6: For a SEIS GeoCSV Product_Observational product, the Metadata_Location class
must be present, and the reference_type must be 'data_to_metadata'.
insight:error:seisgeocsv_rule_7: For a SEIS GeoCSV Product_Observational product, the SEED_Equivalent class
must be present, and the reference_type must be 'ascii_to_seed'.
insight:error:seisgeocsv_rule_8: If the product_type is 'GeoCSV', then the logical_identifier must be
'urn:nasa:pds:insight_seis:data_table:' followed by the file name in lowercase without the .csv extension.
insight:error:seisgeocsv_rule_9: For a SEIS GeoCSV Product_Observational product, the Metadata_Location class
must be present, and its lid_reference must be 'urn:nasa:pds:insight_seis:data_table:' followed by the metadata_file_name
in lowercase without the '.sxml' extension.
insight:error:seisgeocsv_rule_10: For a SEIS GeoCSV Product_Observational product, the SEED_Equivalent class
must be present, and its lidvid_reference must be 'urn:nasa:pds:insight_seis:data_seed:' followed by the seed_file_name in lowercase
without the '.mseed' extension, followed by '::' and a version identifier.
insight:error:sclk_rule_2: If insight:spacecraft_clock_start_count and insight:spacecraft_clock_stop_count
are present, they must begin with a partition number followed by a forward slash, OR the partition number must be given by
insight:spacecraft_clock_count_partition.
insight:error:ltst_rule_2: If insight:start_local_true_solar_time and insight:stop_local_true_solar_time are
present, they must include a sol number as in 'Sol-nnnn hh:mm:ss[.fffff]', OR the sol number must be given by
insight:local_true_solar_time_sol.
insight:error:solnumberrule_4: The insight:Observation_Information class must include either the attribute
insight:sol_number or the pair of attributes insight:start_sol_number and insight:stop_sol_number.
insight:error:solnumberrule_5: If either of the pair insight:start_sol_number and insight:stop_sol_number is
present, then both must be present.
insight:error:seissxml_rule_0: SEIS StationXML file names must conform to the specification
stationxml.[network].[station].[year].[doy].sxml
insight:error:seissxml_rule_1: If the product_type is 'StationXML', then the logical_identifier must be
'urn:nasa:pds:insight_seis:data_table:' followed by the file name in lowercase without the .sxml extension.
insight:error:seissxml_rule_1: If the product type is 'StationXML', then seis_data_type must be 'metadata'.
insight:error:seissxml_rule_2: If the product type is 'StationXML', then the class Metadata_Location must not
be present.
insight:error:seissxml_rule_3: If the product type is 'StationXML', then the class SEED_Equivalent must be
present, and the value for seed_file_name must be the same as the StationXML file name, except that it must start with
'dataless' instead of 'stationxml', and end in '.seed' instead of '.sxml'.
insight:error:seissxml_rule_4: For a SEIS StationXML Product_Ancillary product, the SEED_Equivalent class
must be present, and the reference_type must be 'ascii_to_seed'.
insight:error:seissxml_rule_5: For a SEIS StationXML Product_Ancillary product, the SEED_Equivalent class
must be present, and its lidvid_reference must be 'urn:nasa:pds:insight_seis:data_seed:' followed by the seed_file_name
in lowercase without the '.seed' extension, followed by "::" and a version identifier.
insight:error:sclk_rule_1: If insight:spacecraft_clock_start_count and insight:spacecraft_clock_stop_count
are present, they must begin with a partition number followed by a forward slash, OR the partition number must be given by
insight:spacecraft_clock_count_partition.
insight:error:ltst_rule_1: If insight:start_local_true_solar_time and insight:stop_local_true_solar_time are
present, they must include a sol number as in 'Sol-nnnn hh:mm:ss[.fffff]', OR the sol number must be given by
insight:local_true_solar_time_sol.
insight:error:solnumberrule_2: The insight:Observation_Information class must include either the attribute
insight:sol_number or the pair of attributes insight:start_sol_number and insight:stop_sol_number.
insight:error:solnumberrule_3: If either of the pair insight:start_sol_number and insight:stop_sol_number is
present, then both must be present.
insight:error:seisseed_rule_0: SEIS dataless SEED file names must conform to the specification
dataless.[network].[station].[year].[doy].seed
insight:error:seisseed_rule_1: SEIS Mini-SEED continuous data file names must conform to the specification
[network].[station].[location].[channel].[year].[doy].[rev].mseed
insight:error:seisseed_rule_2: SEIS Mini-SEED event data file names must conform to the specification
[network].[station].[location].[channel].[request-event-id].[rev].mseed
insight:error:seisseed_rule_3: If the product_type is 'Mini-SEED', then seis_data_type must be 'waveform'.
insight:error:seisseed_rule_4: If seis_data_type is 'waveform', then seis_waveform_type must be present.
insight:error:seisseed_rule_5: If the product_type is 'Mini-SEED', then the class Metadata_Location must be
present, and the value for metadata_file_name must conform to the specification
dataless.[network].[station].[year].[doy].seed.
insight:error:seisseed_rule_6: If the product_type is 'Mini-SEED', then the class ASCII_Equivalent must be
present, and the value for ascii_equivalent_file_name must be the same as the Mini-SEED file name, except that it must end
in 'a.csv' instead of '.mseed'.
insight:error:seisseed_rule_7: If the product_type is 'Mini-SEED', then the logical_identifier must be
'urn:nasa:pds:insight_seis:data_seed:' followed by the file name in lowercase without the .mseed extension.
insight:error:seisseed_rule_8: If the product_type is 'Dataless-SEED', then the logical_identifier must be
'urn:nasa:pds:insight_seis:data_seed:' followed by the file name in lowercase without the .seed extension.
insight:error:seisseed_rule_9: If the product_type is 'Dataless-SEED', then seis_data_type must be
'metadata'.
insight:error:seisseed_rule_10: If the product_type is 'Dataless-SEED', then the class Metadata_Location must
not be present.
insight:error:seisseed_rule_11: For a SEIS Dataless-SEED Product_Native product, the class ASCII_Equivalent
must be present, and the value for ascii_equivalent_file_name must be the same as the Dataless-SEED file name, except that
it must start with 'stationxml' instead of 'dataless', and end in '.sxml' instead of 'seed'.
insight:error:seisseed_rule_12: For a SEIS Mini-SEED Product_Native product, the class Metadata_Location must
be present, and the value for reference_type must be 'data_to_metadata'.
insight:error:seisseed_rule_13: For a SEIS Mini-SEED Product_Native product, the class Metadata_Location must
be present, and its lid_reference must be 'urn:nasa:pds:insight_seis:data_seed:' followed by the metadata_file_name
in lowercase without the '.seed' extension.
insight:error:seisseed_rule_14: For a SEIS Mini-SEED Product_Native product, the class ASCII_Equivalent must
be present, and the value for reference_type must be 'seed_to_ascii'.
insight:error:seisseed_rule_15: For a SEIS Dataless-SEED Product_Native product, the class ASCII_Equivalent
must be present, and the value for reference_type must be 'seed_to_ascii'.
insight:error:seisseed_rule_16: For a SEIS Mini-SEED Product_Native product, the class ASCII_Equivalent must
be present, and its lidvid_reference must be 'urn:nasa:pds:insight_seis:data_table:' followed by the
ascii_equivalent_file_name in lowercase without the '.csv' extension, followed by '::' and a version identifier.
insight:error:seisseed_rule_17: For a SEIS Dataless-SEED Product_Native product, the class ASCII_Equivalent
must be present, and its lidvid_reference must be 'urn:nasa:pds:insight_seis:data_table:' followed by the
ascii_equivalent_file_name in lowercase without the '.sxml' extension, followed by '::' and a version identifier.