You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-users@xerces.apache.org by ContentServ GmbH - Alois Blaimer <ab...@contentserv.com> on 2008/10/14 16:00:28 UTC
Xerces-C++ 3.0.0: Pathnames: Difference on Windows and Mac
Hallo,
I am using Xerces-C++ 3.0.0.
The following Xerces code works different on Windows XP and on Macintosh
(Mac OS X 10.5.4).
Windows:
On Windows it behaves correct. The code writes a XML-Document in a file
in the correct path.
Macintosh:
On Macintosh a file is generated whose filename exists out of the path
plus the intended filename and which lays in the root.
e.g. goutputfile is "Macintosh HD:test:document.xml". The result is that
a file is generated with the long filename "Macintosh
HD/test/document.xml".
char goutputfile[256];
strcpy(goutputfile, path.GetPlatformString().c_str());
if ( strlen(goutputfile) > 0 )
myFormTarget = new LocalFileFormatTarget(goutputfile);
else
myFormTarget = new StdOutFormatTarget();
DOMLSOutput *theOutputDesc =
((DOMImplementationLS*)impl)->createLSOutput();
theOutputDesc->setByteStream(myFormTarget);
DOMLSSerializer *theSerializer =
((DOMImplementationLS*)impl)->createLSSerializer();
theSerializer->write(rootElem, theOutputDesc);
How can I stop this behaviour on Macintosh?
Alois Blaimer
Developer
Re: Xerces-C++ 3.0.0: Pathnames: Difference on Windows and Mac
Posted by Alberto Massari <am...@datadirect.com>.
Hi Alois,
the Xerces 3.0 infrastructure only supports POSIX file names on Mac (and
Xerces 2.x did the same on Mac OS X 10).
Alberto
ContentServ GmbH - Alois Blaimer wrote:
> Hallo,
>
>
>
> I am using Xerces-C++ 3.0.0.
>
>
>
> The following Xerces code works different on Windows XP and on Macintosh
> (Mac OS X 10.5.4).
>
>
>
> Windows:
>
> On Windows it behaves correct. The code writes a XML-Document in a file
> in the correct path.
>
>
>
> Macintosh:
>
> On Macintosh a file is generated whose filename exists out of the path
> plus the intended filename and which lays in the root.
>
> e.g. goutputfile is "Macintosh HD:test:document.xml". The result is that
> a file is generated with the long filename "Macintosh
> HD/test/document.xml".
>
>
>
>
>
> char goutputfile[256];
>
> strcpy(goutputfile, path.GetPlatformString().c_str());
>
>
>
> if ( strlen(goutputfile) > 0 )
>
> myFormTarget = new LocalFileFormatTarget(goutputfile);
>
> else
>
> myFormTarget = new StdOutFormatTarget();
>
>
>
> DOMLSOutput *theOutputDesc =
> ((DOMImplementationLS*)impl)->createLSOutput();
>
> theOutputDesc->setByteStream(myFormTarget);
>
>
>
> DOMLSSerializer *theSerializer =
> ((DOMImplementationLS*)impl)->createLSSerializer();
>
>
>
> theSerializer->write(rootElem, theOutputDesc);
>
>
>
>
>
> How can I stop this behaviour on Macintosh?
>
> Alois Blaimer
> Developer
>
>
>
>
>