/
dimamir
/
node-xml-toolkit
Обзор
Документация
Войти
/
dimamir
/
node-xml-toolkit
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
lib/NamespacePrefixesMap.js
46 строк
886 B
Dmitry Ovsyanko
XMLSchema.namespaceURI single source
27 окт 2024, 18:36
27 окт 2024, 18:36
8e55b4a
Код
Авторство
О чём код?
const {XMLNamespace, XMLNamespacePrefix} = require ('./NamespacesMap.js') const XMLSchema = require ('./XMLSchema.js') const DEFAULTS = [ [XMLNamespace, XMLNamespacePrefix], [XMLSchema.namespaceURI, 'xs'], ] const NamespacePrefixesMap = class extends Map { constructor (schemata) { super (DEFAULTS) for (const uri of schemata.keys ()) if (!this.has (uri)) this.set (uri, 'ns' + this.size) } QName (localName, namespaceURI) { if (namespaceURI == null) return localName if (!this.has (namespaceURI)) throw Error ('Unknown target namespace: ' + namespaceURI) return this.get (namespaceURI) + ':' + localName } toString () { let s = '' for (let [k, v] of this.entries ()) if (k !== XMLNamespace) s += ' xmlns:' + v + '="' + k + '"' return s } } module.exports = NamespacePrefixesMap