XML Programming  «Prev  Next»

Lesson 2XML Learning Prerequisites
ObjectiveVerify that you have correct background for this course.

XML Learning Prerequisites

To gain the greatest benefit from this course, prior experience coding Hypertext Markup Language (HTML) is required. A basic knowledge of HTML tags and syntax is necessary to complete the exercises. A general understanding of
  1. Cascading Style Sheets (CSS),
  2. Dynamic HTML (DHTML), and
  3. Java applet technology
provides a helpful introduction for some material, but is not necessary to complete the eweb course.
Before diving into XML (eXtensible Markup Language), a student should have a basic understanding of markup languages, particularly HTML (Hypertext Markup Language). HTML and XML share similarities as they are both used for structuring information, but XML is more flexible and designed for structured data storage and exchange rather than just presentation. Knowing the syntax of HTML, including how to use tags, attributes, and elements, will give students a head start in understanding XML's syntax. They should be familiar with concepts like nesting elements, attribute usage, and the importance of proper tag closure. Additionally, understanding the difference between well-formed documents (which both HTML and XML strive to be) and valid documents (which are specific to XML when adhering to a schema) will provide context to XML's structure and purpose.
Beyond HTML, a good grasp of basic computing concepts is essential. Students should know what text encoding is because XML documents are often encoded in UTF-8 or other Unicode formats to handle various languages and special characters. Familiarity with file systems, how data is stored, and basic command line or file manipulation will help when dealing with XML files. Understanding the concept of data interchange formats, even if just in theory, prepares students for XML's role in data exchange between disparate systems. Lastly, while not strictly necessary, some background in database concepts can be beneficial as XML is often used for data description in database applications. This includes an awareness of data types, data organization, and the idea of schemas which XML uses in a similar, though different, manner. All these prerequisites will make learning XML more intuitive and less daunting.


XML History

XML stands for Extensible Markup Language (presumably the original authors thought that sounded more exciting than EML) and its development and usage have followed a common path in the software and IT world. It started out more than ten years ago and was originally used by very few; later it caught the public eye and began to pervade the world of data exchange. Subsequently, the tools available to process and manage XML became more sophisticated, to such an extent that many people began to use it without being really aware of its existence. Lately there has been a bit of a backlash in certain quarters over its perceived failings and weak points, which has led to various proposed alternatives and improvements. Nevertheless, XML now has a permanent place in IT systems and it is hard to imagine any non-trivial application that does not use XML for either its configuration or data to some degree. For this reason it is essential that modern software developers have a thorough understanding of its principles, what it is capable of, and how to use it to their best advantage. This course can give the reader all those things.
XML does not do anything and was created to structure, store, and transport information. In the next Lesson, I will explain the XML Course Prerequisites.

XML Course Prerequisites and Platform Support


You can take this course on Windows, Macintosh, or Linux platforms.
Software/Parser
To complete the required course exercises, you will need a text editor such as Notepad, XMLSPY, or XML Notepad from Microsoft.
How To Use XML Notepad to Create an XML Document
You will also need a browser such as Google Chrome, Mozilla Firefox, or Microsoft Internet Explorer. One optional exercise requires that you download a parser.
Instructions for downloading this parser can be found at the Setting up software page.

XML Origins

When XML first emerged in 1997 to immediate and massive media attention, reasonable people could disagree as to whether it was for real or just another overhyped acronym. Those disagreements are over: XML is for real. Initially intended as a technology for structured and linked documents, it has embedded itself deeply into the fabric of distributed Internet applications: XML is used to describe data formats, data types, data transformations, data linking, data transfer, and data processing. Although the world of XML is large and growing, its foundations remain unchanged. These foundations are set down in two documents
  1. XML 1.0 and
  2. XML Namespaces.

Both of which are recommendations issued by W3C, the World Wide Web Consortium. W3C, in case you have not visited their Web site yet, is the organization that is primarily responsible for the infrastructure of the Web, including XML. Its recommendations are de facto standards. All of the W3C recommendations, together with working drafts and other kinds of technical reports, can be found at www.w3c.org/TR.
Although introductory, the following modules will feature examples that you can test and experiment with. These examples will not go beyond the foundations, and I will try to make them readable and self-explanatory. All examples are presented within a framework that makes it possible to experiment with them even before the framework is completely explained.

XML 1.0 and Namespaces in XML provide a tag-based syntax for structuring data and applying markups to documents. Documents that conform to XML 1.0 and Namespaces in XML specifications may be made up of a variety of syntactic constructs such as elements, namespace declarations, attributes, processing instructions, comments, and text. This module provides a description of each of the structural elements in XML along with their syntax.
In the next Lesson, the course material will be discussed.


SEMrush Software