Files
doc-en/reference/dom/domnode/c14n.xml
2024-05-13 23:30:52 +01:00

136 lines
3.8 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xml:id="domnode.c14n" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>DOMNode::C14N</refname>
<refpurpose>Canonicalize nodes to a string</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis role="DOMNode">
<modifier>public</modifier> <type class="union"><type>string</type><type>false</type></type><methodname>DOMNode::C14N</methodname>
<methodparam choice="opt"><type>bool</type><parameter>exclusive</parameter><initializer>&false;</initializer></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>withComments</parameter><initializer>&false;</initializer></methodparam>
<methodparam choice="opt"><type class="union"><type>array</type><type>null</type></type><parameter>xpath</parameter><initializer>&null;</initializer></methodparam>
<methodparam choice="opt"><type class="union"><type>array</type><type>null</type></type><parameter>nsPrefixes</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>
Canonicalize nodes to a string
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>exclusive</parameter></term>
<listitem>
<para>
Enable exclusive parsing of only the nodes matched by the provided
xpath or namespace prefixes.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>withComments</parameter></term>
<listitem>
<para>
Retain comments in output.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>xpath</parameter></term>
&dom.c14n.xpath_array;
</varlistentry>
<varlistentry>
<term><parameter>nsPrefixes</parameter></term>
<listitem>
<para>
An array of namespace prefixes to filter the nodes by.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Returns canonicalized nodes as a string&return.falseforfailure;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Example with XPath query</title>
<para>
This example demonstrates advanced usage canonicalizing and filtering the nodes by an XPath query.
</para>
<programlisting role="php">
<![CDATA[
<?php
$dom = new DOMDocument();
$dom->loadXML(<<<XML
<root xmlns:food="urn:food">
<!-- redundant namespace declaration will be canonicalized -->
<food:fruit xmlns:food="urn:food">Apple</food:fruit>
<food:fruit>Orange</food:fruit>
<food:fruit>Pear</food:fruit>
<!-- vegetables here -->
<food:vegetable>Lettuce</food:vegetable>
</root>
XML);
echo $dom->C14N(true, false, [
"query" => ".//f:fruit|.//f:fruit/text()",
"namespaces" => ["f" => "urn:food"],
]);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
<food:fruit>Apple</food:fruit><food:fruit>Orange</food:fruit><food:fruit>Pear</food:fruit>
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><methodname>DOMNode::C14NFile</methodname></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->