> Would the XUL project from Netscape's Mozilla be of any
> use in this regard? XUL is basically an XML based way
> of constructing user interfaces:
> http://www.mozilla.org/xpfe/
The home page for Glade, a GTK+ user interface builder:
http://glade.pn.org/
seems to imply it can produce XML interface description files:
Glade can produce C source code itself. C++, Ada95, Python &
Perl support is also available, via external tools which process
the XML interface description files output by Glade (see the
Links page).
That might imply that the XML gets turned into C++ code for C++ support,
except that the Links page points to a page with information about
various bits of software including "libglade":
http://www.daa.com.au/~james/gnome/
which "is a library that performs a similar job to the C source output
routines in the GLADE user interface builder. Whereas GLADE's output
routines create C code that can then be compiled, libglade builds the
interface from an XML file (GLADE's save format) at runtime. This way
you can change the look of a program without needing to recompile."
I wonder if there's any page that lists XML-based projects that don't
involve just making Boring Old Documents with it? I think there may be
more than one project to use XML as a format for configuration files,
and there's a page at
http://www.geocities.com/ResearchTriangle/Forum/6751/
for an interesting project "devoted to changing the UNIX de facto
standard for inter-process communication and storage from line-based
ASCII records to XML", so that, for example:
ls -l --xml /
would produce output such as
<?XML version="1.0" ?>
<!DOCTYPE UNIX>
<COLLECTION>total 51
<DIRECTORY NAME="bin" MODE="755" USER="root" GROUP="root" SIZE="2048"
MODIFIED="922062673l" >drwxr-xr-x 2 root root 2048 Mar 22 1999
bin</DIRECTORY>
<DIRECTORY NAME="boot" MODE="755" USER="root" GROUP="root" SIZE="1024"
MODIFIED="917089762l" >drwxr-xr-x 2 root root 1024 Jan 23 22:09
boot</DIRECTORY>
<FILE NAME="bootsect.lnx" MODE="644" USER="root" GROUP="root" SIZE="512"
MODIFIED="922025029l" >-rw-r--r-- 1 root root 512 Mar 22 1999
bootsect.lnx</FILE>
.......
</COLLECTION>
and you could have programs such as "sort" and terminal emulators
understand the data; for example, the "How it Works" section:
http://www.geocities.com/ResearchTriangle/Forum/6751/#anchor4
whence that came, says:
An XMLterm can be programmed so that when you click on a directory such
as "/tmp", it tells the shell to "cd /tmp".
Also "XMLsort" can sort on the size of a file directly since the
XML output of "ls" explicitly identifies the size by the tag.
i.e. instead of
ls -l / | sort -n +4
you have:
ls -l --xml | XMLsort -size
The "Downloads" section has source code to a modified "ls" that can
produce XML, an XML grep called "sggrep" (I don't know if the "sg"
implies it can handle the stuff they removed from SGML to mak L or
not), and a terminal emulator.