Schematron using XPath 2.0 pds:Product_Observational/pds:Observation_Area/pds:Discipline_Area/speclib:Spectral_Library_Product/Rule speclib_measurement_segments_rule: The value of the attribute measurement_segments must equal the number of occurrences of the class Measurement_Parameters. pds:Product_Observational/pds:Observation_Area/pds:Discipline_Area/speclib:Spectral_Library_Product/speclib:Measurement_Parameters/Rule speclib_measurement_parameters_rule_0: speclib:spectral_range_min must be less than or equal to speclib:spectral_range_max. pds:Product_Observational/pds:Observation_Area/pds:Discipline_Area/speclib:Spectral_Library_Product/speclib:Specimen_Classification/Rule speclib_classification_rule_solid_material: In the Specimen_Classification class, if material_state is Solid, then the attributes material_type and material_subtype must be present, and material_subtype must include either Particulate or Nonparticulate. pds:Product_Observational/pds:Observation_Area/pds:Discipline_Area/speclib:Spectral_Library_Product/speclib:Specimen_Classification/Rule speclib:classification_rule_organic_material: In the Specimen_Classification class, if material_type is Organic, then the attribute organic_type must also be Organic. pds:Product_Observational/pds:Observation_Area/pds:Discipline_Area/speclib:Spectral_Library_Product/speclib:Specimen_Classification/Rule speclib_classification_rule_mineral: In the Specimen_Classification class, if material_type is Mineral, then the attribute mineral_type must be present. pds:Product_Observational/pds:Observation_Area/pds:Discipline_Area/speclib:Spectral_Library_Product/speclib:Specimen_Classification/Rule speclib_classification_rule_rock: In the Specimen_Classification class, if material_type is Rock, then the attribute rock_type must be present. pds:Product_Observational/pds:Observation_Area/pds:Discipline_Area/speclib:Spectral_Library_Product/speclib:Specimen_Classification/Rule speclib_classification_rule_material_subtype: In the Specimen_Classification class, if the attribute material_subtype is present, then the attribute material_type must also be present. pds:Product_Observational/pds:Observation_Area/pds:Discipline_Area/speclib:Spectral_Library_Product/speclib:Specimen_Classification/Rule speclib_classification_rule_mineral_subtype: In the Specimen_Classification class, if the attribute mineral_subtype is present, then the attribute mineral_type must also be present. pds:Product_Observational/pds:Observation_Area/pds:Discipline_Area/speclib:Spectral_Library_Product/speclib:Specimen_Classification/Rule speclib_classification_rule_rock_subtype: In the Specimen_Classification class, if the attribute rock_subtype is present, then the attribute rock_type must also be present. pds:Product_Observational/pds:Observation_Area/pds:Discipline_Area/speclib:Spectral_Library_Product/speclib:Specimen_Classification/Rule speclib_classification_rule_synthetic: In the Specimen_Classification class, if material_origin is Synthetic, then the attribute synthetic_type must be present. If material_origin is not Synthetic, then the attribute synthetic type must not be present. pds:Product_Observational/pds:Observation_Area/pds:Discipline_Area/speclib:Spectral_Library_Product/speclib:Specimen_Parameters/Rule speclib_specimen_parameters_rule_0: speclib:specimen_min_size must be less than or equal to speclib:specimen_max_size. speclib:Ancillary_Product/pds:Internal_Reference/Rule speclib_ancillary_product_rule_0: In the Ancillary_Product/Internal_Reference class, the value of the reference_type attribute must be equal to "data_to_ancillary_data". speclib:Ancillary_Product/speclib:ancillary_product_type/speclib:ancillary_product_type The attribute speclib:Ancillary_Product/speclib:ancillary_product_type must be equal to one of the following values 'Attenuated Total Reflectance Spectroscopy', 'Chemical Composition', 'Differential Scanning Calorimetry', 'Electron Microprobe Analysis', 'Image', 'Modal Mineralogy', 'Raman Spectroscopy', 'Reflectance Spectroscopy', 'Thermogravimetric Analysis', 'Transmission Spectroscopy', 'X-ray Diffraction', 'X-ray Fluorescence'. speclib:Measurement_Instrument/pds:Internal_Reference/Rule speclib_measurement_instrument_rule_0: In the Measurement_Instrument/Internal_Reference class, the value of the reference_type attribute must be equal to "is_instrument". speclib:Measurement_Parameters/speclib:accumulation_time/speclib:accumulation_time The attribute @unit must be equal to one of the following values 'day', 'hr', 'julian day', 'microseconds', 'min', 'ms', 'ns', 's', 'yr'. speclib:Measurement_Parameters/speclib:dark_subtraction_flag/speclib:dark_subtraction_flag The attribute speclib:Measurement_Parameters/speclib:dark_subtraction_flag must be equal to one of the following values 'N', 'Y'. speclib:Measurement_Parameters/speclib:emission_angle/speclib:emission_angle The attribute @unit must be equal to one of the following values 'arcmin', 'arcsec', 'deg', 'hr', 'microrad', 'mrad', 'rad'. speclib:Measurement_Parameters/speclib:incidence_angle/speclib:incidence_angle The attribute @unit must be equal to one of the following values 'arcmin', 'arcsec', 'deg', 'hr', 'microrad', 'mrad', 'rad'. speclib:Measurement_Parameters/speclib:laser_attenuation/speclib:laser_attenuation The attribute @unit must be equal to one of the following values 'J', 'MeV', 'eV', 'keV'. speclib:Measurement_Parameters/speclib:laser_pulse_rate/speclib:laser_pulse_rate The attribute @unit must be equal to one of the following values 'GHz', 'Hz', 'MHz', 'THz', 'kHz', 'mHz'. speclib:Measurement_Parameters/speclib:laser_wavelength/speclib:laser_wavelength The attribute @unit must be equal to one of the following values 'AU', 'Angstrom', 'cm', 'km', 'm', 'micrometer', 'mm', 'nm'. speclib:Measurement_Parameters/speclib:measurement_atmosphere_pressure/speclib:measurement_atmosphere_pressure The attribute @unit must be equal to one of the following values 'Pa', 'bar', 'hPa', 'mbar'. speclib:Measurement_Parameters/speclib:measurement_atmosphere_temperature/speclib:measurement_atmosphere_temperature The attribute @unit must be equal to one of the following values 'K', 'degC'. speclib:Measurement_Parameters/speclib:measurement_geometry_type/speclib:measurement_geometry_type The attribute speclib:Measurement_Parameters/speclib:measurement_geometry_type must be nulled or equal to one of the following values 'Biconical', 'Bidirectional', 'Directional Hemispherical', 'Hemispherical Hemispherical', 'Unknown'. speclib:Measurement_Parameters/speclib:measurement_type/speclib:measurement_type The attribute speclib:Measurement_Parameters/speclib:measurement_type must be equal to one of the following values 'Attenuated Total Reflectance', 'Emission', 'LIBS', 'Raman', 'Reflectance', 'Transmission', 'X-Ray Absorption Near-Edge Structure', 'X-Ray Diffraction', 'X-Ray Fluorescence'. speclib:Measurement_Parameters/speclib:phase_angle/speclib:phase_angle The attribute @unit must be equal to one of the following values 'arcmin', 'arcsec', 'deg', 'hr', 'microrad', 'mrad', 'rad'. speclib:Measurement_Parameters/speclib:spectral_range_parameter_name/speclib:spectral_range_parameter_name The attribute speclib:Measurement_Parameters/speclib:spectral_range_parameter_name must be equal to one of the following values 'Angle', 'Energy', 'Frequency', 'Time', 'Wavelength', 'Wavenumber'. speclib:Specimen_Classification/speclib:material_origin/speclib:material_origin The attribute speclib:Specimen_Classification/speclib:material_origin must be equal to one of the following values 'Natural', 'Natural-Doped', 'Synthetic'. speclib:Specimen_Classification/speclib:material_state/speclib:material_state The attribute speclib:Specimen_Classification/speclib:material_state must be equal to one of the following values 'Gas', 'Liquid', 'Solid'. speclib:Specimen_Classification/speclib:material_type/speclib:material_type The attribute speclib:Specimen_Classification/speclib:material_type must be equal to one of the following values 'Amorphous', 'Brine', 'Consolidated Mixture', 'Element', 'Ice', 'Mineral', 'Organic', 'Rock', 'Single Particle', 'Unconsolidated Mixture'. speclib:Specimen_Classification/speclib:mineral_type/speclib:mineral_type The attribute speclib:Specimen_Classification/speclib:mineral_type must be equal to one of the following values 'Arsenate', 'Borate', 'Carbonate', 'Chromate', 'Cyclosilicate', 'Halide', 'Hydroxide', 'Inosilicate', 'Iodate', 'Native Element', 'Nesosilicate', 'Nitrate', 'Organic Compound', 'Oxide', 'Phosphate', 'Phyllosilicate', 'Sorosilicate', 'Sulfate', 'Sulfide', 'Tectosilicate', 'Unclassified', 'Vanadate'. speclib:Specimen_Classification/speclib:organic_type/speclib:organic_type The attribute speclib:Specimen_Classification/speclib:organic_type must be equal to one of the following values 'Inorganic', 'Mixture', 'Organic'. speclib:Specimen_Classification/speclib:rock_type/speclib:rock_type The attribute speclib:Specimen_Classification/speclib:rock_type must be equal to one of the following values 'Igneous', 'Metamorphic', 'Sedimentary', 'Unknown'. speclib:Specimen_Classification/speclib:specimen_type/speclib:specimen_type The attribute speclib:Specimen_Classification/speclib:specimen_type must be equal to one of the following values 'Lunar Meteorite', 'Mars Meteorite', 'Other Meteorite', 'Returned Asteroid Sample', 'Returned Lunar Sample', 'Synthetic Sample', 'Terrestrial Sample'. speclib:Specimen_Classification/speclib:synthetic_type/speclib:synthetic_type The attribute speclib:Specimen_Classification/speclib:synthetic_type must be equal to one of the following values 'Entirely Synthetic', 'From Natural', 'Hardware', 'Natural and Synthetic'. speclib:Specimen_Classification/speclib:volatile_type/speclib:volatile_type The attribute speclib:Specimen_Classification/speclib:volatile_type must be nulled or equal to one of the following values 'Poor', 'Rich', 'Unknown'. speclib:Specimen_Parameters/speclib:specimen_max_size/speclib:specimen_max_size The attribute @unit must be equal to one of the following values 'AU', 'Angstrom', 'cm', 'km', 'm', 'micrometer', 'mm', 'nm'. speclib:Specimen_Parameters/speclib:specimen_min_size/speclib:specimen_min_size The attribute @unit must be equal to one of the following values 'AU', 'Angstrom', 'cm', 'km', 'm', 'micrometer', 'mm', 'nm'. speclib:Specimen_Parameters/speclib:specimen_thin_section_flag/speclib:specimen_thin_section_flag The attribute speclib:Specimen_Parameters/speclib:specimen_thin_section_flag must be equal to one of the following values 'N', 'Y'.