Extensible Markup Language (XML) is a standard for document markup endorsed by World Wide Web Consortium (W3C). It defines a generic syntax used to mark up data with simple, human-readable tags.
It was designed to provide a standard format for computer documents that are flexible enough to be customized for domains as diverse as web sites, electronic data interchange, vector graphics, genealogy, real estate listings, object serialization, remote procedure calls, voice mail systems, and others. XML defines the rules for encoding documents in a format that is both human-readable and machine-readable.
Although XML is a markup language, like HTML, it has no tags of its own. Rather, it allows the person writing the XML to create whatever tags they need, on the condition that they adhere to the rules of the XML specification. In a sense, XML is a markup language used to create other XML-based markup languages.
XML isn't limited to a particular set of markup. Users create their own markup to suit the data and document needs. The flexibility of XML has led to its widespread use for exchanging data in a multitude of forms.
Users can write their own programs that interact with and manipulate the data in XML documents, with access to a wide range of free libraries that can read and write XML, or they can use off-the-shelf software, such as web browsers and text editors, to work with XML documents.
Without a fixed set of tags and elements that are designed to work for everyone, XML allows developers and writers to invent whatever elements they need as they need them. Chemists can use elements that describe molecules, atoms, bonds, reactions, and so on, while real estate agents can use elements that describe apartments, rents, commissions, and other items needed for real estate.
Although XML doesn't include predefined tags, it does include very specific rules about the syntax of an XML document. While XML is flexible in the elements that it allows, it is strict in other respects. The XML specification defines a grammar for XML documents that dictate where tags may be placed, what they must look like, which element names are legal, how attributes are attached to elements, and so forth. This grammar is specific enough to allow the development of XML parsers that can read any XML document.
XML specifications define an XML document as a well-formed document when it satisfies a list of syntax rules provided in that specification. Documents that contain violations of the rules for a well-formed document are simply not considered to be XML. An XML processor will cease normal processing when encountering such violations. In addition to being well-formed, an XML document may be valid. A valid document is one that contains a reference to a Document Type Definition (DTD), and whose elements and attributes are declared in that DTD, following the grammatical rules for them as specified by the DTD. XML documents are classified as validating or non-validating according to whether or not they check XML documents for validity. A processor that detects a validity error must be able to report it, although it may continue normal processing.
A DTD is a type of schema, or grammar. Schema languages usually constrain the set of elements that may be used in a document, which attributes may be applied to them, the order in which they may appear, and the allowable parent-child relationships. The oldest XML schema language is the DTD, inherited from SGML. A newer schema language, which the W3C has named the successor of DTDs, is XML Schema, often referred to as XSD.
The purpose of this guide is to recommend online resources for the XML markup language.
 
 
Recommended Resources
Academic Tutorials: XML Tutorial
Extensible Markup Language is a flexible way of creating common information formats to share both the format and the data on the web. Instructional articles on all aspects of XML are presented, including an introduction to XML files and their uses, syntax rules, elements, attributions, validators, browser support, viewing XML files, and using CSS with XML. Examples of how XML can be used are put forth. Online quizzes on XML instruction are also included.
http://www.academictutorials.com/XML/
Produced by the Apache Software Foundation, Xerces is a collection of software libraries used in parsing, validating, serializing, and manipulating XML. The library implements several standard APIs for XML parsing, including DOM, SAX, and SAX2, and is available in the Java, C++, and Perl programming languages. It provides fully conforming XML Schema processors. Release information, installation instructions, and samples are presented.
http://xerces.apache.org/
The LogiLab site is a public free software forge supported by LogiLab and built on the CubicWeb semantic web framework. XMLTools is a set of high-level tools to facilitate the use of XML in Python, featuring two PyGTK widgets, XMLTree and XMLEditor, which are used to display and edit XML documents in a graphical fashion. The tools may be downloaded from the site, and support tickets may be put in. Test reports are included.
https://www.logilab.org/2552/
Intended as a primary resource for web users, authors, developers, publishers and other interested persons, and originally maintained on behalf of the World Wide Web Consortium’s XML Special Interest Group, this is a list of frequently asked questions about the Extensible Markup Language (XML), with answers to the most common questions people ask about XML. The full document is also available for download in several formats. Various translations are included.
http://xml.silmaril.ie/
Beginning in 2006, Tutorials Point was created from the idea that some people respond better to online content, and the ability to learn new skills at their own pace. Its tutorial on Extensible Markup Language is designed to teach beginning to understand basic and advanced concepts related to the language, teaching the basics of XML. It is divided into sections, such as XML Basics, Advanced XML, and XML Tools, each of which includes instructions with simple examples.
https://www.tutorialspoint.com/xml/
W3Schools is a web developer site which provides instruction on a variety of web technologies, including the issuance of web certificates upon completion of certificate courses, its XML tutorial will introduce Extensible Markup Language, as well as how it works, how it can be used, and what it can be used for. Related standards and technologies, such as XML AJAX, DOM, XPath, XSLT, XQuery, DTD, Scheme, and XML services are included. Examples and a quiz are featured.
https://www.w3schools.com/xml/
Created by Carl Hendy, the site is focused on providing tutorials and guides for Extensible Markup Language (XML), including articles and links to other resources covering XML basics, XML Extensible Stylesheet Language (XML XSL), XML Document Type Definitions (XML DTD), XML Document Object Models (XML DOM), XML Really Simple Syndication (XML RSS), Extensible Business Reporting Language (XBRL), and XHTML. Also included are XML examples.
https://www.xmlfiles.com/
Hosted in Germany, the online XML validator provides for the validation of an XML document by copying it into a document field or uploading it to the site. The validation check is performed against any XML schema or DTD declared inside the HTML document. If neither an XML schema nor a DTD is declared, then only a syntax check will be performed. To validate the XML document against an external XML schema, the user will check a box to that effect.
https://xmlvalidation.com/
The site contains curated information intended for professionals in fields where XML is commonly used, including the publishing and healthcare industries. Created in 1996 by Textuality Services, O’Reilly Media, and the Seybold Group, it has been operated solely by Textuality Services since 2016, although legacy material from O’Reilly remains. Featured authors are highlighted, and articles are displayed chronologically, with newer material at the top. A job board is included.
https://www.xml.com/
The XML Browser framework provides the functionality to associate Markers with directories, files, XML documents and nodes in an XML document. Services and Actions can be associated to inspect and manage these marked items. Default services include a simple XML editor and viewer. The XML editor is a text-based XML editor used to edit XML documents in the Browser application. It includes all of the basic functions needed in an XML editor. It may be downloaded for free from SourceForge.
http://www.xngr.org/