JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 8609
  • Score
    100M100P100Q195917F
  • License MIT

A (XSD) schema validator for nodejs

Package Exports

  • xsd-schema-validator
  • xsd-schema-validator/lib/validator.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (xsd-schema-validator) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

xsd-schema-validator

CI

A (XSD) schema validator for NodeJS that uses Java to perform the actual validation. ➡️ Why?

Prerequisites

Under the hood, this utility uses Java to do the actual validation.

It assumes that javac and java are on the path. If a JAVA_HOME environment variable exists it uses that to locate an installed JDK.

On some platforms, i.e. Mac OSX you need to define JAVA_HOME manually.

Installation

Install the package via npm:

npm install --save xsd-schema-validator

Usage

Use in your application:

var validator = require('xsd-schema-validator');

var xmlStr = '<foo:bar />';

try {
  const result = await validator.validateXML(xmlStr, 'resources/foo.xsd');

  result.valid; // true
} catch (err) {
  console.error('validation error', err);
}

You may validate readable streams:

var xmlStream = fs.createReadableStream('some.xml');

const result = await validator.validateXML(xmlStream);

You may validate files, too:

const result = validator.validateXML({ file: 'some.xml' }, ...);

Why

Because Java can do schema validation and NodeJS cannot.

License

MIT