Schematron using XPath 2.0
The sp:Axis_Bin_Set_Frequency class may only be used when sp:spectral_bin_type is "frequency".
In the Axis_Bin_Set classes, the sp:axis_name value must correspond to the name of an axis in the referenced array object.
The sp:Axis_Bin_Set_Wavelength class may only be used when sp:spectral_bin_type is "wavelength".
In the Axis_Bin_Set classes, the sp:axis_name value must correspond to the name of an axis in the referenced array object.
The sp:Axis_Bin_Set_Wavenumber class may only be used when sp:spectral_bin_type is "wavenumber".
In the Axis_Bin_Set classes, the sp:axis_name value must correspond to the name of an axis in the referenced array object.
In the Axis_Bin_Set class, the bin_sequence_number of each Bin_Wavenumber class must be unique.
In sp:Bin_Center_Lookup, exactly one of sp:bin_center_field_name, pds:Local_Identifier_Reference, or pds:Internal_Reference must be provided.
The sp:bin_center_field_name attribute must correspond to the name of exactly Field_Character in the referenced Table_Character object.
The sp:bin_center_field_name attribute must correspond to the name of exactly one Field_Character inside a Group_Field_Character for tabulated spectra with groups.
The sp:bin_center_field_name attribute must correspond to the name of exactly one Field_Binary in the referenced Table_Binary object.
The sp:bin_center_field_name attribute must correspond to the name of exactly one Field_Binary inside a Group_Field_Binary for tabulated spectra with groups.
The sp:bin_center_field_name attribute must correspond to the name of exactly one Field_Delimited in the referenced Table_Delimited object.
The sp:bin_center_field_name attribute must correspond to the name of exactly one Field_Delimited inside a Group_Field_Delimited for tabulated spectra with groups.
In the sp:Bin_Center_Lookup class, the attribute pds:reference_type must be equal to 'spectral_characteristics_to_bin_center_values'.
In the sp:Bin_Center_Lookup class, the attribute pds:local_reference_type must be equal to 'spectral_characteristics_to_bin_center_values'.
In sp:Bin_Center_Lookup, the pds:local_identifier_reference must match the pds:local_identifier of a data object in the product label.
For Tabulated-Flat spectra, every value of sp:bin_center_field_number_list must correspond to the value of a field_number attribute in a Field_Character definition.
For Tabulated-Flat spectra, every value of sp:bin_center_field_number_list must correspond to the value of a field_number attribute in a Field_Binary definition.
For Tabulated-Flat spectra, every value of sp:bin_center_field_number_list must correspond to the value of a field_number attribute in a Field_Delimited definition.
In sp:Bin_Frequency, bin_sequence_numbers must be between 1 and the number of bins, inclusive.
In sp:Spectral_Lookup, sp:bin_center_field_name and sp:bin_width_field_name may not have the same value.
In sp:Bin_Wavelength, bin_sequence_numbers must be between 1 and the number of bins, inclusive.
In sp:Bin_Wavenumber, bin_sequence_numbers must be between 1 and the number of bins, inclusive.
In sp:Bin_Width_Constant, sp:bin_width_frequency must be supplied for frequency spectra.
In sp:Bin_Width_Constant, sp:bin_width_wavelength must be supplied for wavelength spectra.
In sp:Bin_Width_Constant, sp:bin_width_wavenumber must be supplied for wavenumber spectra.
In sp:Bin_Width_Lookup, exactly one of sp:Bin_Width_Constant, sp:bin_width_field_name, pds:Local_Identifier_Reference, or pds:Internal_Reference must be provided.
The sp:bin_width_field_name attribute must correspond to the name of exactly Field_Character in the referenced Table_Character object.
The sp:bin_width_field_name attribute must correspond to the name of exactly one Field_Character inside a Group_Field_Character for tabulated spectra with groups.
The sp:bin_width_field_name attribute must correspond to the name of exactly one Field_Binary in the referenced Table_Binary object.
The sp:bin_width_field_name attribute must correspond to the name of exactly one Field_Binary inside a Group_Field_Binary for tabulated spectra with groups.
The sp:bin_width_field_name attribute must correspond to the name of exactly one Field_Delimited in the referenced Table_Delimited object.
The sp:bin_width_field_name attribute must correspond to the name of exactly one Field_Delimited inside a Group_Field_Delimited for tabulated spectra with groups.
In the sp:Bin_Width_Lookup class, the attribute pds:reference_type must be equal to 'spectral_characteristics_to_bin_width_values'.
In the sp:Bin_Width_Lookup class, the attribute pds:local_reference_type must be equal to 'spectral_characteristics_to_bin_width_values'.
In sp:Bin_Width_Lookup, the pds:local_identifier_reference must match the pds:local_identifier of a data object in the product label.
For Tabulated-Flat spectra, every value of sp:bin_width_field_number_list must correspond to the value of a field_number attribute in a Field_Character definition.
For Tabulated-Flat spectra, every value of sp:bin_width_field_number_list must correspond to the value of a field_number attribute in a Field_Binary definition.
For Tabulated-Flat spectra, every value of sp:bin_width_field_number_list must correspond to the value of a field_number attribute in a Field_Delimited definition.
In sp:Field_of_View, the attribute pds:reference_type must have a value of "spectral_characteristics_to_document".
sp:spectrum_format of 'Tabulated-Flat' must be used with a table-type object.
sp:spectrum_format of 'Tabulated-Parameter Groups' must be used with a table-type object.
sp:spectrum_format of 'Tabulated-Point Group' must be used with a table-type object.
sp:spectrum_format of '1D' must be used with a table-type object.
sp:spectrum_format of '2D' must be used with an Array_2D_Spectrum-type object.
sp:spectrum_format of '3D' must be used with an Array_3D_Spectrum-type object.
sp:value_field_name is required when sp:spectrum_format is '1D', 'Tabulated-Parameter Groups', or 'Tabulated-Point Group' and prohibited otherwise.
The sp:value_field_number_list attribute is required, and may only be used, when sp:spectrum_format is 'Tabulated-Flat'.
In sp:Observation_Parameters, only sp:resolution_limit_frequency may be included for frequency spectra.
In sp:Observation_Parameters, only sp:resolution_limit_wavelength may be included for wavelength spectra.
In sp:Observation_Parameters, only sp:resolution_limit_wavenumber may be included for wavenumber spectra.
sp:Spectral_Characteristics: The attribute pds:local_reference_type must be equal to either 'spectral_characteristics_to_array_object' or 'spectral_characteristics_to_table_object'.
The Array-type object referenced by sp:Spectral_Characteristics must be either an Array_2D_Spectrum or an Array_3D_Spectrum.
In sp:Spectral_Characteristics must reference either a Table_Character or Table_Binary object when pds:local_reference_type is 'spectral_characteristics_to_table_object'.
The attribute @unit must be equal to one of the following values 'Hz'.
The attribute @unit must be equal to one of the following values 'Hz'.
The attribute @unit must be equal to one of the following values 'AU', 'Angstrom', 'cm', 'km', 'm', 'micrometer', 'mm', 'nm'.
The attribute @unit must be equal to one of the following values 'AU', 'Angstrom', 'cm', 'km', 'm', 'micrometer', 'mm', 'nm'.
The attribute @unit must be equal to one of the following values '1/cm', '1/m', '1/nm', 'cm**-1', 'm**-1', 'nm**-1'.
The attribute @unit must be equal to one of the following values '1/cm', '1/m', '1/nm', 'cm**-1', 'm**-1', 'nm**-1'.
The attribute @unit must be equal to one of the following values 'Hz'.
The attribute @unit must be equal to one of the following values 'AU', 'Angstrom', 'cm', 'km', 'm', 'micrometer', 'mm', 'nm'.
The attribute @unit must be equal to one of the following values '1/cm', '1/m', '1/nm', 'cm**-1', 'm**-1', 'nm**-1'.
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 '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 'arcmin', 'arcsec', 'deg', 'hr', 'mrad', 'rad'.
The attribute @unit must be equal to one of the following values 'day', 'hr', 'julian day', 'microseconds', 'min', 'ms', 's', 'yr'.
The attribute @unit must be equal to one of the following values 'Hz'.
The attribute @unit must be equal to one of the following values 'AU', 'Angstrom', 'cm', 'km', 'm', 'micrometer', 'mm', 'nm'.
The attribute @unit must be equal to one of the following values '1/cm', '1/m', '1/nm', 'cm**-1', 'm**-1', 'nm**-1'.
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 '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 sp:spectral_bin_type must be equal to one of the following values 'frequency', 'wavelength', 'wavenumber'.
The attribute sp:spectrum_format must be equal to one of the following values '1D', '2D', '3D', 'Tabulated-Flat', 'Tabulated-Parameter Groups', 'Tabulated-Point Group'.
The attribute @unit must be equal to one of the following values 'Hz'.
The attribute @unit must be equal to one of the following values 'Hz'.
The attribute @unit must be equal to one of the following values 'Hz'.
The attribute @unit must be equal to one of the following values 'Hz'.
The attribute sp:sampling_scale must be equal to one of the following values 'Linear', 'Logarithmic'.
The attribute @unit must be equal to one of the following values 'AU', 'Angstrom', 'cm', 'km', 'm', 'micrometer', 'mm', 'nm'.
The attribute @unit must be equal to one of the following values 'AU', 'Angstrom', 'cm', 'km', 'm', 'micrometer', 'mm', 'nm'.
The attribute @unit must be equal to one of the following values 'AU', 'Angstrom', 'cm', 'km', 'm', 'micrometer', 'mm', 'nm'.
The attribute @unit must be equal to one of the following values 'AU', 'Angstrom', 'cm', 'km', 'm', 'micrometer', 'mm', 'nm'.
The attribute sp:sampling_scale must be equal to one of the following values 'Linear', 'Logarithmic'.
The attribute @unit must be equal to one of the following values '1/cm', '1/m', '1/nm', 'cm**-1', 'm**-1', 'nm**-1'.
The attribute @unit must be equal to one of the following values '1/cm', '1/m', '1/nm', 'cm**-1', 'm**-1', 'nm**-1'.
The attribute @unit must be equal to one of the following values '1/cm', '1/m', '1/nm', 'cm**-1', 'm**-1', 'nm**-1'.
The attribute @unit must be equal to one of the following values '1/cm', '1/m', '1/nm', 'cm**-1', 'm**-1', 'nm**-1'.
The attribute sp:sampling_scale must be equal to one of the following values 'Linear', 'Logarithmic'.
The sp:Uniformaly_Sampled_Frequency may only be used when sp:spectral_bin_type is "frequency".
The sp:axis_name attribute is required when the spectral characteristics are referenced to an array-type object, and forbidden otherwise.
If the referenced object is an array, then sp:axis_name must correspond to the name attribute of one of the Array_Axis classes in that array object.
The sp:sampling_base attribute is forbidden if sp:sampling_scale is "Linear".
The sp:sampling_base attribute is required for non-Linear sampling scales.
In the Uniformly_Sampled classes, the first_center value must be less than the last_center value.
The sp:Uniformaly_Sampled_Wavelength may only be used when sp:spectral_bin_type is "wavelength".
The sp:axis_name attribute is required when the spectral characteristics are referenced to an array-type object, and forbidden otherwise.
If the referenced object is an array, then sp:axis_name must correspond to the name attribute of one of the Array_Axis classes in that array object.
The sp:sampling_base attribute is forbidden if sp:sampling_scale is "Linear".
The sp:sampling_base attribute is required for non-Linear sampling scales.
In the Uniformly_Sampled classes, the first_center value must be less than the last_center value.
The sp:Uniformaly_Sampled_Wavenumber may only be used when sp:spectral_bin_type is "wavenumber".
The sp:axis_name attribute is required when the spectral characteristics are referenced to an array-type object, and forbidden otherwise.
If the referenced object is an array, then sp:axis_name must correspond to the name attribute of one of the Array_Axis classes in that array object.
The sp:sampling_base attribute is forbidden if sp:sampling_scale is "Linear".
The sp:sampling_base attribute is required for non-Linear sampling scales.
In the Uniformly_Sampled classes, the first_center value must be less than the last_center value.
The sp:value_field_name attribute must correspond to the name of exactly one Field_Character in the referenced Table_Character object.
The sp:value_field_name attribute must correspond to the name of exactly one Field_Character inside a Group_Field_Character for tabulated spectra with groups.
The sp:value_field_name attribute must correspond to the name of exactly one Field_Binary in the referenced Table_Binary object.
The sp:value_field_name attribute must correspond to the name of exactly one Field_Binary inside a Group_Field_Binary for tabulated spectra with groups.
The sp:value_field_name attribute must correspond to the name of exactly one Field_Delimited in the referenced Table_Delimited object.
The sp:value_field_name attribute must correspond to the name of exactly one Field_Delimited inside a Group_Field_Delimited for tabulated spectra with groups.
For Tabulated-Flat spectra, every value of sp:value_field_number_list must correspond to the value of a field_number attribute in a Field_Character definition.
For Tabulated-Flat spectra, every value of sp:value_field_number_list must correspond to the value of a field_number attribute in a Field_Binary definition.
For Tabulated-Flat spectra, every value of sp:value_field_number_list must correspond to the value of a field_number attribute in a Field_Delimited definition.