|
 |
Extensible Markup Language (XML) |
|
|
|
Extensible Markup Language (XML)
Extensible Markup Language (XML) is a simple, very flexible text format
derived from SGML (ISO 8879). Originally designed to meet the challenges
of large-scale electronic publishing, XML is also playing an increasingly
important role in the exchange of a wide variety of data on the Web and
elsewhere.
Extensible Markup Language
The Extensible Markup Language (XML) is a W3C-recommended general-purpose markup language for
creating special-purpose markup languages, capable of describing many different kinds of data. In
other words XML is a way of describing data and an XML file can contain the data too, as in a
database. It is a simplified subset of Standard Generalized Markup Language (SGML). Its primary
purpose is to facilitate the sharing of data across different systems, particularly systems
connected via the Internet. Languages based on XML (for example, Geography Markup Language (GML),
RDF/XML, RSS, Atom, MathML, XHTML, SVG,Klip and MusicXML) are defined in a formal way, allowing
programs to modify and validate documents in these languages without prior knowledge of their form. |
|
Features of XML
XML provides a text-based means to describe and apply a tree-based structure to information. At its
base level, all information manifests as text, interspersed with markup that indicates the information's separation into a hierarchy of character data, container-like elements, and attributes
of those elements.
XML makes no prohibitions on how it is used. Although XML is fundamentally text-based, software quickly emerged to abstract it into other, richer formats, largely through the use of
datatype-oriented schemas and object-oriented programming paradigms (in which the document is manipulated as an object). Such software might treat XML as serialized text only when it needs to
transmit data over a network, and some software doesn't even do that much. Such uses have led to "binary XML", the relaxed restrictions of XML 1.1, and other proposals that run counter to XML's
original spirit and thus garner an amount of criticism.
Strengths
Some features of XML that make it well-suited for data transfer are:
* its simultaneously human- and machine-readable format;
* it has support for Unicode, allowing almost any information in any human language to be
communicated;
* the ability to represent the most general computer science data structures: records, lists and
trees;
* the self-documenting format that describes structure and field names as well as specific
values;
* the strict syntax and parsing requirements that allow the necessary parsing algorithms to
remain simple, efficient, and consistent.
XML is also heavily used as a format for document storage and processing, both online and offline,
and offers several benefits:
* its robust, logically-verifiable format is based on international standards;
* the hierarchical structure is suitable for most (but not all) types of documents;
* it manifests as plain text files, unencumbered by licenses or restrictions;
* it is platform-independent, thus relatively immune to changes in technology;
* it and its predecessor, SGML, have been in use since 1986, so there is extensive experience
and software available.
|
| |
Extensible Stylesheet Language (XSL) |
|
| Extensible Stylesheet Language
The extensible Stylesheet Language (XSL) is a family of languages which
allows one to describe how files encoded in the XML standard are to be
formatted or transformed. There are three languages in the family:
* XSL Transformations (XSLT): an XML language for transforming XML documents
* XSL Formatting Objects (XSL-FO): an XML language for specifying the
visual formatting of an XML document
* the XML Path Language (XPath): a non-XML language used by XSLT, and
also available for use in non-XSLT contexts, for addressing the parts
of an XML document.
These three specifications are available in the form of W3C Recommendations.
XSL Formatting Objects
XSL Formatting Objects are less widely supported. Most, if not all, current
implementations are only partial. FOP, from the Apache project, can render
a large portion of the XSL formatting objects specification to PDF and
other output formats. The PassiveTeX package is another implementation
that uses TeX to convert the output of an XSL-FO stylesheet to PDF.
Other file formats are supported to various degrees:
* PostScript
* SVG
* MIF
* PCL
* text files
|
|
Scalable Vector Graphics (SVG) |
|
|
Scalable Vector Graphics (SVG) Scalable Vector Graphics (SVG)
is an XML markup language for describing two-dimensional vector graphics,
both static and animated, and either declarative or scripted. It is an
open standard created by the World Wide Web Consortium.
Overview
SVG allows three types of graphic objects:
* Vector graphic shapes (e.g. paths consisting of straight lines and
curves, and areas bounded by them)
* Raster graphics images / digital images
* Text
Graphical objects can be grouped, styled, transformed and composited
into previously rendered objects. Text can be in any XML namespace suitable
to the application, which enhances searchability and accessibility of
the SVG graphics. The feature set includes nested transformations, clipping
paths, alpha masks, filter effects, template objects and extensibility.
SVG drawings can be dynamic and interactive. The Document Object Model
(DOM) for SVG, which includes the full XML DOM, allows straightforward
and efficient vector graphics animation via ECMAScript or SMIL. A rich
set of event handlers such as onmouseover and onclick can be assigned
to any SVG graphical object. Because of its compatibility and leveraging
of other Web standards, features like scripting can be done on SVG elements
and other XML elements from different namespaces simultaneously within
the same web page. An extreme example of this is a complete tetris game
implemented as an SVG object, found here. (The link requires an SVG enabled
browser.)
If storage space is an issue, SVG images can be saved with gzip compression,
in which case they may be called "SVGZ files". Because XML contains
verbose text, it tends to compress very well and these files can be much
smaller. Often however the original vector-file (SVG) is already smaller
than the rasterised version. |
|
|
|
|
|
| Copyright
2006 Sofcon Controls, All Rights Reserved |