I'm using xcode (1.5) with the default gcc 3.3 and OS (10.3.8) and the latest 
xerces (2.6 I believe, this behavior was the same for other recent releases).

We're initializing the parser with:

    xercesc::XMLPlatformUtils::Initialize();
 
    mParser.reset( new xercesc::XercesDOMParser() );
    mParser->setValidationScheme( xercesc::XercesDOMParser::Val_Always );
    mParser->setDoNamespaces( false );
    mParser->setDoSchema( true );
    mParser->setCreateCommentNodes( false ); // No comment nodes
    mParser->setIncludeIgnorableWhitespace( false ); // No text nodes

    mErrHandler.reset( (xercesc::ErrorHandler*)new xercesc::HandlerBase() );
    mParser->setErrorHandler( mErrHandler.get() );

And passing the file string to
     parser->parse( xmlFile.c_str() );

where parse is a pointer to the already initialized parser.

If I pass in
        ../../../configuration.xml

The parser looks for the file configuration.xml in the root directory. If its 
not there 
then I get an exception message of

        The primary document entity could not be opened. 
Id=//../../../configuration.xml

Note the extra "/"'s in front of the string that I passed in. 

Thanks for your help.

Steve


-----Original Message-----
From: James Berry [mailto:[EMAIL PROTECTED]
Sent: Wed 3/16/05 10:07 AM
To: xerces-c-dev@xml.apache.org
Cc: Smith, Steven J (PNNL/JGCRI)
Subject: Re: Relative paths in C++ on Macintosh OS X
 
Steve,

I don't know of a problem in this area. I've used relative paths 
successfully. But your setup may be somewhat different.

Can you provide more information about the context in which  you're 
seeing this issue? Build environment? Compiler? What API you're passing 
the relative path to? Can you duplicate the issue with a test program?


On Mar 15, 2005, at 9:20 AM, Steve Smith wrote:

> I'm having difficulty getting the Xerces-C++ parser to use relative 
> paths on Mac OS X. Using absolute paths works fine.
>
> But when I try to pass the parser a path such as
>     ../../../configuration.xml

Note that it's puzzling why the path above gets converted into an 
absolute path as below... It looks like the current directory is root. 
Xerces should be calling getcwd to fetch the current directory (and 
does so at XMLParsePathToFSRef_X in MacOSPlatformUtils.cpp.

-jdb

>
> I get an error:
> The primary document entity could not be opened. 
> Id=//../../../configuration.xml
>
> Do I need to use the routines in MacOSPlatformUtils.hpp to help with 
> this somehow?
>
> Any help on this would be appreciated.
>
> Thanks,
>
> Steve
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to