XML Documentation

Extensible Markup Language (XML) provides a significant advance in how data is described and exchanged by Web-based applications using a simple, flexible standards-based format. Hypertext markup language (HTML) enables universal methods for viewing data; XML provides universal methods for working directly with data.


XML, DTD, and Schemas

XML is the universal language for data on the Web. It gives developers the power to deliver structured data from a wide variety of applications to the desktop for local computation and presentation. XML allows the creation of unique data formats for specific applications. It is also an ideal format for server-to-server transfer of structured data.

The document type definition (DTD) defines the valid syntax of a class of XML documents. That is, it lists a number of element names, which elements can appear in combination with which other ones, what attributes are available for each element type, etc. A DTD uses a different syntax from that used by XML documents.

Schemas combine concepts from DTDs, relational databases, and object-oriented design. Schemas, outlined in the XML-Data proposal submitted to the W3C, can describe the structure of XML documents, databases, direct-label graphs, and other, similar organizations of data. Schemas supply additional semantic information to documents that are not available in DTDs and contain new facilities such as data types, inheritance, and extensibility. In addition, schemas use the same syntax as XML documents, rather than the unique syntax used by DTDs. Schema components are reusable through the facility of XML namespaces.

See www.microsoft.com/xml/  for more information.

Notes:


XML Glossary

Element - fundamental logical unit of an XML document, used to store the system's data.

Attribute - source of additional information about an element, used for meta-data (e.g. datatypes).

Entity - a reference to other data that often acts as an abbreviation or a shortcut.


Data Types

The following table lists the data types supported by the MSXML parser in Microsoft® Internet Explorer 5.0.

Data type Parse type Automation types COM types
string pcdata VT_BSTR BSTR
number A number, with no limit on digits, can potentially have a leading sign, fractional digits, and, optionally, an exponent. Punctuate using U.S. English rules. VT_BSTR BSTR
int A number, with no optional sign, no fractions, no exponent VT_14 long
float Same as for "number" VT_R8 double
fixed.14.4 Same as for "number," but no more than 14 digits to the left of the decimal point and no more than 4 to the right VT_CY large_integer
boolean "1" or "0" VT_BOOL int
dateTime.iso8601 A date in a subset ISO 8601 format, with optional time and no optional zone. Fractional seconds can be as precise as nanoseconds. VT_DATE long
dateTime.iso8601tz A date in a subset ISO 8601 format, with optional time and optional zone. Fractional seconds can be as precise as nanoseconds. VT_DATE long
date.iso8601 A date in a subset ISO 8601 format (no time) VT_DATE long
time.iso8601 A time in a subset ISO 8601 format, with no date and no time zone VT_DATE long
time.iso8601tz A time in a subset ISO 8601 format, with no date but an optional time zone VT_DATE long
i1 A number, with optional sign, no fractions, no exponent VT_I1 char
i2 A number, with optional sign, no fractions, no exponent VT_I2 short
i4 A number, with optional sign, no fractions, no exponent VT_I4 long
i8 A number, with optional sign, no fractions, no exponent VT_CY large_integer
ui1 A number, unsigned, no fractions, no exponents VT_UI1 unsigned char
ui2 A number, unsigned, no fractions, no exponents VT_UI2 unsigned short
ui4 A number, unsigned, no fractions, no exponents VT_UI4 unsigned long
ui8 A number, unsigned, no fractions, no exponents VT_CY unsigned large_integer
r4 Same as "number" VT_FLOAT float
r8 Same as "number" VT_DOUBLE double
float.IEEE.754.32 Same as "number" VT_FLOAT float
float.IEEE.754.64 Same as "number" VT_DOUBLE double
uuid Hexadecimal digits representing octets, optional embedded hyphens that should be ignored VT_BSTR GUID
uri Universal Resource Identifier VT_BSTR BSTR
bin.hex Hexadecimal digits representing octets VT_ARRAY safearray or stream
char String VT_UI2 wchar
string.ansi String containing only ascii characters <= 0XFF VT_ARRAY safearray