Around 14 o'clock on Feb 19, [EMAIL PROTECTED] wrote:
> I know that XML is the computer religion du jure, but as David and > others have mentioned, the bulk of the problems are from situations > where users are required to adjust the configuration files to deal with > problems in the X server. The trouble is that many of us instinctively recoil from any wildly popular new mechanism assuming that it's being misapplied again and again. Most of the time, this is true. I've been considering this issue for several years and have had many separate people suggest that perhaps XML is a good fit for this job; please bear with me as we try to rid ourselves of our common predjudices against anything we see in the popular press. We need persistant X server configuration, not just to accomodate problems in the X server and the hardware, but also to adjust user preferences such as mouse button arrangements, font paths, display resolutions and refresh rates. Reasonable defaults will never eliminate the need for many users to adjust the way the X server starts and runs. Certainly the prime goal should be to miminize the size of the configuration file and have the defaults work most of the time. Because the bulk of the users of XFree86 have no interest or time to learn yet another configuration language, I submit that they'd be much happier if there were a variety of tools designed to adjust their X server configuration; we don't have that today, even though we do have code that can read and write the existing configuration file. That code is not widely understood, and is buried inside the XFree86 distribution, and is only reasonably accessible from C or C++ programs. Using a standard file format, such as XML, means that XFree86 needn't provide interfaces to edit the configuration file -- many existing libraries are available for applications to choose from. Some of these libraries are very powerful, more so than anything we're likely to develop and make developing the configuration interface significantly easier. Adopting an existing standard leverages the knowledge of the developers and users about that standard. Promoting a separate language means that developers and users start from ground zero with our system. The mystic quoting rules, and the strange separators might feel natural to people used to editing the configuration file, but I doubt such people form a significant fraction of the overall XFree86 user population. Another advantage of XML is that when using these standard libaries, the comments and formatting of unedited portions of configuration file remain intact -- precisely what people often complain about machine edited configurations. That means you can use a configuration tool to adjust portions of the configuration you don't feel comfortable messing with manually while still retaining important comments and formatting for other areas of the configuration file. > Then we should design our schema before releasing anything. I have > dealt with various schema and have designed some XML schema. Absolutely. Using XML starts with a reasonable DTD with documentation about how the various elements are tied together; any ad-hoc development is doomed to failure. This is how I approached font configuration and several good suggestions came out of the DTD development discussion. Extending the DTD for driver-specific functionality is one of the more powerful features of XML; right now, we've got the 'option' escape hatch that most of the configuration falls into; that's a lot like networking on NT where every operation is an IOCTL (even reads and writes); you lose a lot of semantic content by restricting your syntax so severely. An extensible format means that drivers can build reasonable descriptive structures instead of a mass of incomprehensible options. There's an obvious tradeoff here; we need to be rigorous in making things consistent while still permitting enough flexibility to capture new driver features. The existing XFree86 configuration mechanism is viewed by our users as a trial-by-fire -- getting your X server working is a rite of passage for the new user; a hazing I'd like to see eliminated for most people, and minimized for even those interested in fine-tuning their environment. Keith Packard XFree86 Core Team Compaq Cambridge Research Lab _______________________________________________ Xpert mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/xpert