Search in sources :

Example 1 with SchematronPreprocessException

use of com.helger.schematron.pure.preprocess.SchematronPreprocessException in project ph-schematron by phax.

the class PSBoundSchemaCacheKey method createPreprocessedSchema.

/**
 * Pre-process the read schema, using the determined query binding.
 *
 * @param aSchema
 *        The read schema. Never <code>null</code>.
 * @param aQueryBinding
 *        The determined query binding. Never <code>null</code>.
 * @return The pre-processed schema and never <code>null</code>.
 * @throws SchematronException
 *         In case pre-processing fails
 */
@Nonnull
@OverrideOnDemand
public PSSchema createPreprocessedSchema(@Nonnull final PSSchema aSchema, @Nonnull final IPSQueryBinding aQueryBinding) throws SchematronException {
    final PSPreprocessor aPreprocessor = createPreprocessor(aQueryBinding);
    final PSSchema aPreprocessedSchema = aPreprocessor.getAsPreprocessedSchema(aSchema);
    if (aPreprocessedSchema == null)
        throw new SchematronPreprocessException("Failed to preprocess schema " + aSchema + " with query binding " + aQueryBinding);
    if (SchematronDebug.isShowPreprocessedSchematron())
        s_aLogger.info("Preprocessed Schematron:\n" + MicroWriter.getNodeAsString(aPreprocessedSchema.getAsMicroElement()));
    return aPreprocessedSchema;
}
Also used : SchematronPreprocessException(com.helger.schematron.pure.preprocess.SchematronPreprocessException) PSPreprocessor(com.helger.schematron.pure.preprocess.PSPreprocessor) PSSchema(com.helger.schematron.pure.model.PSSchema) Nonnull(javax.annotation.Nonnull) OverrideOnDemand(com.helger.commons.annotation.OverrideOnDemand)

Aggregations

OverrideOnDemand (com.helger.commons.annotation.OverrideOnDemand)1 PSSchema (com.helger.schematron.pure.model.PSSchema)1 PSPreprocessor (com.helger.schematron.pure.preprocess.PSPreprocessor)1 SchematronPreprocessException (com.helger.schematron.pure.preprocess.SchematronPreprocessException)1 Nonnull (javax.annotation.Nonnull)1