[xsd-users] relative paths and path lengths

Eric Niebler eric at boostpro.com
Wed May 26 10:41:43 EDT 2010


Hi Boris,

We recently ran into an interesting problem with the xsd compiler. It
seems that when resolving relative paths in include and import
directives, it keeps concatenating them. Given a rich enough set of
schemata scattered around a deep directory hierarchy, this ginormous
relative path exceeds some internal maxpath, causing relative paths to
fail to resolve correctly. We end up with something like this:

1>xsd .\ZAViewFramework.xsd
1>..\..\..\Common\Views\ZAViewFramework\..\..\Framework\ZAFC\..\..\Math\Framework\ResultBroker\..\..\..\Math\Framework\CalUtil\..\..\..\Utility\ZAUtil\ZAAuxil.xsd:6:57:
error: '../ZAAuxil/ZAAuxil.xsd' is not a valid filesystem path
1>..\..\..\Common\Views\ZAViewFramework\ZAViewFramework.xsd:196:72:
error: unable to resolve namespace
'http://www.zephyrassociates.com/Zephyr/TeDevelopersKit/Schema'
1>Project : error PRJ0019: A tool returned an error code from "xsd
.\ZAViewFramework.xsd"

It complains that ../ZAAuxil/ZAAuxil.xsd is not a valid filesystem path,
but it certainly is, and the file exists.

We only discovered this problem when a new guy came on board and checked
our project out into a directory that was already deeply nested. It
builds for everyone but him. When he uses the 'subst' command to map his
deeply nested directory to a drive letter, it works for him, too. Any help?

FYI, we're using XSD 3.2.0.

TIA,

-- 
Eric Niebler
BoostPro Computing
http://www.boostpro.com



More information about the xsd-users mailing list