Refresher/XML

This is a refresher course for those who need to review basic knowledge of XML.

Basic Concepts

 * Character data example: <![CDATA[ John Smith ]]>
 * Document Object Model (DOM) a cross-platform, language-independent convention for representing and interacting with objects in HTML, XHTML and XML documents
 * Document Type Definition (DTD): markup declarations defining a document type for an SGML-family markup language (SGML, XML, HTML). XML uses a subset of SGML DTD
 * Extensible Markup Language (XML): markup language defines rules for encoding documents in a format both human-readable and machine-readable
 * Extensible Stylesheet Language (XSL): a family of languages used to transform and render XML documents
 * Semantics: the study of meaning and the relation between signifiers
 * XML data binding: a means of representing information in an XML document as a business object in computer memory
 * XML document structure: must have root tag, be case sensitive and close all tags
 * XML for Analysis (XMLA): an industry standard for data access in analytical systems, such as OLAP and data mining
 * XML namespaces: used for providing uniquely named elements and attributes in an XML document, WPF Example 1: Because of xmlns:="..." and xmlns:x="...",  has 2 name resolutions StackPanel and x:Name
 * XML Path Language (XPath): a non-XML language, used by XSLT, for addressing the parts of an XML document
 * XQuery: programming language designed to query XML data collections
 * XSL Formatting Objects (XSL-FO): an XML language for specifying the visual formatting of an XML document
 * XSL Transformation (XSLT): an XML language for transforming XML documents

Serialization

 * Binary serialization: serializing an object in binay format -- entire object state is saved and instance identity is preserved
 * Deserialization: reverse of serialization
 * marshalling (similar to serialization): the process of transforming the memory representation of an object to a data format suitable for storage or transmission
 * serialization: converting a data structure into a format that can be stored and "resurrected" later
 * Unmarshalling: reverse of marshalling and similar to deserialization
 * XML serialization: serializing an object into an XML file

XML Schema

 * Processing instruction -- Syntax <?PITarget PIContent?> -- Example 
 * XML Schema: description of a type of XML document and is one of several XML schema languages
 * Schema is an abstract collection of metadata, consisting of a set of schema components
 * Schema components: element and attribute declarations and complex and simple type definitions
 * Schema documents: the source language definitions of schema components