Пример демонстрирует расширенную канонизацию и фильтрацию узлов через XPath-запрос.
<?php
$dom = new DOMDocument();
$dom->loadXML(<<<XML
<root xmlns:food="urn:food">
<!-- избыточное объявление пространства имен канонизируется -->
<food:fruit xmlns:food="urn:food">Яблоко</food:fruit>
<food:fruit>Апельсин</food:fruit>
<food:fruit>Груша</food:fruit>
<!-- затем идут овощи -->
<food:vegetable>Латук</food:vegetable>
</root>
XML);
echo $dom->C14N(true, false, [
"query" => ".//f:fruit|.//f:fruit/text()",
"namespaces" => ["f" => "urn:food"],
]);
?>
Результат выполнения приведённого примера:
<food:fruit>Яблоко</food:fruit><food:fruit>Апельсин</food:fruit><food:fruit>Груша</food:fruit>