2016-11-24 5:52 GMT+01:00 Pavel Stehule <pavel.steh...@gmail.com>: > Hi > > 2016-11-24 0:13 GMT+01:00 Alvaro Herrera <alvhe...@2ndquadrant.com>: > >> Oh my, I just noticed we have a new xpath preprocessor in this patch >> too. Where did this code come from -- did you write it all from >> scratch? >> > > I wrote it from scratch - libxml2 has not any API for iteration over XPath > expression (different than iteration over XPath expression result), and > what I have info, there will not be any new API in libxml2. > > There are two purposes: > > Safe manipulation with XPath expression prefixes - ANSI SQL design > implicitly expects some prefix, but it can be used manually. The prefix > should not be used twice and in some situations, when it can breaks the > expression. >
Implicit prefix for column PATH expressions is "./". An user can use it explicitly. In my initial patches, the manipulations with XPath expression was more complex - now, it can be reduced - but then we lost default namespaces support, what is nice feature, supported other providers. > > Second goal is support default namespaces - when we needed parser for > first task, then the enhancing for this task was not too much lines more. > > This parser can be used for enhancing current XPath function - default > namespaces are pretty nice, when you have to use namespaces. > > >> >> -- >> Álvaro Herrera https://www.2ndQuadrant.com/ >> PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services >> > >