*/
/* Remember, fluidify() is an alias for FluidXml::load(). */
$string = $html->xml();
// XML string import.
$fluid = fluidify($string);
echo $fluid->xml();
echo "————————————————————————————————————————————————————————————————————————————————\n";
$dom = new DOMDocument();
$dom->loadXML($fluid->xml());
// DOMDocument import.
$fluid = fluidify($dom);
echo $fluid->xml();
echo "————————————————————————————————————————————————————————————————————————————————\n";
$simplexml = new SimpleXMLElement($fluid->xml());
// SimpleXMLElement import.
$fluid = fluidify($simplexml);
echo $fluid->xml();
echo "————————————————————————————————————————————————————————————————————————————————\n";
// XML file import.
// $fluid = fluidify('path/to/file.xml');
/******************
 * XPath Queries. *
*******************/
/*
* XPath queries can be absolute or relative to the context over they are executed.
*/
$eggs = $food->query('//egg');
$fruits = $food->query('//fruit[@price="expensive"]');
echo "We have {$eggs->length()} eggs and {$fruits->length()} expensive fruit.\n";
echo "————————————————————————————————————————————————————————————————————————————————\n";
$book->query('//chapter')->attr('lang', 'en')->query('..')->attr('lang', 'en')->query('../title')->attr('lang', 'en');
        $actual = $alias->xml();
        $expected = $xml->xml();
        assert($actual === $expected, __($actual, $expected));
        $options = ['root' => 'root', 'version' => '1.2', 'encoding' => 'UTF-16', 'stylesheet' => 'stylesheet.xsl'];
        $xml = new FluidXml($options);
        $alias = fluidxml($options);
        $actual = $alias->xml();
        $expected = $xml->xml();
        assert($actual === $expected, __($actual, $expected));
    });
});
describe('fluidify', function () {
    it('should behave like FluidXml::load', function () {
        $doc = '<tag>content</tag>';
        $xml = FluidXml::load($doc);
        $alias = fluidify($doc);
        $actual = $alias->xml();
        $expected = $xml->xml();
        assert($actual === $expected, __($actual, $expected));
    });
});
describe('fluidns', function () {
    it('should behave like FluidNamespace::__construct', function () {
        $ns = new FluidNamespace('x', 'x.com');
        $alias = fluidns('x', 'x.com');
        $actual = $ns->id();
        $expected = $alias->id();
        assert($actual === $expected, __($actual, $expected));
        $actual = $ns->uri();
        $expected = $alias->uri();
        assert($actual === $expected, __($actual, $expected));