Goodbye Static Bibliography, Hello OPML! or RSS, pt. 2

Tina J. Jayroe

University of Denver

Jessica Branco Colati

Metadata Architectures

May 19, 2009 Jayroe

OPML, even than blogging, even more than RSS . . . it’s designed for what librarians do. It’s designed for knowledge, and relating one set of knowledge to another set of knowledge.

, Morning Coffee Notes

Like RSS,1 OPML (Outline Processor Markup Language) is a one of the most

widely used versions of the XML format. The development of both RSS and OPML can

be credited to Dave Winer, a software developer who is also responsible for the creation

of weblogs, podcasting, and many other Web applications.2 OPML is based on the

same simple scripting and technology as RSS. Its elements and attributes are

mechanisms for keeping Web publications: structured, categorized, relational, dynamic, and resourceful.

OPML, which first became available in 2000, goes a step beyond RSS in that it contains an element (or nodetype) within the XML encoding schema. These

tags can have any number of attributes as well as arbitrary data—so long as they are not repeated. The most popular ones are the and and are usually referred to as “common attributes” (Morin, 2005, ¶ 2).

The structure of the OPML format is hierarchical and must contain these elements:

is the root element

is also a required element and may contain either no elements or

many elements such as , <ownerName>, <ownerEmail>, etc. </p><p><body> contains the content and must have at least one <outline> </p><p> element such as: </p><p>2 </p><p>Jayroe </p><p><outline text> or <outline type>. Although these two are the most </p><p> common, there are no constraints on the number or type of attributes that </p><p> can be outlined here; this is what makes OPML so flexible and extensible </p><p>(Miller, 2005, ¶ 5). </p><p>Figure 1. OPML structure. Source: http://www.codeproject.com/KB/cs/rssframework/opml_classdiagram.gif </p><p>OPML is largely used in the weblog community for containing blogrolls—a list of links that bloggers embed in their Web pages. Not only can one subscribe to a multitude of <a href="/tags/Blog/" rel="tag">blogs</a> (known as subscription lists) in one directory, but they may be organized using the category attribute, which was borrowed from RSS. </p><p>Figure 2. A blogroll/subscription list. Source: http://alwaysaskwhy.com/jameselee/blog/images /EXAMPLE-raw-OPML-vs-Grazr-skinned-2006.12.30.png </p><p>3 </p><p>Jayroe </p><p>Figure 3. An example of the category attribute. Source: http://hosting.opml.org/dave/spec/category.opml </p><p>“By far” the most popular application of OPML is for manipulating subscription </p><p> lists “and probably makes OPML the number two XML-based format out on the Web, </p><p> simply because it’s the way people move their lists of feeds” (Winer, 2006, 14:25 minutes in). People often want to change their aggregators and move their feeds (e.g., </p><p> from <a href="/tags/Google_Reader/" rel="tag">Google Reader</a> to Bloglines or NewsGator, etc.). By using OPML to combine these </p><p> lists, referred to as bundles, a user is then able to transfer subscriptions—keeping the </p><p> hierarchical structure of their categories, and also preventing them from having to </p><p> subscribe to each feed again individually (Rethlefsen, Mojon & Rothman, 2009, p. 85). </p><p>Other benefits of OPML are the <ownerID>, <ownerName>, and <ownerEmail> element specifications. These elements allow one person accessing another person’s </p><p>XML document to be able to contact the author without that author having to publish his </p><p> or her email address or contact information (Winer, 2006, 10:20 minutes in; Scripting </p><p>News, 2000–2009, “Notes”). This spec is in line with goals of the Semantic Web in that </p><p>OPML can contain more than just lists of feeds; developers and users are encouraged </p><p> to link, or point to, an owner’s FOAF3 document, homepage, or other resource. </p><p>Appropriately, OPML 2.0 is capable of supporting namespaces4 as done similarly in </p><p>RSS 2.0 (Scripting News, Inc., 2000-2009, ¶ 5). </p><p>4 </p><p>Jayroe </p><p>Optional information, yet valuable in today’s Web environment.</p><p>Figure 4. A simple example of an OPML version 1.1 script. Source: Mercuri, 2007, p. 191 </p><p>OPML 2.0 also uses the <docs> element from RSS so that information about an </p><p> object’s format can be traceable in the future. In other words, this element requests an </p><p> http address be added that would explain the format of the original creation and </p><p> publication. Its purpose is to provide documentation should information processing </p><p> technologies change in the future (Winer, 2006, 13:02 minutes in). Note that neither the </p><p> personal information elements nor the original document format elements are required. </p><p>At The Library </p><p>In addition to the arbitrary attributes previously mentioned, the <include> element </p><p> is another spec that makes OPML very extensible. Winer’s example: you have compiled </p><p> a subscription list pertaining to a particular topic, yet lack some knowledge in one area of that topic, you can “include” an OPML directory from another person’s outline within </p><p>5 </p><p>Jayroe your script, thereby creating broader scope, more currency, etc. on the topic. The real benefit, though, is whenever that person makes a change to his or her directory it will be reflected in your directory (Winer, 2006, 17:03 minutes in). </p><p>This functionality is perfect for libraries because it is an inexpensive way for librarians to publish more comprehensive bibliographies and research guides while also keeping them from becoming outdated. Winer explains how OPML was practically meant for the library environment: </p><p>Steven Cohen, who is a librarian that . . . is the editor of the Library Stuff weblog </p><p> and he’s one of the earliest librarian bloggers out there. And, Steven—like I hope </p><p> many librarians to come—has absolutely fallen in love with OPML, and I think it’s </p><p>. . . totally appropriate. OPML, even more than blogging, even more than RSS . . </p><p>. it’s designed for what librarians do. It’s designed for knowledge, and relating </p><p> one set of knowledge to another set of knowledge. And doing it in an extremely </p><p> elegant way if I do say so myself (Winer, 2006, 6:52 minutes in). </p><p>Kimberly Wilcox, assistant professor and Web services librarian at Asuza Pacific </p><p>University, uses OPML to make “dynamic” reading lists for her patrons and students in the form of syndicated research and information guides. The benefit of using OPML for this purpose is that unlike the elements in RSS, an OPML <outline> can contain more than just links and text, they can contain multimedia files, new article titles from the university’s databases, and many other file types. Thus, when a user subscribes to an outline (usually hosted on a Web site), the subscription will contain not only a wide </p><p>6 </p><p>Jayroe variety of resources but it will also reflect any updates or changes the librarian or her </p><p>“inclusions” have made to the reading list (Wilcox, 2006, p. 8). </p><p>Figure 5. A dynamic bibliography using OPML. Source: http://www.infotoday.com/cilmag/nov06/Fig2_guide.gif </p><p>Another corporate librarian, John Tropea,5 wanted to make dynamic </p><p> bibliographies after glancing at a traditional, annotated one at his library. He contemplated adding the descriptions and bibliographic records from the OPAC into </p><p>OPML using the <include> nodetype (Tropea, 2006, ¶ 5). Since OPML’s extensions could contain <a href="/tags/Permalink/" rel="tag">permalinks</a> to the catalog’s bibliographic record fields such as: title, subject, author, etc., as well as link to Amazon’s data, he believed the format would create a more dynamic reading list for his users and would allow for more data manipulation (Tropea, 2006, ¶ 6). Both Wilcox and Tropea suggest posting the OPML files on a Web site so that anyone may import the files into their own readers, making the data more sharable. </p><p>7 </p><p>Jayroe </p><p>Limitations and Downsides of OPML </p><p>OPML version 1.0 had some serious issues such as: (a) not providing a definition of subscription lists (Winer, 2006, 14:20 minutes in), (b) not being able to <include> another person’s directory unless their extensions ended in .opml (Winer, 2006, 17:19 minutes in), and (c) not specifying formats for date times (Mercer, 2007, p. 191). </p><p>However, these issues have been resolved and are no longer factors in OPML 2.0. </p><p>Issues that seem to concern mainstream users today are that OPML editors are not easy to use. While the benefit of not having to know XHTML or XML is an advantage, almost unanimous consensus is that the editing tools available take a lot of patience and technical skills to learn. However, as far as the library world is concerned, the only catch to creating dynamic bibliographies is having a Web site on which to host the reading lists—assuming one has a technical librarian. </p><p>Conclusion </p><p>OPML was created to provide information exchange and interoperability across programs and platforms in a simple, inexpensive, machine- and human-readable way </p><p>(Scripting News, Inc., 2000-2009, ¶ 1). It is a format for disseminating and sharing timely information much like RSS; however, OPML contains added elements/nodetypes which enable structured categorization, detailed description, and a variety of sharable extensions—whereas in RSS, content is primarily a <link> fed through a <channel>. </p><p>The main drawback of OPML is its complicated <a href="/tags/Outliner/" rel="tag">outliner</a> tools, yet research suggests that these issues are constantly being worked on. Dave Winer and his team of developers tend to release new versions only after lengthy public review periods—</p><p>8 </p><p>Jayroe assuring that the OPML format is met with public satisfaction, and that it furthers the technical capabilities for managing and sharing Web-based publications. In fact, OPML does do all that: It is easy to understand, inexpensive to implement, and effective in relating humans to other humans, content to similar content, and humans to their relevant content. </p><p>9 </p><p>Jayroe </p><p>References </p><p>Harper, C. A. & Tillet, B. B. (2007). Library of Congress controlled vocabularies </p><p> and their application to the Semantic Web [Electronic version]. Cataloging & </p><p>Classification Quarterly, 43(3), 47–68. </p><p>Mercuri, M. (2007). Beginning information cards and cardspaces: From novice to </p><p> professional. Berkeley, CA: Apress. </p><p>Miller, C. (2005). What’s wrong with OPML. The Fishbowl. Retrieved May 7, 2009 from </p><p> http://fishbowl.pastiche.org/2005/10/02/whats_wrong_with_opml/. </p><p>Morin, R. C. (2005). Guide to OPML <outline> attributes. The RSS <a href="/tags/Blog/" rel="tag">Blog</a>. Retrieved May </p><p>8, 2009, from http://www.therssweblog.com/?guid=20051003145153. </p><p>Rethlefsen, M., Mojon, D.S. & Rothman, D. (2009). Internet coot tools for physicians. </p><p>Verlag Berlin Heidelberg: Springer. </p><p>Scripting News, Inc. (2000–2009). OPML 2.0. Retrieved May 7, 2009, from </p><p> http://www.opml.org/spec2. </p><p>Wilcox, K. (2006). Gear up your research guides with the emerging OPML codes. </p><p>Computers in Libraries, 26(10), 6–8, 46–48. </p><p>Winer, D. (Speaker). (2006). Morning Coffee Notes. (<a href="/tags/Podcast/" rel="tag">Podcast</a>) Available from </p><p> http://www.opml.org /directory/19/applications/morningCoffeeNotes. Direct URL </p><p> at http://static2.podcatch.com/blogs/gems/snedit/cn06mar01.mp3. </p><p>Tropea, J. (2006). OPML for OPAC. Library Clips Blog. Retrieved May 9, 2009, from </p><p> http://libraryclips.blogsome.com/2006/03/14/opml-for-opac/. </p><p>10 </p><p>Jayroe </p><p>Notes </p><p>1 The current version, RSS 2.0, stands for Really Simple Syndication. Previous </p><p> versions (RSS 0.9/1.0 and RSS 0.91–0.94) are known as RDF Site Summary and Rich </p><p>Site Summary respectively. </p><p>2 “Dave Winer, 53, pioneered the development of weblogs, syndication (RSS), </p><p> podcasting, outlining, and web content management software; former contributing editor </p><p> at Wired Magazine, research fellow at <a href="/tags/Harvard_Law_School/" rel="tag">Harvard Law School</a>, entrepreneur, and investor </p><p> in web media companies. A native New Yorker, he received a Master's in Computer </p><p>Science from the University of Wisconsin, a Bachelor's in Mathematics from Tulane </p><p>University and currently lives in Berkeley, <a href="/tags/California/" rel="tag">California</a>” (Retrieved May 8, 2009, from </p><p> http://www.scripting.com/stories/2008/01/23/shareopmlorgRetired.html). </p><p>3 FOAF is an acronym for the Friend of a Friend system and is used to aggregate </p><p> information via the Web about a person, their related persons, and their personal </p><p> associations. The FOAF project/initiative supports semantic connections between </p><p> identities (Harper & Tillett, 2007, p. 61). </p><p>4 “XML namespaces provide a simple method for qualifying element and attribute </p><p> names used in Extensible Markup Language documents by associating them with </p><p> namespaces identified by URI references” (Retrieved May 14, 2009, from </p><p> http://www.w3.org/TR/REC-xml-names/). </p><p>5 John Tropea was a corporate librarian at an engineering library at the time of </p><p> his suggestion to use OPML for annotated bibliographies (personal communication, </p><p>May 9, 2009). </p><p>11 </p> </div> </article> </div> </div> </div> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js" crossorigin="anonymous" referrerpolicy="no-referrer"></script> <script> var docId = 'cee73c773c97584c9e34368dc3e83915'; var endPage = 1; var totalPage = 11; var pfLoading = false; window.addEventListener('scroll', function () { if (pfLoading) return; var $now = $('.article-imgview .pf').eq(endPage - 1); if (document.documentElement.scrollTop + $(window).height() > $now.offset().top) { pfLoading = true; endPage++; if (endPage > totalPage) return; var imgEle = new Image(); var imgsrc = "//data.docslib.org/img/cee73c773c97584c9e34368dc3e83915-" + endPage + (endPage > 3 ? ".jpg" : ".webp"); imgEle.src = imgsrc; var $imgLoad = $('<div class="pf" id="pf' + endPage + '"><img src="/loading.gif"></div>'); $('.article-imgview').append($imgLoad); imgEle.addEventListener('load', function () { $imgLoad.find('img').attr('src', imgsrc); pfLoading = false }); if (endPage < 5) { adcall('pf' + endPage); } } }, { passive: true }); if (totalPage > 0) adcall('pf1'); </script> <script> var sc_project = 11552861; var sc_invisible = 1; var sc_security = "b956b151"; </script> <script src="https://www.statcounter.com/counter/counter.js" async></script> </html>