Hi

2018-01-23 8:13 GMT+01:00 Kyotaro HORIGUCHI <horiguchi.kyot...@lab.ntt.co.jp
>:

> Hello, I returned to this.
>
> I thouroughly checked the translator's behavior against the XPath
> specifications and checkd out the documentation and regression
> test. Almost everything is fine for me and this would be the last
> comment from me.
>
> At Fri, 24 Nov 2017 18:32:43 +0100, Pavel Stehule <pavel.steh...@gmail.com>
> wrote in <CAFj8pRB7Fs_2DrtUTGhTmQb+KReXPH6SG62hGWO3KVL_eZYCaA@
> mail.gmail.com>
> > 2017-11-24 18:13 GMT+01:00 Pavel Stehule <pavel.steh...@gmail.com>:
> >
> > >
> > >
> > > 2017-11-24 17:53 GMT+01:00 Pavel Stehule <pavel.steh...@gmail.com>:
> > >
> > >> Hi
> > >>
> > >> 2017-11-22 22:49 GMT+01:00 Thomas Munro <
> thomas.mu...@enterprisedb.com>:
> > >>
> > >>> On Thu, Nov 9, 2017 at 10:11 PM, Pavel Stehule <
> pavel.steh...@gmail.com>
> > >>> wrote:
> > >>> > Attached new version.
> > >>>
> > >>> Hi Pavel,
> > >>>
> > >>> FYI my patch testing robot says[1]:
> > >>>
> > >>>      xml                      ... FAILED
> > >>>
> > >>> regression.diffs says:
> > >>>
> > >>> + SELECT x.* FROM t1, xmltable(XMLNAMESPACES(DEFAULT 'http://x.y'),
> > >>> '/rows/row' PASSING t1.doc COLUMNS data int PATH
> > >>> 'child::a[1][attribute::hoge="haha"]') as x;
> > >>> + data
> > >>> + ------
> > >>> + (0 rows)
> > >>> +
> > >>>
> > >>> Maybe you forgot to git-add the expected file?
> > >>>
> > >>> [1] https://travis-ci.org/postgresql-cfbot/postgresql/
> builds/305979133
> > >>
> > >>
> > >> unfortunately xml.out has 3 versions and is possible so one version
> > >> should be taken elsewhere than my comp.
> > >>
> > >> please can me send your result xml.out file?
> > >>
> > >
> > > looks like this case is without xml support so I can fix on my comp.
> > >
> > >
> > fixed regress test
>
> (I wouldn't have found that..)
>
> I have three comments on the behavior and one on documentation.
>
> 1. Lack of syntax handling.
>
> ["'" [^'] "'"] is also a string literal, but getXPathToken is
> forgetting that and applying default namespace mistakenly to the
> astring content.
>
> 2. Additional comment might be good.
>
> It might be better having additional description about default
> namespace in the comment starts from "Namespace mappings are
> passed as text[]" in xpth_internal().
>
> 3. Inconsistent behavior from named namespace.
>
> | -     function context, aliases are <emphasis>local</emphasis>).
> | +     function context, aliases are <emphasis>local</emphasis>). Default
> namespace has
> | +     empty name (empty string) and should be only one.
>
> This works as the description, on the other hand the same
> namespace prefix can be defined twice or more in the array and
> the last one is in effect. I don't see a reason for
> differenciating the default namespace case.
>
>
> 4. Comments on the documentation part.
>
> # Even though I'm not sutable for commenting on wording...
>
> | +     Inside predicate literals <literal>and</literal>,
> <literal>or</literal>,
> | +     <literal>div</literal> and <literal>mod</literal> are used as
> keywords
> | +     (XPath operators) every time and default namespace are not applied
> there.
>
> *I*'d like to have a comma between the predicate and literals,
> and have a 'a' before prediate. Or 'Literals .. inside a
> predicate' might be better?
>
> 'are used as keywords' might be better being 'are identifed as
> keywords'?
>
> Default namespace is applied to tag names except the listed
> keywords even inside a predicate. So 'are not applied there'
> might be better being 'are not applied to them'?  Or 'are not
> applied in the case'?
>
> | +     If you would to use these literals like tag names, then the
> default namespace
> | +     should not be used, and these literals should be explicitly
> | +     labeled.
> | +    </para>
>
> Default namespace is not applied *only to* such keywords inside a
> predicate. Even if an Xpath expression contains such a tag name,
> default namespace still works for other tags. Does the following
> make sense?
>
> + Use named namespace to qualify such tag names appear in an
> + XPath predicate.
>
>
please, can you append examples of mentioned issues. I'll fix it faster.

Thank you very much

Pavel


>
>
> ===
> After the aboves are addressed (even or rejected), I think I
> don't have no additional comment.
>
>
> - This current patch applies safely (with small shifts) on the
>   current master.
>
> - The code looks fine for me.
>
> - This patch translates the given XPath expression by prefixing
>   unprefixed tag names with a special namespace prefix only in
>   the case where default namespace is defined, so the existing
>   behavior is not affected.
>
> - The syntax is existing but just not implemented so I don't
>   think no arguemnts needed here.
>
> - It undocumentedly inhibits the usage of the namespace prefix
>   "pgdefnamespace.pgsqlxml.internal" but I believe no one can
>   notice that.
>
> - The default-ns translator (xpath_parser.c) seems working
>   perfectly with some harmless exceptions.
>
>   (xpath specifications is here: https://www.w3.org/TR/1999/
> REC-xpath-19991116/)
>
>   Related unused features (and not documented?):
>     context variables ($n notations),
>     user-defined functions (or function names prefixed by a namespace
> prefix)
>
>   Newly documented behavior:
>     the default namespace isn't applied to and/or/div/mod.
>
> - Dodumentation looks enough.
>
> - Regression test doesn't cover the XPath syntax but it's not
>   viable.  I am fine with the basic test cases added by the
>   current patch.
>
> regards,
>
> --
> Kyotaro Horiguchi
> NTT Open Source Software Center
>
>

Reply via email to