# libxmljs-extra Library of functions to complement [libxmljs](https://github.com/libxmljs/libxmljs). ```JS const libxmljs = require('libxmljs'); const extras = require('libxmljs-extra'); const xml = ` <?xml version="1.0" encoding="UTF-8"?> <root xmlns="http://www.my-namespace.org/"> <child> <grandchild>Hello</grandchild> </child> <child> <grandchild>World</grandchild> </child> </root>`; const xmlDoc = libxmljs.parseXml(xml); // Sets the global namespace of the document extras.setNamespace(xmlDoc, 'namespace', 'http://www.my-namespace.org/'); const grandchildren = extras.find(xmlDoc, '//grandchild'); grandchildren.forEach((grandchild) => console.log(grandchild.text())); // Prints "Hello\nWorld" console.log(extras.count(xmlDoc, '//grandchildren')); // Prints "2" ``` ## Docs ### count(xmlDoc, xpath) >Counts the amount of results of the provided XPath. >**args** *xmlDoc* The instance of `Document` representating the XML document. *xpath* The XPath to count in `xmlDoc`. >**returns** The amount of results. ### find(xmlDoc, xpath) >Finds the result of the provided XPath. >**args** *xmlDoc* The instance of `Document` representating the XML document. *xpath* The XPath to get in `xmlDoc`. >**returns** The found `Element` or `Element`s. ### setNamespace(xmlDoc, alias, url) >Sets the namespace to use for the specified `Document`. >**args** *xmlDoc* The `Document` instance to set the namespace of. *alias* The namespace alias. *url* The namespace URL. >**returns** void