Bug #4404
closedSaxon v9.9.1.5 Still Yields "URI has an authority component" Exceptionwhen using UNC paths
0%
Description
Good Day Support,
I expected this issue to be addressed in the 9.9.1.5 maintenance release as told by Michael. However I did not see anything addressing this issue in the release notes and the issue is persisted in v9.9.1.5.
RE: https://saxonica.plan.io/issues/4280 and https://saxonica.plan.io/issues/4289
Updated by Michael Kay about 5 years ago
I have re-read the long and complex thread for the previous bugs. Clearly we need to start again. It appears we fixed the test case that we were using, which must have differed in some material respect from your test case, so I think it would be useful if you can describe precisely what you are doing and how it fails, so that we can produce a test case that resembles your situation more closely. Please be as specific as possible, including giving all relevant software versions.
Updated by Kevon Hayes about 5 years ago
Sure Michael,
When using the expath file function with a UNC path and exception is thrown. <xsl:variable name="filename" select="concat('file://', '_myFile.xml')"/>
Updated by Kevon Hayes about 5 years ago
NOt sure why this didn't show above
<xsl:variable name="filename"
select="concat('file://', '_NOC.xml')"/>
Updated by O'Neil Delpratt about 5 years ago
- Status changed from New to In Progress
- Assignee set to O'Neil Delpratt
Investigating this issue.
Updated by O'Neil Delpratt about 5 years ago
Hi Kevon,
We have tried the following query:
file:exists('//server/xmark/filename.xml')
And it returns true.
We also noticed that if we append file:
to the filename: file:exists('file://server/xmark/filename.xml')
this returns false. This is expected because file:exists expects a filename not a URI. We need to understand what you are doing and how it fails.
Updated by Kevon Hayes about 5 years ago
Can you supply your code example? If not I can upload a video of the .NET application and show you it always yields the error stated above.
Updated by O'Neil Delpratt about 5 years ago
We were running the Query from the command-line. After looking into a simple API example. I can see that file:exists('//server/xmark/filename.xml')
returns false.
Looking into this more closely.
Updated by O'Neil Delpratt about 5 years ago
Hi Kevon,
Please ignore comment 9 as I had a typo in my filename. Using the XPath API (should work similar with the XSLT API) the following works for me:
Processor p = new Processor(true);
XPathCompiler c = p.NewXPathCompiler();
c.XPathLanguageVersion = ("3.1");
c.DeclareNamespace("file","http://expath.org/ns/file");
XPathExecutable e = c.Compile("file:exists('//server/xmark/doc.xml')");
XPathSelector s = e.Load();
bool result = s.EffectiveBooleanValue();
Please can you send us a small program which we can run at our end to reproducible the exists
function failing in the way you have described.
Updated by O'Neil Delpratt about 5 years ago
- Status changed from In Progress to AwaitingInfo
Updated by Michael Kay about 4 years ago
- Status changed from AwaitingInfo to Closed
Closed as we have received no response to our request for further information.
Please register to edit this issue