[as-devel] Re: XML (was: 1.8 ?)

Ethan (allanon@crystaltokyo.com)
Fri, 30 Jul 1999 00:57:20 -0700 (PDT)



On Wed, 28 Jul 1999, Albert Dorofeev wrote:

> I have had some experience with the new stuff, technology,
> rules, file formats etc. I suppose that while XML may be
> gaining some popularity it is not quite as widespread as
> HTML. As far as I understood XML is somewhat like HTML.
> Now, why do those companies that produce HTML decoders keep
> putting out new and new versions of their browsers and those
> browsers keep crashing? Do you think it is really as easy
> as snapping fingers? I have big reservations about *any*
> new technology. I could use XML for a little applet, for
> example, no big deal to rewrite it from scratch later.
> But a window manager? No, I would not do it.

XML (like HTML) is a subset of SGML, and thus shares many properties 
with HTML.  However, the differences are important.  Unlike HTML, XML is 
not being worked on by commercial companies whose main goal is to make 
their products look like they use open standards while in fact being as 
incompatible as possible with their competitors.  XML has no optional end 
tags.  XML has no optional language features.  XML has very few native 
"tags" (like ENTITY), and there is never more than one way to interpret 
them.  Basically, XML has none of the "features" that force companies to 
continually fix their HTML browsers.

I can certainly understand your reluctance to embrace XML - I felt much 
the same way when the idea using XML was first suggested to me.  I'm 
still not entirely sure that XML would be the best way to go, but I think 
it opens up some nice options.

XML parsers (like Sasha's new configuration code) create a memory 
structure of the whole config file.  This would make creating integrated 
look & feel files which don't necessarily completely replace the already 
loaded look & feel (themes, anyone?) easier.

XML (also like Sasha's new code) provides a mechanism for nesting 
options.  This might also help with themes:

<config apps="afterstep,Wharf,WPager">
  <!-- general configuration options -->
  ...
</config>
<config apps="afterstep">
  <!-- AfterStep-specific options -->
  ...
</config>

XML can handle all of our current options with a more consistent format 
(okay, I haven't checked each one, but I believe this to be true :).

XML is easily readable by both machine and human.  A general XML 
configuration tool could be written, which knows nothing about AfterStep, 
and could still be used to configure AS.  It wouldn't be nearly as pretty 
as ascp, though. :)  Also, ascp itself could incorporate rudimentary 
support for unknown features (ie, unknown to ascp) by allowing entry of 
tags and attributes directly.  This is much like an HTML editor, which 
allows editing of the raw HTML.  Since XML also provides a consistent way 
to define the format of a file, AS could provide a document type 
definition (DTD) which defines all known tags and attributes, allowing 
ascp to give hints to users about new features.

As I said, though - I'm not prepared to do all the work of switching to 
XML myself.  I'm going to drop this subject until someone expresses 
support of XML.

----
Ethan Fischer
allanon@crystaltokyo.com
http://members.xoom.com/allanon1