XML
From Friend2Friend Wiki
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 |
