[Home] [By Thread] [By Date] [Recent Entries]

  • From: Roger L Costello <costello@m...>
  • To: "xml-dev@l..." <xml-dev@l...>
  • 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]


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member