[MarkLogic Dev General] Weird case of relative paths breaking in xquery modules.

Lee, David dlee at epocrates.com
Tue Aug 3 15:38:00 PDT 2010


The import statements in all other working xquery files in sibling directories are identical to the one that doesn't work, 

David A Lee

On Jul 31, 2010, at 1:35 PM, "Geert Josten" <Geert.Josten at daidalos.nl> wrote:

> Hi David,
> 
> Just for the sake of completeness, can you mention the import details of another xquery in which they do work? Are there perhaps other differences with between that module and the one giving problems? Main versus library module or things like that?
> 
> Kind regards,
> Geert
> 
>> 
> 
> 
> drs. G.P.H. (Geert) Josten
> Consultant
> 
> Daidalos BV
> Hoekeindsehof 1-4
> 2665 JZ Bleiswijk
> 
> T +31 (0)10 850 1200
> F +31 (0)10 850 1199
> 
> mailto:geert.josten at daidalos.nl
> http://www.daidalos.nl/
> 
> KvK 27164984
> 
> 
> De informatie - verzonden in of met dit e-mailbericht - is afkomstig van Daidalos BV en is uitsluitend bestemd voor de geadresseerde. Indien u dit bericht onbedoeld hebt ontvangen, verzoeken wij u het te verwijderen. Aan dit bericht kunnen geen rechten worden ontleend.
> 
>> From: general-bounces at developer.marklogic.com
>> [mailto:general-bounces at developer.marklogic.com] On Behalf Of
>> Lee, David
>> Sent: vrijdag 30 juli 2010 21:35
>> To: General at developer.marklogic.com
>> Subject: [MarkLogic Dev General] Weird case of relative paths
>> breaking in xquery modules.
>> 
>> I have some xquery modules in a tree hierarchy in the Modules
>> database.
>> Every page works fine but one.  This page includes modules like this:
>> 
>> import module namespace core =
>> "http://epocrates.com/marklogic/modules/core" at
>> "../../../modules/core.xquery" ;
>> import module namespace mesh =
>> "http://epocrates.com/marklogic/modules/mesh" at
>> "../../../modules/mesh.xquery" ;
>> 
>> The file (absolute) this is in is
>> /Clinical/html/ClinicalBrowser/mesh/mesh_descriptor.xquery
>> 
>> The included files are in
>> /Clinical/modules/core.xquery
>> /Clinical/modules/mesh.xquery
>> 
>> 
>> The HTTP Server is mapped to /Clinical/ as its root directory.
>> 
>> In this *one page only* I get errors
>> 
>> 2010-07-30 13:50:47.500 Notice: Clinical_APP: XDMP-TEXTNODE:
>> /html/modules/mesh.xquery -- Server unable to build program from non
>> 2010-07-30 13:50:47.500 Notice: Clinical_APP: XDMP-TEXTNODE:
>> /html/modules/core.xquery -- Server unable to build program from non
>> 
>> 
>> However if I cange this *one page only* to use
>> import module namespace core =
>> "http://epocrates.com/marklogic/modules/core" at
>> "/modules/core.xquery" ;
>> import module namespace mesh =
>> "http://epocrates.com/marklogic/modules/mesh" at
>> "/modules/mesh.xquery" ;
>> 
>> It works fine.
>> 
>> (without touching permissions on anything).
>> 
>> 
>> I have several other pages in the same directory which use
>> the previous relative paths and they all work.
>> 
>> Any ideas how a single xquery file in the same diretory will
>> mis-calculate the relative path to a imported module ?
>> 
>> Note that the absolute path should be
>> 
>> /Clinical/modules/core.xquery
>> 
>> and the App relative path should be
>>    /modules/core.xquery
>> 
>> But the error is showing that ML is looking in
>> /html/modules/core.xquery
>> 
>> it appears to be missing looking at one of the "../"
>> directories ... but only in this file !!!
>> 
>> 
>> 
>> ----------------------------------------
>> 
>> David A. Lee
>> 
>> Senior Principal Software Engineer
>> 
>> Epocrates, Inc.
>> 
>> dlee at epocrates.com <mailto:dlee at epocrates.com>
>> 
>> 812-482-5224
>> 
>> 
>> 
>> 
> _______________________________________________
> General mailing list
> General at developer.marklogic.com
> http://developer.marklogic.com/mailman/listinfo/general


More information about the General mailing list