[Cache from http://xfml.org/spec/0.1.html; please use this canonical URL/source if possible.]
Archived: Official XFML specification version 0.1.
This is not the final version of this spec.
This is version 0.1 of this document, published on May 30, 2002. The latest version can always be found at this url http://xfml.org/spec/, which will eventually point to the final version. This version (0.1) is archived at http://xfml.org/spec/0.1.html We hope to publish the final version soon, after initial feedback on this document. We don't expect any substantial changes to the specification, just more preciseness . If you have any comments or ideas please contact Peter Van Dijck at firstname.lastname@example.org
The EXchangeable Facet Map Language is an XML format that allows websites to publish a lot of their core metadata information. A website will typically use this metadata to organize its navigation. If it is published in XFML format, other websites can use this information to generate links to pages about related topics on this website.
There is an annotated example document further down this page.
XFML was designed to be simple yet powerful. It borrows many ideas from Topicmaps, a format you should check out if you like the ideas behind XFML but are frustrated with its limitations (see http://topicmaps.org). Unlike Topicmaps, XFML is designed to be easy to code for, and easy to understand. It trades power for ease, yet retains some extremely powerful.
Publishing XFML is conceptually similar to publishing RSS: you get many of the same advantages: it is easy, and you get a lot of incoming links and additional functionality possibilities that would otherwise be extremely difficult to obtain.
XFML is based on the idea of faceted metadata. Faceted metadata schemes are generally more powerful, flexible and useful for websites than more classic hierarchical taxonomies.
Taxonomies published as XFML can (unless there are license restrictions) be reused by other people. XFML maps are designed so they can be easily merged.
For more information, including a tutorial and links to software, see XFML.org
An XFML map is a well formed XML document, but doesn't have to be valid (ie. conform to a DTD). (Please tell us if this is a bad idea.) It does have to follow this specification.
An XFML map contains (in random order, but we recommend the following order):
Names of elements have to be unique for that element only. So you can have a topic and a facet with the same name, but not two topics with the same name, even if they are in a different facet.
Publising an XFML map.
A "published map" is an XFML document that has been made available on the web, ie. has a unique URI. An XFML map can be published, but doesn't have to be; you could also just use it internally in your and never publish it.
In general, the mimetype for an XFML document (when accessed over HTTP) should be text/xml. This allows Web browsers to use XML formatting conventions to display an XFML document. The extension we recommend is .xml
One of the more powerful things with XFML is that you can merge maps: you can relate a topic on one map to a topic in a different map, so the system knows they are the same. The following mergerules must be obeyed when merging topics:
When merging topics, the meaning of the topic is derived by the person doing the merging from its name, its existing occurrences and mergerules and its facet. Automatic merging based on names is possible but risky.
XFML is a format created by Peter Van Dijck. It can be freely used by anyone.
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and these paragraphs are included on all such copies and derivative works.
This document may not be modified in any way, such as by removing the copyright notice or references to XFML.org or other organizations. Further, while these copyright restrictions apply to the written XFML specification, no claim of ownership is made by XFML.org or Peter Van Dijck to the format it describes. Any party may, for commercial or non-commercial purposes, implement this protocol without royalty or license fee to XFML.org or Peter Van Dijck. The limited permissions granted herein are perpetual and will not be revoked by XFML.org or Peter Van Dijck or its successors or assigns.
This document and the information contained herein is provided on an "AS IS" basis and XFML.org and Peter Van Dijck DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Here is a short annotated example of an XFML map. You can find it in XFML format at http://xfml.org/spec/example.xml.