Hi!!

I have an strange behavior between 11.4 and 10.3 with xpath function:

With pgsql 10.3 i have:
  select  xpath('@idc', '<p idc="4776" rc="Cuadro" idrg="5"/>' ) ;
  xpath
  --------
  {4776}
  (1 fila)

and with pgsql 11.4:
  select  xpath('@idc', '<p idc="4776" rc="Cuadro" idrg="5"/>'::xml ) ;
   xpath
  -------
   {}
  (1 fila)

Now, if change the expression with "//":
select  xpath('//@idc', '<p idc="4776" rc="Cuadro" idrg="5"/>'::xml ) ;
 xpath
--------
 {4776}
(1 fila)

In release notes for postgresql 11 say:


   -

   *Correctly handle relative path expressions in xmltable(), xpath(), and
   other XML-handling functions (Markus Winand)*

   *Per the SQL standard, relative paths start from the document node of
   the XML input document, not the root node as these functions previously
   did.*

Despite this note I do not undertand why it behaves differently ... or
maybe I do not understand the note well ... what do you think?

thanks in advance!

regards!

Reply via email to