https://github.com/jsdom/xml-name-validator
Validates whether a string matches the production for an XML name or qualified name
https://github.com/jsdom/xml-name-validator
Last synced: about 1 year ago
JSON representation
Validates whether a string matches the production for an XML name or qualified name
- Host: GitHub
- URL: https://github.com/jsdom/xml-name-validator
- Owner: jsdom
- License: apache-2.0
- Created: 2014-12-28T03:56:57.000Z (over 11 years ago)
- Default Branch: main
- Last Pushed: 2023-11-12T05:37:51.000Z (over 2 years ago)
- Last Synced: 2025-04-11T13:52:48.997Z (about 1 year ago)
- Language: JavaScript
- Homepage:
- Size: 72.3 KB
- Stars: 15
- Watchers: 5
- Forks: 10
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Validate XML Names and Qualified Names
This package simply tells you whether or not a string matches the [`Name`](http://www.w3.org/TR/xml/#NT-Name) or [`QName`](http://www.w3.org/TR/xml-names/#NT-QName) productions in the XML Namespaces specification. We use it for implementing the [validate](https://dom.spec.whatwg.org/#validate) algorithm in jsdom, but you can use it for whatever you want.
## Usage
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.
```js
"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");
```