Rick Klau suggested using a folder of OPML files to generate a blogroll. Each file would be rendered as a category of links. But I think it should be even easier than that.
OPML already has the notion of hierarchy, so there’s no need to push the hierarchy out into the filesystem. Each category would be a top-level heading (a summit), and its links would be subordinate headings. Of course, there’s no reason that you couldn’t use multiple OPML files — if a summit is a link to another OPML file, then the contents of the linked file would constitute the category’s links.