RE: [xml] catalogs, include and import



Hi there,

I would say it should be this:
%windir%\system32\drivers\etc\xml

...only because %windir%\system32\drivers\etc is the existing "etc" 
directory on windows. 

Windows NT, and therewith 2k and XP, kernels have been made by the same
people who made VMS at digital some years ago. Well, it can be expected
that NT kernel is almost identical to VMS kernel and that directory
above is a remain from the past, more than anything else. 

Officially, that directory is private to the system TCP/IP software. It
should be left alone by the applications.

"%windir%" gets expanded to things like 
"C:\WINNT", depending on where Windows is installed. Maybe Igor has a 
better suggestion.

%CommonProgramFiles%\Xml\Catalog? Well, almost. That path sounds
naturally windowsish, but I have been told that NT4 does not have that
envvar.

I wouldn't personally object to an API function to set the 
location of 
the super catalog...

I believe noone ever objected to the XML_CATALOG_FILES envvar to set
that location.

I think I should do some debugging first. The specification
/etc/xml/catalog should select that directory on the current drive. IO
functions in MS C-runtime must understand slashes as directory
separators, as opposed to native API functions. If you start your
program in C:\prog, then the current directory is C:\prog and the
current drive is C:. Libxml should in that case select
C:\etc\xml\catalog as the default place and if it does not do this, then
it has a bug which cries for fixing.

Other than that, I see "[current_drive]:\etc\xml\catalog" as a
reasonable default on Windows, even if the place is somewhat unixish.
After all, following Windows philosophy in its entirety would mean:
* Distribute libxml commercially, claim licence fees yearly.
* Rather have your butt burned on low fire for a week than reveal the
source code.
* Offer commercial support and consulting.
* Be portable, means support all Windows incarnations.
* Be centric, means do not burden your customers with unnecessary
choices, means do not support other platforms.
* Stay in your directory and behind your registry key.
* If you need something, don't use an existing technology that is not
yours. Make your own proprietary alternative, which you can sell
separately afterwards.
* Expose all interfaces in a form of a registered COM server.
Does anyone here follow a single point from those above? See, in all we
do here, we break most fundamental Windows rules. An unixish default
path is a peanut. :-)

Ciao
Igor




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]