Hi Folks,
When writing programs we use a sequence of digit characters such as 1234 to represent an integer value. We use the + character to represent the addition operation.
What does the word “represent” mean? From the above sentences I surmise that the word “represent” is used when you have one thing that is used in place of another thing. Here are a couple graphics I created showing this:
<image001.png>
I said that the word “represent” is used when you have one thing (I’ll refer to this by “A”) that is used in place of another thing (I’ll refer to this by “B”). Why don’t we use B? After all, B is the thing that we are really interested in, right? Why do we use A? Take 1234. It represents a thing, but what? The above graphic shows it representing a “certain integer.” That’s pretty vague. Can we be more concrete? Perhaps 1234 represents a binary encoding:
10011010010
But isn’t that binary encoding another representation? Yes it is.
1234 and 10011010010 represent an abstract thing. In fact, they represent the same abstract thing. What does “abstract thing” mean? It means a thing that humans made up and doesn’t have an objective reality.
If the things being represented are abstract/amorphous/not-objective-reality, then it seems clear that we will need some way to represent them if we are to have meaningful discussions and if we are to process them. What does it mean to “process” a thing that is abstract/amorphous/not-objective-reality? We don’t. Instead, we process its representation. The history of mathematics and computing has shown that 1234 and 10011010010 are useful ways to represent a thing (i.e., some particular integer).
Let’s get to XML. Consider the following XML:
<Book>
<title>The Emperor's New Mind</title>
<author>Roger Penrose</author>
<isbn>0-19-286198-0</isbn>
<publisher>Oxford University Press</publisher>
</Book>
Does the XML represent a thing? If so, what?
<image002.png>
Per the XML specification, the XML represents a tree of elements. What does that mean, “per the XML specification”? It means, per XML parsers. To XML parsers the XML represents a tree of elements, as this graphic shows:
<image003.png>
Most assuredly, to an XML parser the XML does not represent a book.
On the other hand, for an application that is specifically coded to process XML instances of the type shown above, the XML does represent a book. Notice that I did not say “for an application that is specifically coded to process books.” Book is one of those abstract/amorphous/not-objective-reality things. Applications cannot process books. But applications can process XML instances.
Those are my musings for this Saturday morning. I welcome your corrections and/or additions.
/Roger (armchair philosopher)