Package gov.nasa.pds.tools.label
Class LabelValidator
java.lang.Object
gov.nasa.pds.tools.label.LabelValidator
This class is responsible for providing utility functions for validating PDS XML Labels.
- Author:
- pramirez
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddValidator(DocumentValidator validator) voidaddValidator(ExternalValidator validator) voidclear()getConfiguration(String key) longReturns the number of files processed by the validation function.getSchematrons(NodeList nodeList, URL url, ProblemHandler handler) doubleReturns the duration it took to run the validation function.parseAndValidate(ProblemHandler handler, URL url) Parses and validates a label against the schema and Schematron files, and returns the parsed XML.voidsetCachedEntityResolver(CachedEntityResolver resolver) voidvoidsetCatalogs(String[] catalogFiles) Pass in a list of Catalog files to use during the validation step.voidsetConfiguration(String key, Boolean value) voidsetLabelSchematrons(Map<String, String> schematronMap) Pass in a hash map of schematron URLs to its transformed schematron object.voidPass in a list of schemas to validate against.voidsetSchemaCheck(Boolean value) voidsetSchemaCheck(Boolean value, Boolean useLabelSchema) voidsetSchematronCheck(Boolean value) voidsetSchematronCheck(Boolean value, Boolean useLabelSchematron) voidsetSchematronFiles(List<URL> schematronFiles) Pass in a list of schematron files to validate against.voidsetSchematrons(List<String> schematrons) Pass in a list of transformed schematrons to validate against.voidvoidvalidate(ProblemHandler handler, File labelFile) voidvalidate(ProblemHandler handler, URL url) Validates the label against schema and schematron constraints.voidvalidate(ProblemHandler handler, URL url, String labelExtension) void
-
Field Details
-
SCHEMA_CHECK
- See Also:
-
SCHEMATRON_CHECK
- See Also:
-
-
Constructor Details
-
LabelValidator
Default constructor.- Throws:
ParserConfigurationException- If there was an error setting up the configuration of the parser that is reposnible for doing the label validation.TransformerConfigurationException- If there was an error setting up the Transformer responsible for doing the transformations of the schematrons.
-
-
Method Details
-
getFilesProcessed
public long getFilesProcessed()Returns the number of files processed by the validation function. -
getTotalTimeElapsed
public double getTotalTimeElapsed()Returns the duration it took to run the validation function. -
setSchema
Pass in a list of schemas to validate against.- Parameters:
schemaFiles- A list of schema URLs.
-
setSchematrons
Pass in a list of transformed schematrons to validate against.- Parameters:
schematrons- A list of transformed schematrons.
-
clear
-
setLabelSchematrons
Pass in a hash map of schematron URLs to its transformed schematron object. This is used when validating a label against it's referenced schematron.- Parameters:
schematronMap-
-
setSchematronFiles
Pass in a list of schematron files to validate against.- Parameters:
schematronFiles- A list of schematron URLs.
-
setCatalogs
Pass in a list of Catalog files to use during the validation step.- Parameters:
catalogFiles-
-
getCatalogResolver
-
validate
public void validate(ProblemHandler handler, File labelFile) throws SAXException, IOException, ParserConfigurationException, TransformerException, MissingLabelSchemaException -
validate
public void validate(ProblemHandler handler, URL url) throws SAXException, IOException, ParserConfigurationException, TransformerException, MissingLabelSchemaException Validates the label against schema and schematron constraints.- Parameters:
handler- a handler to receive errors during the validationurl- label to validate- Throws:
SAXException- if there are parsing exceptionsIOException- if there are I/O errors during the parseParserConfigurationException- if the parser configuration is invalidTransformerException- if there is an error during Schematron transformationMissingLabelSchemaException- if the label schema cannot be found
-
validate
public void validate(ProblemHandler handler, URL url, String labelExtension) throws SAXException, IOException, ParserConfigurationException, TransformerException, MissingLabelSchemaException -
parseAndValidate
public Document parseAndValidate(ProblemHandler handler, URL url) throws SAXException, IOException, ParserConfigurationException, TransformerException, MissingLabelSchemaException Parses and validates a label against the schema and Schematron files, and returns the parsed XML.- Parameters:
handler- an problem handler to receive errors during the validationurl- the URL of the label to validate- Returns:
- the XML document represented by the label
- Throws:
SAXException- if there are parsing exceptionsIOException- if there are I/O errors during the parseParserConfigurationException- if the parser configuration is invalidTransformerException- if there is an error during Schematron transformationMissingLabelSchemaException- if the label schema cannot be found
-
validate
public void validate(File labelFile) throws SAXException, IOException, ParserConfigurationException, TransformerException, MissingLabelSchemaException -
getSchematrons
-
performsSchemaValidation
-
setSchemaCheck
-
setSchemaCheck
-
performsSchematronValidation
-
setSchematronCheck
-
setSchematronCheck
-
setSkipProductValidation
-
getConfiguration
-
setConfiguration
-
addValidator
-
addValidator
-
setCachedEntityResolver
-
setCachedLSResourceResolver
-