/vbsx-Validator

ADjo LABS PROJECT : Lightweight, yet powerful! Free desktop utility, for fastest validation of 'large sized' XML file/s against XSD/s. Also supports validating hundreds of XML files (multiple) as a batch against XSD/s. Corroborating the power of MSXML DOM Parser!

Primary LanguageVisual BasicMIT LicenseMIT

License: MIT GitHub release (latest by date) GitHub repo size platform

vbsx-Validator

Free desktop utility for simple XML/XSD validation (supports multiple XSD). Fastest XML validation of 'large sized' files (in-memory) without rendering overhead. DOM Parser based XML / XSD validation built on MSXML6. Supports full (multiple) error parsing of a given XML.

Also supports Batch (Multiple XML Files) as a single operation. Validate hundreds of XML against a single or multple XSD as one batch operation. Generates verbose log file for all operations and output.

No-frills, lightweight yet powerful! Built specifically on windows native technologies! This has no dependency on third party compiler / interpreters / engines (e.g. java, nodejs. .NET or other such runtimes). However it does utilizes some 'legacy' dependencies listed in below 'built with' sections.

Download

Please do not download from source code section as it may not be stable.

Instead use any latest stable release version, available for download from Releases section

How To run

Simply double-click the main script file named 'VBSX_Main.vbs' to launch the utility. This will launch the command line interface. Please note that you might get UAC prompt if UAC is enabled on your windows.

When running under 'Bulk File Mode', the application would auto-create a main output folder and two sub-folders (valid file folder and Invalid file folder) on your filesystem. The app would auto save the XMLs being validated appropriately into these folders based on validation result.

Note : Drag and Drop may work with UAC disabled.

Refer Wiki for usage tips, screenshots and video demo

Prerequisites

Win 7 / 8 / Server.

MSXML6 Official Download here

Require admin privileges / script execution privileges (elevated UAC prompt) on your windows system.

Technical Notes (Design)

  • The Validation Parser, accepts multiple XSDs against a given XML (XMLs referencing multiple XSDs) for validation since version v2.0.1 (Multi XSD support). However the parser does not auto-import any schemas from network or filesystem, but rather considers only user supplied XSDs, hence make sure you provide all required XSDs.

  • The Parser has been designed 'not to resolve externals'. It does not evaluate or resolve the 'schemaLocation' or other attributes specified in DocumentRoot for locating schemas. The reason is that most of the time schemaLocation is not always valid or resolvable as XML travels system to system. Hence this design avoids non-schema related errors.

  • The parser validates strictly against the supplied XSD (schema definition) only without auto-resolving schemaLocation or other nameSpace attributes from the XML document. This provides robust validation against supplied XSD.

  • The validation parser inherently validates all XML for well-formedness / structural.

  • The validation parser needs Namespace (targetNamespace) which is currently extracted from the supplied XSD. Please make sure that 'targetNamespace' declaration if any, in your XSD is correct. The targetNamespace decalaration is not mandatory and hence XSD without targetNamespace are also validated properly.

  • The current version does not support XML files with inline schemas

  • Please refer 'Further Reading' section of Wiki for more information if required.

Built With

Please note, this app utilizes the below 'legacy' dependencies :

Known Issues / Bugs

Please refer the Issue list.

Feel free to contribte by logging any new defects, issues or enhancement requests

Authors

  • Tushar Sharma

License

This is licensed under the MIT License - see the LICENSE.md file for details