import * as libxml from "../index";
import { XMLElement } from "../index";
module.exports.create = function (assert: any) {
var doc = libxml.Document();
var elem = doc.node("name1");
var ns = elem.defineNamespace("http://my-namespace.com");
assert.ok(ns);
assert.equal(null, elem.namespace());
assert.equal(null, ns.prefix());
assert.equal("http://my-namespace.com", ns.href());
assert.done();
};
// assign namespace to a node
module.exports.set = function (assert: any) {
var doc = libxml.Document();
var elem = doc.node("name1");
// this will set a namespace on the node
var ns = elem.namespace("http://my-namespace.com");
assert.ok(ns);
assert.equal(ns, elem.namespace());
assert.equal(null, elem.namespace()?.prefix());
assert.equal("http://my-namespace.com", elem.namespace()?.href());
assert.done();
};
module.exports.with_prefix = function (assert: any) {
var doc = libxml.Document();
var elem = doc.node("name1");
var ns = elem.defineNamespace("pref", "http://my-namespace.com");
assert.equal(null, elem.namespace());
assert.equal("pref", ns.prefix());
assert.equal("http://my-namespace.com", ns.href());
// this should detect existing namespace object
var ns2 = elem.namespace("pref", "http://my-namespace.com");
assert.ok(ns2);
assert.equal(ns, ns2);
assert.equal(ns, elem.namespace());
assert.equal("pref", elem.namespace()?.prefix());
assert.equal("http://my-namespace.com", elem.namespace()?.href());
assert.done();
};
module.exports.from_parsing = function (assert: any) {
var doc = libxml.parseXml('' + '
WUT?
'; var doc = libxml.parseXml(str); var divs = doc.find("//xmlns:div", "http://www.w3.org/1999/xhtml"); assert.equal(divs.length, 2); var div = doc.get("//xmlns:div", "http://www.w3.org/1999/xhtml") as XMLElement; assert.ok(div instanceof XMLElement); assert.ok(div != null); var exp = doc.root()?.child(1)?.child(0) as XMLElement; assert.ok(exp != null); assert.equal(div.toString(), exp.toString()); assert.done(); }; module.exports.custom_ns = function (assert: any) { var str = 'WUT?
'; var doc = libxml.parseXml(str); var divs = doc.find("//bacon:div", { bacon: "http://www.example.com/fake/uri" }); assert.equal(divs.length, 2); var div = doc.get("//bacon:div", { bacon: "http://www.example.com/fake/uri" }) as XMLElement; assert.ok(div instanceof XMLElement); assert.ok(div != null); var exp = doc.root()?.child(1)?.child(0) as XMLElement; assert.ok(exp != null); assert.equal(div.toString(), exp.toString()); assert.done(); }; module.exports.local_namespaces = function (assert: any) { var str = '