Journal prestidigital's Journal: The XML Revolution, OOP, and Natural Language Computing
You can't do anything on the Internet anymore without running into XML. For that matter, more and more user applications are exploiting/relying on XML. XML is used for everything from the bulky, pretty front end to the lean and mean back end. One need not go far to be convinced of both.
Naturally, there is no shortage of debate about whether or not this is a good thing. It might be possible to boil all the arguments against to something like: "XML is too bulky. All those unecessary characters..." It's been called "hideously verbose" and "more complex than it [should] be," and (more citations)...
Certainly, if you are writing assembly code to be burned to a chip, then XML may be of little importance. But in the context of mainstream computing - the Internet, desktop and PDA apps, business systems integration - XML is undeniably significant. (If XML is involved with a technology that can search 3 billion documents and return 100,000 records in
The next claim I intend to make is a slight diversion, not as easy to defend, and sure to offend (though I mean no offense): No matter how you slice it and dice it, "mainstream computing" is Object-Oriented. Why? Because the world is object-oriented. People are object-oriented. As far as I am concerned, it's just as simple as that. A file is an object, a table is an object, a document is an object, a server is an object, etc., etc., etc.
Why is this important? Because XML is uniquely suited for an object-oriented world.
Consider this view: an XML element is the serialization of an Object. An XML element can be deserialized to create an instance of an Object. Objects have type. This type is represented by the XML element. Objects have attributes. These attributes are represented by the attributes of the XML element. Objects can be nested (i.e., contain other objects). This nesting is represented as a tree structure of nested XML elements.
<!-- Window element represents instance of Window class. x, y, w, and h represent primitive Attributes of class Window. -->
<Window name="A Window" x="10" y="10" w="80" h="60">
<!-- backgroundColor represents an Attribute that is also an Object of type Color. -->
<backgroundColor r="0" g=".5" b="0" a=".5"/>
</Window>
<!-- another example... -->
<Model name="The Box" url="box.lwo">
<position x="0" y="1" z="0"/>
</Model>
Furthermore XML processing instructions can name functions or "processors" and specify values for their parameters.
<?lib name="ogl_1_1" action="unload"?>
<?lib name="dx_8_1" action="load"?>
...
Is XML a bridge to true natural language computing?
The XML Revolution, OOP, and Natural Language Computing More Login
The XML Revolution, OOP, and Natural Language Computing
Slashdot Top Deals