SaxonC 12.4
Saxon Processor library for C/C++, PHP and Python
Loading...
Searching...
No Matches
Public Member Functions | List of all members
SchemaValidator Class Reference

#include <SchemaValidator.h>

Public Member Functions

 SchemaValidator ()
 Default constructor.
 
 SchemaValidator (SaxonProcessor *proc, std::string cwd="")
 A constructor with a SaxonProcessor.
 
 SchemaValidator (const SchemaValidator &other)
 Copy constructor.
 
 ~SchemaValidator ()
 
SchemaValidatoroperator= (const SchemaValidator &other)
 The copy assignment= operator.
 
void setcwd (const char *cwd)
 Set the Current working Directory.
 
void registerSchemaFromFile (const char *xsd)
 Register the schema from file name.
 
void registerSchemaFromString (const char *schemaStr, const char *systemID=nullptr)
 Register the schema supplied as a string.
 
void registerSchemaFromNode (XdmNode *node)
 Register the schema supplied as an XDM Node Object.
 
void exportSchema (const char *fileName)
 
void setOutputFile (const char *outputFile)
 Set the name of the output file that will be used by the validator.
 
void validate (const char *sourceFile=nullptr)
 Validate an instance document by a registered schema.
 
XdmNodevalidateToNode (const char *sourceFile=nullptr)
 Validate an instance document supplied as a Source object.
 
void setSourceNode (XdmNode *source)
 Set the source node for validation.
 
XdmNodegetValidationReport ()
 Get the Validation report.
 
void setParameter (const char *name, XdmValue *value)
 Set a parameter value used in the validator.
 
bool removeParameter (const char *name)
 Remove a parameter (name, value) pair.
 
void setProperty (const char *name, const char *value)
 Set a property.
 
void clearParameters (bool deleteValues=false)
 Clear parameter values set.
 
void clearProperties ()
 Clear property values set.
 
std::map< std::string, XdmValue * > & getParameters ()
 Get all parameters as a std::map.
 
std::map< std::string, std::string > & getProperties ()
 Get all properties as a std::map.
 
bool exceptionOccurred ()
 
const char * checkException ()
 Check for exception thrown.
 
void exceptionClear ()
 Clear any exception thrown.
 
const char * getErrorMessage ()
 Get number of errors during validation of the source against the schema.
 
const char * getErrorCode ()
 Get error code if an error is reported.
 
void setLax (bool l)
 The validation mode may be either strict or lax.
 
int64_t getUnderlyingValidator ()
 Get the underlying java object of the C++ schema validator.
 

Detailed Description

A SchemaValidator represents a factory for validating instance documents against a schema.

Constructor & Destructor Documentation

◆ SchemaValidator() [1/3]

SchemaValidator::SchemaValidator ( )

Default constructor.

Creates Schema Validator

Exceptions
SaxonApiException

◆ SchemaValidator() [2/3]

SchemaValidator::SchemaValidator ( SaxonProcessor proc,
std::string  cwd = "" 
)

A constructor with a SaxonProcessor.

The supplied processor should have license flag set to true for the Schema Validator to operate.

Parameters
proc- the SaxonProcessor
cwd- set the current working directory
Exceptions
SaxonApiException

◆ SchemaValidator() [3/3]

SchemaValidator::SchemaValidator ( const SchemaValidator other)

Copy constructor.

Creates Schema Validator

◆ ~SchemaValidator()

SchemaValidator::~SchemaValidator ( )

Destructor method. At the end of the program call the release() method to clear the JVM.

Member Function Documentation

◆ checkException()

const char * SchemaValidator::checkException ( )

Check for exception thrown.

Returns
char*. Returns the main exception message if thrown otherwise return nullptr

◆ clearParameters()

void SchemaValidator::clearParameters ( bool  deleteValues = false)

Clear parameter values set.

Default behaviour (false) is to leave XdmValues in memory. Individual pointers to XdmValue objects have to be deleted in the calling program.

Parameters
deleteValues- if true then XdmValues are deleted

◆ exceptionOccurred()

bool SchemaValidator::exceptionOccurred ( )

Checks for pending exceptions without creating a local reference to the exception object

Returns
bool - true when there is a pending exception; otherwise return false

◆ exportSchema()

void SchemaValidator::exportSchema ( const char *  fileName)

Export a precompiled Schema Component Model containing all the components (except built-in components) that have been loaded by using the register methods.

