JSPM

xml-name-validator

2.0.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 36691550
  • Score
    100M100P100Q247960F
  • License WTFPL

Validates whether a string matches the production for an XML name or qualified name

Package Exports

  • xml-name-validator

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 (xml-name-validator) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Validate XML Names and Qualified Names

This package simply tells you whether or not a string matches the Name or QName productions in the XML Namespaces specification. We use it for implementing the validate algorithm in jsdom, but you can use it for whatever you want.

Usage

This package's main module's default export takes a string and will return an object of the form { success, error }, where success is a boolean and if it is false, then error is a string containing some hint as to where the match went wrong.

"use strict":
var xnv = require("xml-name-validator");
var assert = require("assert");

// Will return { success: true, error: undefined }
xnv.name("x");
xnv.name(":");
xnv.name("a:0");
xnv.name("a🅱️c");

// Will return { success: false, error: <an explanatory string> }
xnv.name("\\");
xnv.name("'");
xnv.name("0");
xnv.name("a!");

// Will return { success: true, error: undefined }
xnv.qname("x");
xnv.qname("a0");
xnv.qname("a:b");

// Will return { success: false, error: <an explanatory string> }
xnv.qname(":a");
xnv.qname(":b");
xnv.qname("a🅱️c");
xnv.qname("a:0");