The XML Bookmark Exchange Language (XBEL) Resource Page

The XML Bookmark Exchange Language, or XBEL, is an Internet "bookmarks" interchange format. It was originally designed by the Python XML Special Interest Group on the group's mailing list.

The original intent was to create an interesting, fun project which was both useful and would demonstrate the Python XML processing software which was being developed at the time. Mark Hammond contributed the original idea, and other members of the SIG chimed in to add support for their favorite browser features. After debate which ranged far afield from the original idea, compromises were reached which allow XBEL to be a useful language for describing bookmark data for a range of browsers, including the major browsers and a number of less widely used browsers.

At this time, the formal document type definition (DTD) was finalized and documentation was written. These are available online here.

XBEL discussion takes place on the newly formed XBEL-Specs mailing list. Problems and proposed extensions should be reported on that list.

See below for a set of "bookmarks" of Internet resources related to the XBEL project.

Supporting Software

Some supporting software is provided as part of the Python XML "omnibus" package. This software is located in the demo/xbel/ directory of the distribution. This includes command-line processes for converting XBEL instances to other common formats, including the Navigator and Internet Explorer formats. The following bookmarks refer to other XBEL software.

Bookmark Synchronization and Merging

XBELicious

XBELicious is a set of scripts to help you store your del.icio.us bookmarks in XBEL format and to mold those bookmarks into a hierarchy of folders based partly upon the tags that you have given to those bookmarks.

BookmarkBridge

Ken Schenke's BookmarkBridge is an open source bookmark management tool. It is used to merge bookmarks from different browsers, and uses Python for at least a portion of it's regression testing.

Python Recipe: Merging XBEL Bookmark Files

Merging XBEL Bookmark files, by Uche Ogbuji, is a Python recipe for merging 2 XBEL files.

XBELette

XBELette, a "Client-server solution for managing your bookmarks".

XBEL-Aware Web Browsers and Web Browser Plugins

Galeon

The Galeon Web browser for the GNOME desktop has been using XBEL as its native bookmark format since version 1.1.

Grail Internet Browser

The current release of the Grail Internet browser from CNRI supports XBEL as a native bookmarks format.

Konqueror

David Faure (faure@kde.com) has made XBEL the bookmarks format for Konqueror, the KDE web browser since KDE 2.1. KDE also features a separate application to edit XBEL bookmarks, keditbookmarks.

ELinks

ELinks, ad advanced text WWW browser, has built-in XBEL bookmarks support. Basic bookmarks operations (same as in the native format) and conversion from/to native ELinks' bookmarks format.

General Bookmark Tools

linkaGoGo

linkaGoGo is a commercial online bookmark/favorites "service" which supports import and export in several formats, including XBEL.

URL Manager Pro

Alco Blom's URL Manager Pro, a Mac OS shareware application for managing bookmarks, supports reading files in the XBEL format. See the home page of URL Manager Pro for more information.

Favorez

Favorez is an AxtiveX IE 5+ plug-in program that creates web pages from the users' favorites. It uses XBEL, and includes an XSLT stylsheet for converting XBEL to a dynamic folder-based view.

Support for Other Tools

A PHP Script to Parse XBEL and a Compass Template that Maintains Foldering Information

Roberto Giungato (roberto.giungato@its.it) has created a PHP script to parse XBEL and a Compass template that maintains foldering information. See his home page for more information.

Opera to XBEL

OperaToXBEL.py is a Python script for converting Opera bookmarks to XBEL, by Eddy L O Jansson.

XBEL Libraries and Support Code

XML::Filter::Glossary

XML::Filter::Glossary, a Per SAX2 filter for keyword lookup and replacement, with support primarily for XBEL files.

Apache::XBEL

Apache::XBEL is an Apache mod_perl handler that uses XSLT to transform XBEL files into dynamic HTML documents.

Net::Delicious::Export::Post::XBEL

Net-Delicious-Export-Post-XBEL is a Perl module to export del.icio.us postings as XBEL SAX events.

Assorted things XBEL

Rowan Rodrik has a collection of XBEL tools, including a set of XSLT sheets to transform an XBEL file to a directory of XHTML files or one, big monolithic XHTML file; and an XSLT sheet to alphabetically sort an XBEL file.

Rebel: A RE(ST API for X)BEL

Rebel: A RE(ST API for X)BEL is a convention proposed for managing the XBEL hierarchicy, and accessing this hierarchy using URL conventions.

404 Tools

Tools which no longer (as of 2006-07-06) seem to exist on the web.

Export Template for the Compass Bookmarks Manager

Philippe Guglielmetti (goulu@i.am) has created an export template for the Compass bookmarks manager. Look for XBEL.TPL at Philippe's home page.

XBEL Bookmarks Editor

XBEL Bookmarks Editor is "a platform and browser bookmark representation that allows content-based retrieval. A platform [independent] application [for easy] bookmark [management]."

be Bookmarks Editor

be Bookmarks Editor is a Java-based editor to manage bookmarks in XBEL format.

op2xbel.pl

op2xbel.pl is a Perl script Dan Loda wrote to convert Opera bookmarks to XBEL.

xbel-1.0.xsl

xbel-1.0.xsl is an XSLT script by Jürgen Hermann for converting an XBEL document into a HTML directory.

Parsing XBEL with PHP

Waitman C. Gobble, II has posted a sample of PHP code to parse XBEL, in particular XBEL bookmarks generated by Firefox.

Other References

People