Deprecated: Assigning the return value of new by reference is deprecated in /var/san/www/prod/html/blogs/darcusb/wp-settings.php on line 512 Deprecated: Assigning the return value of new by reference is deprecated in /var/san/www/prod/html/blogs/darcusb/wp-settings.php on line 527 Deprecated: Assigning the return value of new by reference is deprecated in /var/san/www/prod/html/blogs/darcusb/wp-settings.php on line 534 Deprecated: Assigning the return value of new by reference is deprecated in /var/san/www/prod/html/blogs/darcusb/wp-settings.php on line 570 Deprecated: Assigning the return value of new by reference is deprecated in /var/san/www/prod/html/blogs/darcusb/wp-includes/cache.php on line 103 Deprecated: Assigning the return value of new by reference is deprecated in /var/san/www/prod/html/blogs/darcusb/wp-includes/query.php on line 61 Deprecated: Assigning the return value of new by reference is deprecated in /var/san/www/prod/html/blogs/darcusb/wp-includes/theme.php on line 1109 darcusblog » 2005 » June - geek tools and the scholar

Archive for June, 2005

Apple and XML

Posted in Uncategorized on June 28th, 2005 by darcusb – Comments Off

Edd Dumbill analyzes new Apple RSS support in iTunes 4, and comes to a conclusion I came to awhile back as well:

From a professional point of view, I’d say this looks rather embarrassing: Apple clearly don’t have enough people who really understand XML.

YAML and JSON and XML

Posted in Uncategorized on June 22nd, 2005 by darcusb – Comments Off

I’m a big proponent of XML for document coding and data exchange. Indeed, my new project exploits these technologies quite heavily.

However, I’m sympathetic to the critique that XML is overkill in certain contexts. Still, when reading comments like this from a JSON website, I have to cringe a little:

JSON promises the same benefits of interoperability and openness, but without the disadvantages.

Before the XML-Sucks-and-JSON/YAML-Nirvana crowds get too cocky, though, they ought to admit they’re missing at least one big — in some cases HUGE — feature that XML has: validation support. I’ve been playing with a YAML representation of my CSL schema, which looks something like this:

class: author-year
info:
  title: Chicago
content:
  terms:
    roles:
      editors: {single: 'ed.', multiple: 'eds.'}
      translators: {single: 'tran.', multiple: 'trans.'}
  dates:
    months: {1: Jan, 2: Feb, 3: Mar, 4: Apr, 5: May, 6: Jun, 7: Jul,
    8: Aug, 9: Sep, 10: Oct, 11: Nov, 12: Dec}
  citation:
    delimeter: '; '
    entry: [
      creator: [names-short: {suffix: ''}, 
      yearIssued, 
      locator: [{prefix: ':'}, numbers]
        ]
      ]
  bibliography:
    article: [
      creator: [names, role: {prefix: ''}],
      yearIssued: {prefix: '(', suffix: ')'},
      title, 
      container: [
        title: {font-style: italic},
        locators: [volume, issue, pages]
         ]
        ]
    book: [
      creator: [names, role: {prefix: ''}],
      yearIssued: {prefix: '(', suffix: ')'},
      title, 
      container: {prefix: 'In '},
        [
        title: {font-style: italic},
        locators: [volume, issue, pages]
         ]
        ]

[Note: some heavy-duty funkiness in the above rendering; not sure why.]

Yes, it’s nice and compact, and yes, all the dynamic languages have good YAML parsers that will virtually instantaneously map those to native structures (arrays, hashes, objects).

But … and this is big “but”: it’s a PITA to code by hand in this case. It took me ages just to get file that wouldn’t cause the Ruby YAML parser to choke. And that doesn’t even deal with content validation!

What would be nice is to see something like RELAX NG-Compact used as a validation schema language for YAML and JSON. Then things could get really interesting!

Oh, and how about namespaces?

[ANN] XBib

Posted in Uncategorized on June 21st, 2005 by darcusb – 2 Comments

Time to finally announce the stuff I’ve been working on …

XBib provides important building blocks for dramatically improved bibliographic and citation support in XML. The project consists of three key pieces:

  1. Cite: a small namespaced schema for marking up citations in XML; recently approved for inclusion in the OpenOffice file format, it is suitable for embedding in other document formats, including WordML.
  2. Citation Style Language: an XML language for specifying citation and bibliographic formatting. Similar in principle to BibTeX .bst files or the binary style files in commercial products like Endnote or Reference Manager, this styling language has the distinction of being open, easy-to-use, and feature-rich.
  3. CiteProc: a first implementation of a CSL citation-processing engine, implemented using XSLT 2.0. The stylesheets can interact with a data store over HTTP using either XQuery or SRU. Initial supported input formats are DocBook NG and MODS, an XML schema from the Library of Congress. Initial output formats include XHTML and LaTeX, but the driver architecture makes it trivial to add support for other formats. Similarly, it should be fairly easy to port CiteProc to other languages.

The goals of the XBib project are in some sense quite modest. It is not to create complete bibliographic applications. Instead, the focus is on key tools and standards that are needed to push the state-of-the-art on a rather neglected but essential aspect of scholarly needs: citation and bibliographic formatting. By narrowing the focus on these issues, the hope is it will be easier for other projects to better address these needs with minimal work.

On the other hand, the goals are quite ambitious indeed. XBib provides a common framework for formatting bibliographies and citations across markup languages and document standards. In an ideal world, one could use the same CSL files to format DocBook, TEI, OpenOffice, WordML … or even LaTeX documents.

With this announcement, pre-release versions of CSL and CiteProc are available for download. The Cite schema will be published at a later date once it is stable.