XML

From Friend2Friend Wiki

Revision as of 02:30, 14 January 2010 by Admin (Talk | contribs)
(diff) ← Older revision | Current revision (diff) | Newer revision → (diff)
Jump to: navigation, search

XML is the core technology from W3C, developed since 1996 as a successor to HTML. Since it is the only datatype of F2F systems, they are described as XML virtual machines.

Contents

Strict Definition

XML is much more strictly defined than HTML, since it is designed for documents for computers to process, rather than for humans to read, so is intolerant of ambiguity. For example, <B><I>THIS</B></i> is valid HTML, but not valid XML, since it does not represent a tree. Firstly because XML is case-sensitive, secondly because the tags are closed in the wrong order. (<B><I>THIS</I></B> is correct XML).

Namespaces

While HTML has a limited set of tags, <HEAD>, <BODY... etc, XML is unlimited; users can make up their own and define their meaning how they wish. This immediately creates a potential problem, since different people could define their tags differently. This problem is resolved with namespaces, which do to XML tag names what domain names do to URLs. i.e. They allow them to be unique by prepending a unique string.

Important Dialects

F2F uses about 15 different XML dialects, of which the most important are:

Name Namespace Description Application in F2F
F2F http://friend2friend.net/ This project's own vocabulary All the data structures describing the F2F VM
SVG http://www.w3.org/2000/svg Vector Graphics images
XHTML http://www.w3.org/1999/xhtml XML version of HTML Presentation in clients, e.g. Web Browsers
XSD http://www.w3.org/2001/XMLSchema XML Schemas Performing validation of requests and datastores
XSL http://www.w3.org/1999/XSL/Transform XML Transformations Implementing displays, hooks, custom services

References