xml-name-validator
Advanced tools
Validates whether a string matches the production for an XML name or qualified name
Weekly downloads
Changelog
4.0.0
The minimum required Node.js version is now v12.
The name()
and qname()
functions now return booleans, instead of { success, error }
objects.
This module is now ~500x faster in microbenchmarks, due to using regular expressions instead of a generated parser.
Readme
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.
This package's main module exports two functions, name()
and qname()
. Both take a string and return a boolean indicating whether or not the string matches the relevant production.
"use strict":
const xnv = require("xml-name-validator");
// Will return true
xnv.name("x");
xnv.name(":");
xnv.name("a:0");
xnv.name("a:b:c");
// Will return false
xnv.name("\\");
xnv.name("'");
xnv.name("0");
xnv.name("a!");
// Will return true
xnv.qname("x");
xnv.qname("a0");
xnv.qname("a:b");
// Will return false
xnv.qname(":a");
xnv.qname(":b");
xnv.qname("a:b:c");
xnv.qname("a:0");
Validates whether a string matches the production for an XML name or qualified name
The npm package xml-name-validator receives a total of 14,480,890 weekly downloads. As such, xml-name-validator popularity was classified as popular.
We found that xml-name-validator demonstrated a healthy version release cadence and project activity. It has 6 open source maintainers collaborating on the project.