dive into mark

You are here: dive into markArchivesDecember 2002This is XFML

Tuesday, December 3, 2002

This is XFML

XFML is a new format for providing hierarchical faceted metadata.

Frankly, I couldn’t make heads or tails of it until a kind soul (Albert de Klein) mocked up an XFML representation of Dive Into Accessibility, my tutorial on web accessibility techniques. Then it all became clear. (I can’t just look at the blueprints and know whether I like the house; I need to build the house and look at it. In Myers-Briggs-speak, I’m an S, not an N.)

Think of XFML as a way of expressing all the different cross-sections of a site. For example, each tip in Dive Into Accessibility discusses a specific technique, the general design principles the technique embodies, the type of people (expressed as character sketches) who would benefit from its implementation, the types of disabilities that would benefit, the web browsers involved, and (in some cases) even specific instructions for implementing the tip in various publishing tools.

To express this in XFML, we first define six top-level facets: design principle, person, physical disability, technological disability, web browser, and publishing tool.

Within the design principle facet, we define several topics: perceivable, operable, navigable, understandable, and technologically robust. (These design principles are spelled out in Web Content Accessibility Guidelines 2.0.) Within the person facet, we define topics for Jackie, Michael, Bill, Lillian, Marcus, and also Google, since many accessibility techniques directly impact search engine placement, and Google’s spidering bot can be thought of as a blind reader (a really, really voracious reader). Within the web browser facet, we define topics for each web browser and assistive technology that we mention throughout the book. And so forth.

Then, for each page of the book, we write out which topics occur on that page. For example, Day 8: Constructing meaningful page titles contains occurrences of the topics Jackie, Bill, Marcus, Google, blindness, understandable, Home Page Reader, JAWS, Lynx, Manila, Greymatter, and Radio UserLand.

Do that for every page, throw it all together, and it looks like this: Dive Into Accessibility XFML. Now feed it into a portal-making script and it looks like a portal. Or feed it into a search-engine-making script and it looks like a search engine. That’s wicked cool.

(Actually, I was already doing this kind of indexing for Dive Into Accessibility, but manually and piecemeal, using Movable Type categories and hard-coded templates instead of through XFML. You can browse the book by person, by disability, by design principle, by web browser, and by publishing tool. It is this kind of alternate indexing that XFML is designed to automate.)

XFML is also applicable to weblogs. I created a script that slices my site by date, by category, by project, by citation, and by entry size, and constructs this monstrous XFML of diveintomark.org. The script uses xfmllib.py (linked below) to construct the XFML document in memory and write it out; it is included with the xfmllib download in the examples directory.

Filed under , ,

Respond privately

I am no longer accepting public comments on this post, but you can use this form to contact me privately. (Your message will not be published.)



Recent Stuff For You, Special Price Stay Here
  • Greasemonkey Hacks
Good Stuff Buy The Cow Go Away
Dive Into Python
Powered by Google Drink The Milk Don't Steal

 

posts / comments
© 2001-8 Mark Pilgrim