Opened 13 months ago

Closed 12 months ago

Last modified 12 months ago

#5436 closed defect (fixed)

Can't compile master, getting docbook error on address standardizer

Reported by: robe Owned by: strk
Priority: blocker Milestone: PostGIS 3.4.0
Component: build Version: 3.3.x
Keywords: Cc:

Description (last modified by strk)

make[1]: Entering directory '/projects/postgis/postgis-git/doc'
tag=tag_address_standardizer_required; \
/projects/xsltproc/xmllint --xpath "/config/tags/para[@role='$tag']/node()" xsl-config.xml > address_standardizer_required.tag.tmp && \
mv address_standardizer_required.tag.tmp address_standardizer_required.tag
XPath error : Invalid expression
C:/ming64gcc81/msys/config/tags/para[@role='tag_address_standardizer_required']/node()

Change History (11)

comment:1 by strk, 13 months ago

Description: modified (diff)

What version of xmllint do you have ?

This works for me, from the top source dir with libxml version 20913 (xmllint —version):

xmllint --xpath "/config/tags/para[@role='tag_Z_support']" doc/xsl-config.xml 

It returns:

<para role="tag_Z_support">
            <inlinemediaobject conformance="3d">
               <imageobject>
                 <imagedata fileref="images/check.png"/>
               </imageobject>
            </inlinemediaobject>
            This function supports 3d and will not drop the z-index.
        </para>

Maybe we can implement what we need (extracting a tag by an XPath expression) via xsltproc, given we are already using that for other things ?

in reply to:  1 comment:2 by robe, 13 months ago

Replying to strk:

What version of xmllint do you have ?

2.9.14

comment:3 by strk, 13 months ago

does inverting the quotes work ?

xmllint --xpath '/config/tags/para[@role="tag_Z_support"]' doc/xsl-config.xml 

comment:4 by strk, 12 months ago

With [d81ed384088daf42186c035b09d63128d67171f3/git] that code is gone and was replaced with direct use of xsltproc

comment:5 by strk, 12 months ago

Same problem with xsltproc:

/projects/xsltproc/xsltproc --stringparam xpath "/config/tags/para[@role='$tag']" -o address_standardizer_required.tag xsl/node_by_xpath.xsl xsl-config.xml
XPath error : Invalid expression
C:/ming64gcc81/msys/config/tags/para[@role='tag_address_standardizer_required']
  ^
dyn:evaluate() : unable to evaluate expression 'C:/ming64gcc81/msys/config/tags/para[@role='tag_address_standardizer_required']'

See https://winnie.postgis.net/job/PostGIS_EDB_Regress_winnie/16866/console

How '/config/' became 'C:/ming64gcc81/msys/config' I don't understand

comment:7 by Sandro Santilli <strk@…>, 12 months ago

In 24234cc/git:

[winnie] Disable path conversion

References #5436

comment:8 by strk, 12 months ago

If path conversion disabilitation doesn't work nicely one possible alternative could be adding a space before the slash in the xpath, like xpath " /config/tags/..."

comment:9 by Sandro Santilli <strk@…>, 12 months ago

In 45d18b8/git:

[winnie] Disable path conversion (msys2 has different syntax)

References #5436

comment:10 by strk, 12 months ago

Resolution: fixed
Status: newclosed

Seems to be fixed with the narrower skip of path replacement: https://winnie.postgis.net/job/PostGIS_EDB_Regress_winnie/16870/console

comment:11 by Sandro Santilli <strk@…>, 12 months ago

In a7c7770/git:

[winnie] disable path conversion for all scripts

References #5436

At least one winnie job seems to be using build_postgis.sh
instead of regress_postgis.sh, I'm not sure this is intentional, but
this commit should make that one work.

https://winnie.postgis.net/job/PostGIS_2_windows_PGVERSION_winnie/14540/consoleFull

This commit adds a shared file to be sourced by all scripts.
As a bonus, adds set -e to the package_postgis.sh, making it stop
on first failure.

Note: See TracTickets for help on using tickets.