Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
adojos committed Oct 1, 2019
2 parents 3803861 + 975206a commit 2bea032
Showing 1 changed file with 14 additions and 6 deletions.
20 changes: 14 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
![GitHub repo size](https://img.shields.io/github/repo-size/testoxide/vbsx-Validator)

# vbsx-Validator
Free script utility for simple XML/XSD validation (currently supports only single 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.
Free script 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 given XSD (single) as one batch operation. Generates verbose log file for all operations and output.
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 on windows native technologies!
This utility has no dependency on third party compiler / interpreters / engines (e.g. java, nodejs. .NET or other such runtimes).
Expand All @@ -22,6 +22,8 @@ Instead use any latest stable release version, available for download from _[Rel
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](https://github.com/testoxide/vbsx-Validator/wiki) for usage tips, screenshots and [video demo](https://github.com/testoxide/vbsx-Validator/wiki/Video-Demo-&-Overview)_
Expand All @@ -38,14 +40,20 @@ Require admin privileges / script execution privileges (elevated UAC prompt) on

### Technical Notes (Design)

* The Parser has been designed _not to resolve externals_. It does not evaluate or resolve the schemaLocation or attributes specified in DocumentRoot. The reason is that most of the time schemaLocation is not always valid or resolvable. Hence this design avoids non-schema related errors.
* 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.
* 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 parser needs Namespace (targetNamespace) which is currently extracted from the 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'](https://github.com/testoxide/vbsx-Validator/wiki/Additional-Notes) section of Wiki for more information if required.


### Built With

Expand Down

0 comments on commit 2bea032

Please sign in to comment.