Unter den Linden
It has been a while since my autumn visit in Craiova. June is a very different experience – with the sun, the heat and the heady smell of TEI* trees and honeysuckle permeating the streets it’s the perfect time to come back to oXygen headquarters.
This time my main target was to improve support for various types of TEI files in oXygen. The advent of TEI Simple has made it very clear that not all TEI documents are created equal and for many purposes we’d like to explicitly state that distinction. But of course TEI Simple is not the only context where having formal means of assigning a document to a certain sub-class of TEI encodings (eg. jTEI articles or EEBO/TCP texts) could come in handy. The logical place to put such an identification would be somewhere in teiHeader, so after reaching consensus at teisimple mailing list (which you might want to join!) I’ve put a feature request to add @methodology attribute to editorialDecl element in encodingDesc part of teiHeader. Fingers crossed this proposal will come through and awaiting the verdict of Jedi TEI Council I was trying to extend oXygen with new functionality to allow for different treatment based on TEI subcategory of a document.
Trouble is, oXygen determines the document type association (and assigns the framework to be used) on the basis of root element – its namespace, name or attributes (see image). It doesn’t allow matches that take into account anything stored deeper in XML tree structure. Luckily it does provide extension point, so it is possible to create custom Java code to aid the process of associating document type. Thanks to Alex Jitianu we’ve eventually arrived at an implementation of custom matcher that analyzes further down the tree trying to find a matching editorialDecl and assign more specific framework. If a match cannot be found the TEI framework will be assigned as per usual due to normal procedure based on root element characteristics.
The custom framework available now as oXygen add-on from here can recognize TEI Simple documents on the basis of editorialDecl and assigns default validation and transformation scenarios accordingly.
There’s still some work that needs to be done, so far it is required to reopen the file after adjustments to editorialDecl have been made for the framework assignment to work properly. There is a feature request for oXygen to fix this issue, but in the meanwhile maybe it’s not too great a distraction as it only needs to be done once at the creation of the file.
Many thanks to George Bina, Alex, Cristian and Mircea for accommodating me at Syncro and all your generous help. I’m looking forward to returning once more at the height of Romanian summer.
*TEI means linden tree in Romanian and – handy for the anecdote – I stayed in Casa cu Tei (Linden tree house) during my June visit in Craiova