Bug 104989 - Problem with FILTERXML-Function in Basic (IllegalArgumentException)
Summary: Problem with FILTERXML-Function in Basic (IllegalArgumentException)
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: BASIC (show other bugs)
Version:
(earliest affected)
5.2.3.3 release
Hardware: All All
: medium normal
Assignee: Eike Rathke
QA Contact:
URL:
Whiteboard: target:6.0.0 target:5.4.0.1 target:5.3.5
Keywords: bibisected, bisected, regression
Depends on:
Blocks:
 
Reported: 2016-12-29 19:47 UTC by Ralph
Modified: 2017-06-15 21:10 UTC (History)
4 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ralph 2016-12-29 19:47:21 UTC
Description:
I would like to use the FILTERXML-Function in a Basic-macro, but I always get an IllegalArgumentException. Even using the example from Leif Lodahl's blog (http://lodahl.blogspot.de/2013/12/libreoffice-now-has-built-in-xml-parser.html) does not work for me. Here's the code snippet:
Dim oFunctionAccess http://www.lipsum.com/feed/xml?amount=2&what=paras&start=Yes"
oFunctionAccess = GetProcessServiceManager().createInstance( "com.sun.star.sheet.FunctionAccess" )   
data = oFunctionAccess.callFunction("WEBSERVICE",array("))
Lipsum = oFunctionAccess.callFunction("FILTERXML", array(data, "/feed/lipsum" ))
Using the FILTERXML-function in the spreadsheet returns the correct value. 

Steps to Reproduce:
Run macro (see above)


Actual Results:  
IllegalArgumentException

Expected Results:
Cras ultrices malesuada tellus id bibendum......


Reproducible: Always

User Profile Reset: No

Additional Info:


User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:50.0) Gecko/20100101 Firefox/50.0
Comment 1 Buovjaga 2017-01-03 19:27:59 UTC
Reproduced with Leif's example

Sub Main
svc = createUnoService( "com.sun.star.sheet.FunctionAccess" ) 'Create a service to use Calc functions
XML_String = svc.callFunction("WEBSERVICE",array("http://www.lipsum.com/feed/xml?amount=2&what=paras&start=Yes"))
Lipsum = svc.callFunction("FILTERXML", array(XML_String, "/feed/lipsum" ))
Print Lipsum
End Sub

Arch Linux 64-bit, KDE Plasma 5
Version: 5.4.0.0.alpha0+
Build ID: fc0d4e6bc43d5f982452df07930f5ecf5927ad22
CPU Threads: 8; OS Version: Linux 4.8; UI Render: default; VCL: kde4; 
Locale: fi-FI (fi_FI.UTF-8); Calc: group
Built on December 31st 2016
Comment 2 Stang 2017-03-20 14:13:48 UTC
Did some testing with this function with LO versions on hand.

It has been working through version 5.2.0.4  but did not work in version 5.2.3.3

Do not have versions in between but that should narrow it down.
Comment 3 raal 2017-03-24 17:54:42 UTC
This seems to have begun at the below commit.
Adding Cc: to Eike Rathke ; Could you possibly take a look at this one?
Thanks

673fd98d31d5028e58e531a9f2b33c192bd28a93 is the first bad commit
commit 673fd98d31d5028e58e531a9f2b33c192bd28a93
Author: Jenkins Build User <tdf@pollux.tdf>
Date:   Thu Sep 29 03:44:33 2016 +0200

    source sha:7d733e16513a1b9413303d60feb03c5a0de941fc
    
    source sha:7d733e16513a1b9413303d60feb03c5a0de941fc

author	Eike Rathke <erack@redhat.com>	2016-08-17 13:58:42 (GMT)
committer	Eike Rathke <erack@redhat.com>	2016-08-17 14:01:47 (GMT)
commit	7d733e16513a1b9413303d60feb03c5a0de941fc (patch)
tree	e5ef06b8dfbd4d4943459f2c616d1f449ac20361
parent	190f0685c866b6232564c9d207456d3292d7a551 (diff)
Resolves: tdf#88257 handle FILTERXML array/matrix context
... in which subsequent node elements are to be stored in the result
matrix.
Comment 4 Eike Rathke 2017-06-15 09:45:45 UTC
Investigating.
Comment 5 Commit Notification 2017-06-15 10:07:54 UTC
Eike Rathke committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=e6abe9c3d06d6776e05bef93b5e6f87b403ea967

Ensure all cases push an error return, tdf#104989 related (not the cause)

It will be available in 6.0.0.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 6 Commit Notification 2017-06-15 11:06:25 UTC
Eike Rathke committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=033d018a3a1d345d61f3c4dc4da693cdd4004dea

Resolves: tdf#104989 a matrix/array formula cell needs to have dimensions

It will be available in 6.0.0.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 7 Eike Rathke 2017-06-15 12:23:52 UTC
Pending review
https://gerrit.libreoffice.org/38830 for 5-4
https://gerrit.libreoffice.org/38832 for 5-3
Comment 8 Commit Notification 2017-06-15 19:04:45 UTC
Eike Rathke committed a patch related to this issue.
It has been pushed to "libreoffice-5-4":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=df5b20f737d4f56f86a6d19f509e13294c313d89&h=libreoffice-5-4

Resolves: tdf#104989 a matrix/array formula cell needs to have dimensions

It will be available in 5.4.0.1.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 9 Commit Notification 2017-06-15 21:04:45 UTC
Eike Rathke committed a patch related to this issue.
It has been pushed to "libreoffice-5-4":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=134c9a76690d17a1a8a3c339ef4ef8cbe0b8841d&h=libreoffice-5-4

Ensure all cases push an error return, tdf#104989 related (not the cause)

It will be available in 5.4.0.1.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 10 Commit Notification 2017-06-15 21:10:17 UTC
Eike Rathke committed a patch related to this issue.
It has been pushed to "libreoffice-5-3":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=b85a1921585d70323c1c10ea6a7d29f1aa00ed25&h=libreoffice-5-3

Resolves: tdf#104989 a matrix/array formula cell needs to have dimensions

It will be available in 5.3.5.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.