Project Bamboo wiki: NYX

This was originally published on the Project Bamboo wiki, at (, by Kaylea Champion. Last modified 13 May 2009.

what was demo'd, why, what were outcomes, what was learned, who was involved, whether it'll continue to exist.

NYX uses formatting stylesheets prepared using the XSLT language to format XML-encoded documents, particularly TEI documents, into human-readable and useful HTML documents. TEI encoding presents a particular challenge for a generic service because the standard is very flexible. This demonstrator is, potentially, an example of a truly generic service, and will be available as a standalone service as well as part of a standalone web applications and as part of the SEASR tool platform. Is a service at this scope too generic to be useful? Too specific to be implemented by non-Humanities specialists? Or is it "just right" for collaboration between IT/Humanities/Library? What might this tell us about assessing future services for their suitability to a Bamboo services community? Can services of this type make manifest the benefits of a shared services approach? What sort of API might a shared service offer in order to be useful?

The overall goal of this demonstrator is two-pronged: to create a generic service for the display of XML-encoded documents in a useful HTML format. For scholars, this allows the web-friendly viewing of TEI documents by means of a set of XSLT transformations. The original proposal is attached as a child to this document. In working on this demonstrator, we will answer the following questions:

Phase 1:

An XSLT transform service -- an XML file and and XSLT file go in, and an HTML file comes out. A basic front-end allowing selection of an XSLT file from a list or an uploaded one and submission of an XML document, with output directed to the screen or to an e-mail.

  • Information-gathering (week 1)
    • Increase our overall understanding of XSLT and TEI. (All)
    • Assemble resources
      • Find existing XSLT stylesheets for TEI work (Quinn)
      • What are the Java libraries for XSLT like these days? (Jon Miller)
    • Clarify objectives
      • what sorts of HTML views might be most useful to start with?
        • Bibliographic references
        • Footnoted articles ?
        • Are the relevant XSLT sheets available, or do they need to be written?
      • what are the necessary features of a front-end?
      • what are the desired APIs of the service?
  • Service construction (week 2-3) (Jon Miller)
  • Web UI construction (week 2-3) (Quinn Dombrowski, Kaylea Champion)
  • SEASR tool construction (week 2-3) (Jon Miller)

Phase 2:

Iteration: new XSLT stylesheets to match other desired views, new input methods in the web UI