If you target a specific schema it is vital for your transformation result to not only follow the schema's structure, but to also meet the other constraints defined by the schema, like mandatory properties or restrictions on property values.
Validation of instances in HALE currently is supported for XML based schemas. Validation can be done on the exported transformation result or on the transformed instances currently available in the application.
When exporting data or transforming external data you have the option to specify a validator that should be executed when writing the data to the output file is finished. This validator produces a report about errors found during the validation and informs you if the file is valid or not.
If you have loaded source data and created a mapping, on each mapping change the live transformation is executed (if activated). When the transformed data changes, automatically a job is started to validate the instances. This can be deactivated and activated in the main menu or tool bar:
A status item in the lower right corner of the HALE window shows the status of the validation. If there is a small warning sign in the icon, it informs us about validation errors:
Clicking on the status item opens the Report List and selects the last validation report.
If the Properties view is not yet shown, you can open it by double-clicking on the report. If there were problems during the validation you will see the Warnings section in the report's properties. There the validation warnings are listed, grouped by the property where they occur. If there are many warnings for a property, only a few are displayed, because usually they originate from the same problem.
You can inspect the instances for which these warnings were generated by double-clicking on a warning message or a property. The transformed data view is opened, and the instance associated to the message or the instances with problems for this property are displayed. Please note that this action pins the Properties view, so it show the report information even if another view is selected.
This kind of validation inside HALE is very convenient, but may not be as accurate as the validation on export for some cases. This is due to the fact that the export itself may change the result slightly from what is available in HALE. This could for instance be encodings that are only replied when writing certain properties, or values like identifiers that are generated when missing.