[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] [Philosophical] What is an XML document?
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] |
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|