Giter Site home page Giter Site logo

adojos / vbsx-validator Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 1.86 MB

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!

License: MIT License

Visual Basic 100.00%
xml msxml xml-validation vbscript xml-schema uft xsd xml-files xsd-validation qtp

vbsx-validator's Introduction

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

vbsx-validator's People

Contributors

adojos avatar

Stargazers

 avatar

Watchers

 avatar

vbsx-validator's Issues

Include support for validating XMLs with Inline Schemas

Include support for validating XMLs with Inline Schemas

References:
https://docs.microsoft.com/en-us/previous-versions/windows/desktop/ms759142%28v%3dvs.85%29

https://docs.microsoft.com/en-us/previous-versions/windows/desktop/ms762261%28v%3dvs.85%29


Example XML below ...


<xsd:schema targetNamespace="urn:book">
<xsd:element name="book">
xsd:complexType
xsd:sequence
<xsd:element name="author" type="xsd:string"/>
<xsd:element name="title" type="xsd:string"/>
<xsd:element name="genre" type="xsd:string"/>
<xsd:element name="price" type="xsd:float"/>
<xsd:element name="publish_date" type="xsd:date"/>
<xsd:element name="description" type="xsd:string"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
</xsd:schema>

<x:book id="bk101">
Gambardella, Matthew
<title>XML Developer's Guide</title>
Computer
44.95
<publish_date>2000-10-01</publish_date>
An in-depth look at creating applications with
XML.
</x:book>

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.