epubavocado
Version:
I am an EPUB object model aspiring to be standards compliant.
24 lines (23 loc) • 677 B
JavaScript
import { useNamespaces } from 'xpath';
export const namespaceMap = {
xml: 'http://www.w3.org/XML/1998/namespace',
opf: 'http://www.idpf.org/2007/opf',
dc: 'http://purl.org/dc/elements/1.1/',
ocf: 'urn:oasis:names:tc:opendocument:xmlns:container',
};
export const selectAll = useNamespaces(namespaceMap);
export const select = function (expression, node) {
return selectAll(expression, node, true);
};
/**
* inverse of `namespaceMap`
* ```
* {
* 'http://www.idpf.org/2007/opf': 'opf',
* ...
* }
* ```
*/
export const prefixMap = Object.assign({}, ...Object.entries(namespaceMap).map(([prefix, namespace]) => ({
[namespace]: prefix,
})));