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!
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 multiple 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.
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
MIT License
Copyright (c) 2019 WWW.TESTOXIDE.COM | TUSHAR SHARMA
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.