[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
[Philosophical] What is an XML document?
- From: Roger L Costello <costello@mitre.org>
- To: "xml-dev@lists.xml.org" <xml-dev@lists.xml.org>
- Date: Sat, 4 Jun 2022 18:00:09 +0000
Hi Folks,
There is a file on my laptop that consists exclusively of these characters:
<Greeting>Hello, world!</Greeting>
Question: Is the file an XML document?
Answer: No, it is simply a text file.
Evidence to support my answer: I opened Notepad, dragged and dropped the file into Notepad, and subsequently Notepad displayed the file's content as a linear sequence of characters, i.e., text.
Philosophical Discussion:
An XML document is "in the eye of the beholder." That is, to Notepad my file is just text, but to Apache Xerces my file has a structure consistent with the XML specification and therefore -- to Xerces -- it is an XML document.
In order for a file to be considered an XML document, two things must align:
1. The application assessing the file must have internalized the grammar rules specified in the XML specification.
2. The application must process the file to determine that the file has a structure consistent with the grammar rules.
Only if 1 and 2 are satisfied may the application pronounce "Yes, this is an XML document."
Let's dig a bit deeper...
Clearly the following is a linear sequence of characters:
<Greeting>Hello, world!</Greeting>
It only becomes an XML document when an XML-aware application has processed it (assessed it) and determined compliance with the XML grammar. The most common method of determining if an input string conforms to a grammar is to lexically analyze the string into tokens and then see if the tokens matches a specified grammar; along the way an in-memory "parse tree" is created. If we successfully create a complete parse tree, then we have an XML document. If we have an XML document, then we have successfully created a complete parse tree. An XML document is a parse tree.
No one would deny that a parse tree is a "data structure." Therefore an XML document is a data structure.
Do you agree with my line of reasoning? Where does my logic go astray?
/Roger
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]