Bug 246755

Summary: Meinproc4 --param options not allowing . in directory path
Product: [Websites] docs.kde.org Reporter: David Hubner <hubn3rd>
Component: ksgmltoolsAssignee: Documentation Editorial Team <kde-doc-english>
Status: RESOLVED FIXED    
Severity: normal CC: lueck, luigi.toscano
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In: 4.14.0
Sentry Crash Report:

Description David Hubner 2010-08-05 02:44:26 UTC
Version:           CVS (using KDE 4.5.0) 
OS:                Linux

It seems meinproc4 will not allow a hidden directory in an --output directory which is a problem here http://lists.kde.org/?l=kde-doc-english&m=125624299320708&w=2 ( Under problem 2 ) 

This is because the xsltApplyStylesheet parameters is passed the output file location 

params.append( qstrdup( "outputFile" ) );
params.append( qstrdup( args->getOption( "output" ).toLocal8Bit() ) );

Not sure why but by the looks its to do with share/apps/ksgmltools2/docbook/xsl/html/math.xsl


Reproducible: Always

Steps to Reproduce:
Do something like meinproc4 --stylesheet=/usr/share/apps/khelpcenter/glossary.xslt -o /home/hubnerd/.kde4/foo.html /home/hubnerd/Code/Documentation/infosummary/index.docbook --check 


Actual Results:  
XPath error : Invalid expression
/home/hubnerd/.kde4/foo.html
               ^
runtime error
Evaluating user parameter utputFile failed ( <-- Where did the O go? )  


Expected Results:  
Nothing displayed, docbook html made.
Comment 1 Burkhard Lück 2011-07-19 19:30:44 UTC
@ David Hubner:
I remember you wrote in a mail you probably know how to fix that?

Please add this info here.

Thanks
Comment 2 Luigi Toscano 2014-03-08 23:55:52 UTC
Git commit 4406199290ab5192c178929fbc56a272e2fa8d7b by Luigi Toscano.
Committed on 08/03/2014 at 23:55.
Pushed by ltoscano into branch 'master'.

The outputFile parameter is not used by the stylesheets, don't pass it

This solve an old issue: if a directory starts with ".", it was passed
unquoted to libxslt which would complain with an error like:
-------------------
XPath error : Invalid expression
/home/kde-devel/.cache5/khelpcenter/help/__home__kde-
devel__kde__share__doc__HTML__en__kioslave__file__index.docbook
                     ^
runtime error
Evaluating user parameter outputFile failed
-------------------
Excluding the parameter on windows-only was just a workaround, but most
probably the issue has been on UNIX systems too for a long time.

Another way to solve the bug is quoting the _value_ of the parameter using
single quotes '...', but anyway in this case the name of output file is
not used, or I can't find any occurrence in the stylesheets.
The stylesheet is applied and the name of the file is used only after
to write the generated XML (see tranform() function).
REVIEW: 116604

M  +0    -10   src/meinproc.cpp

http://commits.kde.org/kdoctools/4406199290ab5192c178929fbc56a272e2fa8d7b
Comment 3 Luigi Toscano 2014-03-08 23:56:38 UTC
Git commit 05f7e41b476ec1a5e6fb2f2efc0411885a4d7ee1 by Luigi Toscano.
Committed on 08/03/2014 at 23:55.
Pushed by ltoscano into branch 'master'.

The outputFile parameter is not used by the stylesheets, don't pass it

This solve an old issue: if a directory starts with ".", it was passed
unquoted to libxslt which would complain with an error like:
-------------------
XPath error : Invalid expression
/home/kde-devel/.cache5/khelpcenter/help/__home__kde-
devel__kde__share__doc__HTML__en__kioslave__file__index.docbook
                     ^
runtime error
Evaluating user parameter outputFile failed
-------------------
Excluding the parameter on windows-only was just a workaround, but most
probably the issue has been on UNIX systems too for a long time.

Another way to solve the bug is quoting the _value_ of the parameter using
single quotes '...', but anyway in this case the name of output file is
not used, or I can't find any occurrence in the stylesheets.
The stylesheet is applied and the name of the file is used only after
to write the generated XML (see tranform() function).

Backport from the similar fix applied on frameworks.

M  +0    -10   kdoctools/meinproc.cpp

http://commits.kde.org/kdelibs/05f7e41b476ec1a5e6fb2f2efc0411885a4d7ee1