Slashdot Mirror


Tim Bray On The Origin Of XML

gManZboy writes "Queue just posted an interview with XML co-inventor Tim Bray (currently at Sun Microsystems). Interestingly enough the interviewer is none other than database pioneer Jim Gray (currently at Microsoft). Among other things, in their discussion Tim reveals where the idea for XML actually came from: Tim's work on the OED at Waterloo."

10 of 218 comments (clear)

  1. Lisp strikes again by Dancin_Santa · · Score: 5, Funny

    How's that old saying go?

    Those that do not understand Lisp are doomed to reinvent it, badly.

    Why can't someone reinvent C so that it sucks less?

  2. Re:here's my question.. can you decrypt this? by Segway+Ninja · · Score: 5, Funny

    You should be in a padded cell, but someone forgot to close it.

  3. The Origin of XML by TimeTraveler1884 · · Score: 5, Funny

    That's hogwash. Everyone knows that the idea for XML came from the tablets of stone that Moses brought down from Mount Sinai. In these tablets were the beginnings of self-describing data. That alone was where the commandments of W3C was originally sent out to the world.

    But only in the last decade have scholars used transformation style sheets and super-computers to find more declarative complex types, hidden in the original Hebrew CDATA. It is thought there are tens if not hundreds of specifications in these texts that may never have a finalized draft.

    Progress has been slow, while the discovery of SOAP in the 1800's has made the hygiene of data possible, there much that has yet to be standardized. Considering the aging DTD schemas left from the era of King James, it will be crucial to the data-exchange of humanity to uncover more secrets of XML.

  4. Re:here's my question.. can you decrypt this? by Anonymous Coward · · Score: 5, Funny

    More correctly that, in a, say, riddle.html, should read (notice the closing ):

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    < html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>Riddle</title>
    <link rel="stylesheet" href="/design/default.css" type="text/css" title="Default Stylesheet" />
    </head>
    <body>
    <table>
    <tr>
    <td class="example">I'm</td>
    </tr>
    </table>
    <p class="W3C">
    <a class="debug external" href="http://validator.w3.org/check?uri=referer">< img class="debug" src="http://www.w3.org/Icons/valid-xhtml11" alt="Valid XHTML 1.1!" /></a>
    <a class="debug external" href="http://jigsaw.w3.org/css-validator/check/ref erer"><img class="debug" src="http://jigsaw.w3.org/css-validator/images/vcs s" alt="Valid CSS!" /></a>
    </p>
    </body>
    </html>

    With a corresponding /design/default.css like:
    td.example { padding: 5px; }
    p.W3C { display: none; }

    Additionally you should take care that your .htaccess includes (to correct the application/xhtml+xml to text/html for IE & Co...):
    RewriteEngine on
    RewriteBase /
    RewriteCond %{HTTP_ACCEPT} application/xhtml\+xml
    RewriteCond %{HTTP_ACCEPT} !application/xhtml\+xml\s*;\s*q=0
    RewriteCond %{REQUEST_FILENAME} \.html$
    RewriteCond %{THE_REQUEST} HTTP/1\.1
    RewriteRule .* - [T=application/xhtml+xml]

    Of course there's a serious lack of meta-data here, The padding should be given in cm (or any other absolute measure) or em and it's not fulfilling W3C Accessability Guidelines... :-P

    And now I need to overcome the Lameness filter, oh dear... I assume it's the whitespace which I used for indentation. *shrugs* It doesn't help so far, sometimes I wonder how I'm supposed to write real comments including code examples here. Slashdot sure ssems stupid sometimes.

  5. Semantic web snake oil... by Alomex · · Score: 5, Interesting

    TB: I spent two years sitting on the Web consortium's technical architecture group, on the phone every week and face-to-face several times a year with Tim Berners-Lee. To this day, I remain fairly unconvinced of the core Semantic Web proposition.

    Everyone who has actually done work on knowledge representation in the real world knows that this is a huge, difficult problem, unlikely to be solved anytime soon, as Tim Bray claims.

    The only people who claim otherwise are either frauds or ignorant. The Semantic Web initiative has both: Tim Berners-Lee is very smart, but not a computer scientist, so he's not aware of the size of the challenge, plus he's a genuinely nice person, so he tends to trust others too much.

    He has surrounded himself with the snake oil AI salesmen from the early 1980s who had promised us impending ubiquitous intelligent computers. Those fraudsters got found out back then, and spent the next fifteen years in academic limbo, only to be rescued by Tim Berners-Lee naivete.

  6. Re:Why, oh why, did they have to repeat the tag na by Alomex · · Score: 5, Insightful

    why the hell does the end tag name have to be repeated?

    Because that is the single biggest source of headaches in parsing SGML, the precursor of XML, in which such a construct is allowed.

    It also makes error recovery very difficult, something that we know is quite important from all that malformed HTML code out there. The XML creators knew that too.

  7. Intra-vendor XML is (usually) stupid by mi · · Score: 5, Interesting
    It drives me up the wall, that my employer is using XML to let parts of their own application communicate with other parts. DTDs are not used and all parts still need to be modified/recompiled whenever one of them changes. Same people maintain both ends of the communication.

    Theirs is, in reality, a proprietory format, but to stay buzz-word compliant they use XML, which hurts performance -- sometimes dearly...

    For example, to pass a couple of thousands of floating-point numbers from front end to a computation engine, each is converted to text string with something like <Parameter> around it. The giant strings (memory is cheap, right?) are kept in memory until the whole collection is ready to be sent out... The engine then parses the arriving XML and fills out the array of doubles for processing.

    It really is disgusting, especially since freely available alternatives exist... For instance, PVM solved the problem of efficiently passing datasets between computers a decade ago, but nooo, we only studied XML in college -- and it is, like, really cool, dude...

    --
    In Soviet Washington the swamp drains you.
  8. What it should have looked like by Anonymous Coward · · Score: 5, Insightful

    I think XML should have looked more like this:

    (html
    (head
    (title "This is an example"))
    (body
    (h1 "A first level header")
    (p "There's no reason for all the extra characters.")
    (p "Although this looks like LISPy HTML it could have all the features of XML")))
  9. Re:Oh boy... by Faust · · Score: 5, Funny

    hi!

  10. Re:Please explain by Anonymous Coward · · Score: 5, Informative

    johannesg writes: "I've heard this quote in relation to XML before, and I don't get it. LISP is a programming language. XML is a method for storing data. About the only relation between the two that I can find is that both use nesting. So, why does this get brought up whenever XML is being discussed?"

    Lisp source code is first parsed into S-expressions before being compiled. The programmer can manipulate these S-expressions to generate new programming constructs.

    S-expressions are nested lists of dynamically typed data. The compiler turns these nested lists into bytecode or assembly code. But before this happens you're able to manipulate a well defined, concise and platform independent data format. The format is so useful that it is also used to store and transport non-code.

    Here's a Lisp function call nested within another function call:

    (/ (+ 1 2 3) 6)

    [i.e. add 1, 2, and 3 together and then divide by 6] Let's first give different names to the function operators:

    (divide (plus 1 2 3) 6)

    Now introduce redundancy by duplicating the opening function names:

    (divide (plus 1 2 3 /plus) 6 /divide)

    Translate the dynamically typed integers to explicit type indentifiers:

    (divide (plus (integer 1 /integer) (integer 2 /integer) (integer 3 /integer)) (integer 6 /integer) /divide)

    Now convert the parentheses and spaces to angle brackets to generate XML:

    <divide>
    <plus>
    <integer>1</integer>
    <integer>2</integer>
    <integer>3</integer>
    </plus>
    <integer>6</integer>
    </divide>

    Lisp S-expressions are a method for storing/expressing data AND code. They have less overhead than XML, solve more problems than XML (comfortably human readable programming languages can also be written in S-expressions, e.g. Scheme and Common Lisp) and they were invented decades earlier.

    Regards,
    Adam Warner