Parameters
fileName- The file name where the exported schema will be stored
Exceptions
SaxonApiException

◆ getErrorCode()

const char * SchemaValidator::getErrorCode ( )

Get error code if an error is reported.

Validation error are reported as exceptions. All errors can be retrieved.

Returns
char* - The error code of the exception.

◆ getErrorMessage()

const char * SchemaValidator::getErrorMessage ( )

Get number of errors during validation of the source against the schema.

Returns
int - Count of the exceptions reported during validation Get the error message if there are any validation errors May have a number of validation errors reported against it the source.
char* - The message of the exception thrown

◆ getValidationReport()

XdmNode * SchemaValidator::getValidationReport ( )

Get the Validation report.

The validation-report option must have been set to true in the properties to use this feature.

Returns
XdmNode - Pointer to XdmNode. Return nullptr if validation reporting feature has not been enabled
Exceptions
SaxonApiException

◆ operator=()

SchemaValidator & SchemaValidator::operator= ( const SchemaValidator other)

The copy assignment= operator.

Create a copy of the SchemaValidator.

Parameters
other- SchemaValidator object

◆ registerSchemaFromFile()

void SchemaValidator::registerSchemaFromFile ( const char *  xsd)

Register the schema from file name.

The schema components derived from this schema document are added to the cache of schema components maintained by this SchemaManager

Parameters
xsd- File name of the schema relative to the cwd or full path if cwd is null. The document may be either a schema document in source XSD format, or a compiled schema in Saxon-defined SCM format (as produced using the method exportSchema)
Exceptions
SaxonApiException

◆ registerSchemaFromNode()

void SchemaValidator::registerSchemaFromNode ( XdmNode node)

Register the schema supplied as an XDM Node Object.

Parameters
schemaStr- The schema document supplied as an XdmNode object
Exceptions
SaxonApiException

◆ registerSchemaFromString()

void SchemaValidator::registerSchemaFromString ( const char *  schemaStr,
const char *  systemID = nullptr 
)

Register the schema supplied as a string.

Parameters
schemaStr- The schema document supplied as a string
Exceptions
SaxonApiException

◆ removeParameter()

bool SchemaValidator::removeParameter ( const char *  name)

Remove a parameter (name, value) pair.

Parameters
nameof the parameter
Returns
bool - outcome of the removal

◆ setcwd()

void SchemaValidator::setcwd ( const char *  cwd)

Set the Current working Directory.

Set the current working directory for the Schema Validator

Parameters
cwd- Supplied working directory which replaces any set cwd. Ignore if cwd is NULL.

◆ setLax()

void SchemaValidator::setLax ( bool  l)

The validation mode may be either strict or lax.

The default is strict; this method may be called to indicate that lax validation is required. With strict validation, validation fails if no element declaration can be located for the outermost element. With lax validation, the absence of an element declaration results in the content being considered valid.

Parameters
l- true if validation is to be lax, false if it is to be strict

◆ setOutputFile()

void SchemaValidator::setOutputFile ( const char *  outputFile)

Set the name of the output file that will be used by the validator.

Parameters
outputFilethe output file name for later use

◆ setParameter()

void SchemaValidator::setParameter ( const char *  name,
XdmValue value 
)

Set a parameter value used in the validator.

Parameters
nameof the parameter, as a string. For namespaced parameter use the JAXP solution i.e. "{uri}name"
valueof the query parameter, or nullptr to clear a previously set value

◆ setProperty()

void SchemaValidator::setProperty ( const char *  name,
const char *  value 
)

Set a property.

Parameters
nameof the property
valueof the property

◆ setSourceNode()

void SchemaValidator::setSourceNode ( XdmNode source)

Set the source node for validation.

Parameters
source- The source document supplied as an XdmNode, which will be used to validate against the schema using the validate methods. The deletion of allocated memory associated with the source node is the document is the responsbility of the caller.

◆ validate()

void SchemaValidator::validate ( const char *  sourceFile = nullptr)

Validate an instance document by a registered schema.

Parameters
sourceFileName of the file to be validated. Allow nullptr when source document is supplied with other method
Exceptions
SaxonApiException

◆ validateToNode()

XdmNode * SchemaValidator::validateToNode ( const char *  sourceFile = nullptr)

Validate an instance document supplied as a Source object.

Parameters
sourceFileThe name of the file to be validated. Default is nullptr
Returns
XdmNode - the validated document returned to the calling program
Exceptions
SaxonApiException

The documentation for this class was generated from the following files: