Created by the author of Fast XML Parser.
This library exposes 2 type of XML validators
- Syntax validator
- Business rule validator (Schema)
Validate XML file for syntax errors. It
const { SyntaxValidator } = require("fast-xml-validator");
const result = SyntaxValidator.validate(xmlData, { allowBooleanAttributes: true });Options:
- allowBooleanAttributes: allow attributes without value (e.g
<book published />) - unpairedTags: list of tags without closing tags (e.g
<br>,<hr>) - docType: options for validating DOCTYPE entity count and size
- maxEntityCount: maximum number of entities in DOCTYPE (default: Infinity)
- maxEntitySize: maximum size of each entity in DOCTYPE (default: Infinity)
This is somewhat like XML schema validator but with some or rather more additional features.Checkout the Business Rule Validato for more information.
const { BusinessRulesValidator } = require("fast-xml-validator");
const options = {};
const validator = new BusinessRulesValidator(rulesXml);
const result = validator.validate(xmlData, options);- You want to ensure the data type or, minimum or maximum value for a field.
- You want to ensure the minimum or maximum occurences of a tag.
- You want to ensure the sequence of sibling tags.
- You want to ensure that the discounted price is always lesser than total price
- You want to be informed if there are students who scored less than 35 in any subject.
- You want to ensure that the shipment date must come after an order date.
- You want to ensure that a PO must have at least one order item
- You want to ensure that email is unique for all employees
- You have your own business validations.