A Guide to online information about:
XML
(Extensible
Markup Language)
by Bob
Paddock
One of the barriers to interoperablity
of equipment and software is always establishing a common language
between diverse devices and suppliers.
The Extensible Markup Language,
XML, allows us to establish a common communication language without resorting
to placing a Babble Fish in ones
ear.
XML is a standard for formatting
text files, it is similar to the familiar HTML except it allows us to define
our own tags.
The tags allowed in a document
are defined in its Document
Type Declaration (DTD), a validating parser can check that a particular
document is correct so that you can establish who is or who is not sticking
to their side of the communication contract.
Many see XML as just yet
an other web page design language. It is much more. XML
is a way of communicating.
Why would we here care about
a thing such as XML? XML-RPC is a Remote Procedure Calling system
that will give you an example of a way that XML will be in your future:
What
is XML-RPC?
"Does distributed
computing have to be any harder than this? I don't think so." Byte.
XML-RPC is a Remote Procedure
Calling protocol that works over the Internet.
XML-RPC
Specification: Simple cross-platform distributed computing, based
on the standards of the Internet.
It's a specification and
a set of implementations that allow software running on disparate operating
systems, running in different environments to make procedure calls over
the Internet. It's remote procedure calling using HTTP as the transport
and XML as the encoding. It's designed to be as simple as possible,
while allowing complex data structures to be transmitted, processed,
and returned.
An XML-RPC message is an
HTTP-POST request. The body of the request is in XML. A procedure executes
on the server and the value it returns is also formatted in XML.
See XML-RPC
for Newbies for more.
Ken
MacLeod has more about XML and Distributed Objects on his site:
Casbah: Casbah is
an application environment that provides easy access to the Internet, XML
and HTML, persistent data storage, and multiple languages. Casbah is a
very modular system defined as interfaces and APIs rather than any specific
language or tool set.
LDO: Lightweight Distributed
Objects is the communication component of Casbah. LDO is based on
simple"property lists" of dictionaries, lists, and scalar
values and is perfect for light-duty distributed computing.
XML::Grove: XML::Grove
is a bundle of Perl modules for working with a tree of XML objects made
up of Perl hashes and arrays. You would use XML-Grove if you need or prefer
a tree/object access to an XML instance, you need more information about
your XML instance than the Tree or Object styles of XML::Parser provide,
you want a more Perlish interface than XML::DOM, or you need a feature
from one of XML-Grove's modules. XML::Grove also supports SGML.
libxml-perl: libxml-perl is
a collection of smaller Perl modules, scripts, and documents for working
with XML in Perl. libxml-perl software works in combination with XML::Parser,
PerlSAX, XML::DOM, XML::Grove, and others.
SAX
1.0: The Simple API for XML
SAX 1.0: a free API for event-based
XML parsing.
SAX is a standard interface
for event-based XML parsing.
What is an Event-Based
Interface?
There are two major types
of XML (or SGML) APIs:
tree-based APIs;
and
event-based APIs.
A tree-based API compiles an
XML document into an internal tree structure, then allows an application
to navigate that tree. The Document Object Model (DOM) working group at
the World-Wide Web consortium is developing a standard tree-based API for
XML and HTML documents.
An event-based API, on the
other hand, reports parsing events (such as the start and end of elements)
directly to the application through callbacks, and does not usually build
an internal tree. The application implements handlers to deal with the
different events, much like handling events in a graphical user interface.
If your XML document were 20 MB large
(or even just 2 MB), it would be very inefficient to construct and traverse
an in-memory parse tree just to locate this one piece of contextual information;
an event-based interface would allow you to find it in a single pass using
very little memory.
Do you need to convince
The Paper Pushers you need funding for XML? Then pass on XML
for Managers.
So now that your interested
in learning more about XML, the best place to start in learning about a
subject is almost always the Frequently Asked Questions file:
The FAQ.
Extensible Markup Language
Maintained on behalf of the
World
Wide Web Consortiumıs XML Special Interest Group by Peter
Flynn.
XML in a nutshell:
XML is the"Extensible
Markup Language"(extensible because it is not a fixed format like
HTML). It is designed to enable the use of SGML on the World Wide Web.
SGML is the Standard
Generalized Markup Language (ISO 8879),
the international standard for defining descriptions of the structure and
content of different types of electronic documents.
There is an SGML FAQ at http://www.infosys.utas.edu.au/info/sgmlfaq.txt.
SGML is the "mother
tongue", used for describing thousands of different document
types in many fields of human activity.
XML is an abbreviated version
of SGML, to make it easier for you to define your own document types, and
make it easier for programmers to write programs to handle them.
SGML and XML are markup
specification languages with which you can design ways of describing
information, usually for storage, transmission, or processing by a
program.
Those new to SGML may want
to read something like the Gentle
Introduction to SGML chapter of the TEI
Guidelines.
Authors and providers can
design their own document types using XML, instead of being stuck with
HTML. Document types can be explicitly tailored to an audience, so the
cumbersome fudging that has to take place with HTML to achieve special
effects should become a thing of the past: Authors and designers will be
free to invent their own markup elements.
What
XML software can I use today?
Publicly
Available Software for SGML/XML/DSSSL.
Free
XML tools
(Grouped
by standard)
The XML language was developed
and approved by the World Wide Web Consortium http://www.w3c.org/XML.
This site has links to XML specifications,
discussion groups, and software.
XML
in 10 points explains XML briefly. If you are new to XML, it
may be hard to know where to begin. This summary in 10 points attempts
to capture enough of the basic concepts to enable a beginner to see
the forest through the trees.
"XML
and the Second-Generation Web
The
combination of hypertext and a global Internet started a revolution.
A
new ingredient, XML, is poised to finish the job"
by Jon Bosak and Tim Bray
From Scientific
American was the most frequently referenced article on getting started
with XML that I came across.
XML
and how it will change the Web
"XML may not be
the technological equivalent of the wheel, but it does represent an evolutionary
leap in Web technology. If you're just getting your feet wet, this article
will help you explore the basics of XML and find out why it's poised to
change the Web."
- IBM
DeveloperWorksTM XML zone.
(See also http://www.xml-zone.com/
.)
XMLINFO,
along with the sister sites XSLINFO,
XMLSOFTWARE,
and SCHEMA.NET,
aims to provide well-organized information and resources on XML, one of
the most significant developments on the World Wide Web and in electronic
publishing and electronic commerce. If you are new to XML, I suggest you
start with the page Info for
Newcomers to XML.
The mission at XML.com
is to help you discover XML and learn how this new Internet technology
can solve real-world problems in information management and electronic
commerce.
XML.com
features a rich mix of information and services for the XML community.
The site is designed to serve both people who are already working with
XML and those HTML users who want to "graduate" to XML's power and complexity.
A core feature of the site is the Annotated
XML Specification, created by Tim Bray, co-editor of XML 1.0 and a
contributing editor for XML.com.
The site <!--
Generally Markup --> says every thing I was planning to say about XML
in this Resource
Page. Why make work for
myself? :
Finetuning.com
is "Fighting for truth... justice... a universal
syntax...and a universal semantic infrastructure".
Try out an online XML
syntax checker built with the Lark
parser.
Also try out XML
Validation Form.
To validate a small XML document,
just paste it into the text field below and hit the validate button. If
the document is too large to be conveniently pasted into the text field,
enter its filename into the local file field. You may also validate an
arbitrary XML document on the Web by typing its URL into the URL field.
XML:
Tap into tomorrow
from Chrystal
Software.
XML
is getting a lot of press today, and for good reason. This new language
for content and data interchange for Web applications will revolutionize
the way information is exchanged, shared, and managed.
XML
Script is used to describe the transformation of data.
CommerceNet's
XML Exchange is the forum for creating and sharing document type definitions.
XML
Software Guide
For more detailed information
see the XML Developer
Center. MSDN online also hosts Extreme
XML, a site totally dedicated to answering developer's XML questions.
Browsing
XML Documents in Internet Explorer 5
You can use Microsoftı
Internet Explorer 5 to view XML documents in the browser just as you would
view HTML pages. There are several ways to navigate to an XML document
on a Web site. You can follow a link to that document, type the URL of
the XML document into the address bar, select an XML document from your
history or favorites, double-click an XML document from the desktop, and
so on. To view the XML source, select View Source from the File menu.
Microsoftı XML Notepad
is a simple prototyping application for HTML authors and developers that
enables the rapid building and editing of small sets of XML-based data.
With XML Notepad, developers can quickly create XML prototypes in an iterative
fashion, using familiar metaphors.
Click on a chapter
name to see what wonderful bits of wisdom awaits you in that portion
of the book.
THE
XML FILES
A
WebDeveloper.com
Feature
Scalable
Vector Graphics: An Introduction
Scalable Vector Graphics
represents a collaborative effort by some of the biggest players in the
computer world to find a workable cross-platform solution to Web imaging.
And it's XML-ready! Many other XML related matters are covered also.
Perl
XML FAQ
This FAQ contains information
related to using and manipulating XML with Perl.
XML-CML.ORG
- The Site for Chemical Markup Language
What is CML?:
Chemical Markup Language brings the power of XML to the management of chemical
information. In simple terms it is "HTML with Molecules", but there is
a great deal more. CML, and associated tools, allows for the conversion
of current files without semantic loss, structured documents including
chemical publications, and precise location of information within files.XML
and the Second-Generation Web.
XML Online Seminar:
XML
and Information Chain Integration hosted by Enigma,
Inc.
Enigma's e-publishing solutions
enable customers to migrate MS-Word, PDF, and graphics-based content
into intelligent XML publications.
Oracle:
XML - Enabled
Oracle
XML Developer's Kit
The Oracle XML Developer's
Kit (XDK) contains the basic building blocks for reading, manipulating,
transforming, and viewing XML documents. To provide a broad variety
of deployment options, the Oracle XDK is available for Java, C, C++,
and PL/SQL. Unlike many shareware and trial XML components, the Oracle
XDK is fully supported and comes with a commercial redistribution license.
Interleaf
the E-Content Company Joins WAP Forum to Accelerate the Delivery of XML-Based
Content to Wireless Mobile Devices.
Interleaf
the E-Content Company Announces XML-Based PowerPoint Authoring.
About
xmlTree
A quick introduction:
The leaves of xmlTree
are XML content resources. Some of this content is static, only changing
slowly over time, while other content contains news and changes daily.
And some of the leaves on xmlTree represent XML interfaces, which you can
query using parameters.
XML/EDI
provides a standard framework to exchange different types of data- for
example, an invoice, health care claim, project status-so the
information in a transaction, exchanged via an Application Program Interface
(API), web automation, database portal, catalog, a workflow document,
or message can be searched, decoded, manipulated, and displayed consistently
and correctly by first implementing EDI dictionaries and extending our
vocabulary via on-line repositories to include our business language,
rules, and objects. Thus by combining XML and EDI we create a new powerful
paradigm different from XML or EDI!
More on XML/EDI can be found
here.
<XML-PRO>
was under construction while I was working on this Resource Page, but it
looks like it is worth keeping a eye on.
You can search the XMLephant
resource database of over 500 resources, and its trunk is still growing!
Data
Conversion Laboratory enables your valuable data for the Internet
or CD-ROM by converting to structured formats like XML , SGML, and HTML.
XML.ORG
is a self-supporting community resource designed to provide a credible
source of accurate, timely information about the application of XML
in industrial and commercial settings. Hosted by OASIS, the world's
leading independent organization for the standardization of XML applications
in electronic commerce, XML.org serves as a reference for XML vocabularies,
DTDs, schemas, and namespaces. (I did find their white on yellow
color scheam difficult to read, but it was worth the effort.)
The
SGML/XML Web Page
Extensible
Markup Language (XML)
By:
Robin Cover
has an extremely extensive list
of links to everything XML related. I wish I had found it
much earlier in my research on XML.
Public
Software Tools for SGML/XML/DSSSL.
Just one example
from the hundreds listed:
Electronic
Component Information Exchange (ECIX) and Pinnacles Component Information
Standard (PCIS)
ECIX - 'For Internet and
XML-based Component Information Exchange'. "The Electronic Component
Information Exchange (ECIX) project is dedicated to designing standards
for creation, exchange and use of electronic component information,
including ASIC cores. The ECIX architecture and standards are extensible,
unambiguous, well documented, and are maintained under the direction
of Si2."
No matter what your idea or
application is, you'll probably find something related to it here.
The fact that an
item is listed here does not mean we promotes its use for your application.
No endorsement of the vendor or product is made or implied.
If you would like to add any information on this topic
or request a
specific topic to be covered, contact Bob Paddock.
Circuit Cellar provides up to date information for engineers,
www.circuitcellar.com for more
information and additional articles.
ıCircuit Cellar, the Magazine for Computer Applications.
Posted with permission. For subscription information, call (860) 875-2199
or e-mail subscribe@circuitcellar.com
|