REBOL Technologies

XML, SGML, HTML, CSS, XSL, XHTML, DHTML, SHTML, ...

Carl Sassenrath, CTO
REBOL Technologies
21-Jan-2005 20:54 GMT

Article #0110
Main page || Index || Prior Article [0109] || Next Article [0111] || Post Comments || Send feedback

It looks like I got the party started with my comments about XML.

One astute reader responded:

The quoting problem can be resolved by implementing SGML's
minimizations. The markup would then look a lot more like
a REBOL object -- for example, appropriate DTD declarations
can make many end tags optional in SGML

Yes, that is a good point. But then, I can do the same with any parser compiler like YACC, etc. The question is, why should I be required to do that? If people think XML is complex, SGML is much more so (and indeed more powerful).

I think the question comes down to simply this: what level of complexity are you willing to deal with to create distributed applications?

At least for me, I would like to focus my attention on the application itself not on creating and debugging endless descriptions of metadata.

I should clarify that my XML article was not meant to say that XML will be replaced any day soon nor to imply that REBOL will replace it. What I really want to communicate is that we don't need to make everything complex all the time. There are times when simple solutions work quite well. I think massively successfull designs of all kinds such as HTTP, CGI, Google, and others prove that simpler is better. If people can understand it, they are more likely to use it.

The proliferation of markup languages like HTML, XHTML, DHTML, SHTML, XSL, etc. and the differences between them exposes the complexity flaw of the entire markup technique.

I think it is quite ironic that the document type definition (DTD) used on modern markup documents does not even use the standard markup method itself. For example, the first line of a document has:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">

Rather than using a markup directly (like you might use for an HTML <meta> tag), the quoted string requires another sub-language that is not at all like markup. Now code needs to parse -//W3C//DTD HTML 4.01//EN too.

REBOL also includes a type of "document" header. All content begins with a REBOL header that is itself written in REBOL, not some other language:

REBOL [
    Title: "MakeDoc 2 - The REBOL Standard Document Formatter"
    Version: 2.5.4
    Copyright: "REBOL Technologies 1999-2005"
    Author: "Carl Sassenrath"
    File: %makedoc2.r
    Date: 10-Jan-2005
    Purpose: {
        This is the official MakeDoc document formatter that is used by
        REBOL Technologies for all documentation.
    }
]

The benefit of course is that we do not require yet another language to parse and process these headers.

If your reply is that, "well, the DTD is an exception to the case", then what's the excuse for CSS? That's yet another and different language buried within XML/HTML (and I emphasize ML here) definition. You write:

body {font-size: medium; font-weight: normal;}
p {font-size: inherit;}
h1 {color: #000000;}

The so-called "perfect way" of expressing information (XML) does not even use it's own pure lexical form for the expression of CSS information. (Or, saying it in REBOL words: CSS is not a dialect of XML.) I would not be at all surprised to discover that the creators of CSS, during their design phase, decided that they wanted to avoid the overly complicated, inefficient style of XML.

What then does that imply about XML itself?

Post Comments

Updated 17-Nov-2017   -   Copyright Carl Sassenrath   -   WWW.REBOL.COM   -   Edit   -   Blogger Source Code