]> granicus.if.org Git - postgresql/commitdiff
Document more clearly on XML namespaces inside xpath function
authorBruce Momjian <bruce@momjian.us>
Sat, 3 Jul 2010 17:21:48 +0000 (17:21 +0000)
committerBruce Momjian <bruce@momjian.us>
Sat, 3 Jul 2010 17:21:48 +0000 (17:21 +0000)
Nikolay Samokhvalov

doc/src/sgml/func.sgml

index fd28615ae0ecc2c8559fee285fd747f18ef07b37..659da49a8498739108996799572b4cc3c327f72e 100644 (file)
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/func.sgml,v 1.520 2010/06/29 22:29:13 momjian Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/func.sgml,v 1.521 2010/07/03 17:21:48 momjian Exp $ -->
 
  <chapter id="functions">
   <title>Functions and Operators</title>
@@ -8610,8 +8610,11 @@ SELECT xmlagg(x) FROM (SELECT * FROM test ORDER BY y DESC) AS tab;
     mappings.  This array should be a two-dimensional array with the
     length of the second axis being equal to 2 (i.e., it should be an
     array of arrays, each of which consists of exactly 2 elements).
-    The first element of each array entry is the namespace name, the
-    second the namespace URI.
+    The first element of each array entry is the namespace name (alias), the
+    second the namespace URI. It is not required that aliases provided in
+    this array are the same that those being used in the XML document itself (in
+    other words, both in the XML document and in the <function>xpath</function>
+    function context, aliases are <emphasis>local</>).
    </para>
 
    <para>
@@ -8624,6 +8627,19 @@ SELECT xpath('/my:a/text()', '<my:a xmlns:my="http://example.com">test</my:a>',
 --------
  {test}
 (1 row)
+]]></screen>
+   </para>
+
+   <para>
+    How to deal with default (anonymous) namespaces:
+<screen><![CDATA[
+SELECT xpath('//mydefns:b/text()', '<a xmlns="http://example.com"><b>test</b></a>',
+             ARRAY[ARRAY['mydefns', 'http://example.com']]);
+
+ xpath
+--------
+ {test}
+(1 row)
 ]]></screen>
    </para>
   </sect2>