Editor for teaching TEI - features

From TEIWiki

Jump to: navigation, search

This is an attempt at listing the minimal set of features that a TEI editor used for teaching purposes should have.

1. Basic required features

1.1. multiplatform
1.2. validation with Relax NG
1.3. continuous validation
1.4. contextual suggestions (following the schema)
1.5. XSLT 2 transformation (Saxon HE? that would offer XQuery as well)
1.6. easy to use (think as opposed to Emacs, and think DH students)
1.7. free for students (as in beer)
1.8. syntax highlighting for XML (that naturally includes XSLT)
1.9. XPath queries (2.0 only would be fine)
1.10 Support for Oxygen project files enabling configuration of validation, transformation and templating; or an equivalent system for another editor.

Comments, justification, discussion

(please use the hard-set numbers; note that discussion is still running at TEI-L; everyone is welcome to modify this page)

  • Item 1.7. could imply a very moderate bulk licensing fee paid by the institution that provides training; we have to bear in mind that the entire discussion started because of a department refusing to pay regular licensing fees (deemed as too high) for a course that lasts a semester
  • "I would move your 2.2 and 2.3 (xpath query and help pop ups) up to the essential category. These are features I use all the time when teaching." (Lou Burnard)
    • just noting that a pop-up is only one of the possibilities (one can imagine a side panel appearing due to a keystroke sequence), but the discussion started originally from how oXygen could be dumbed down; I try to make the lists and considerations here slightly more general (Piotr)
    • very true Piotr! Whatever the interface, I agree with Lou that it's an important feature.
  • 2.5: "From a sustainability perspective, I would add "open-source" to the feature set, maybe in the "2. Ideally..." section. This may not be much pertinent from the short term opportunistic point of view of a student (or a teacher), but may help consolidate tools appropriateness to TEI for the long term, which is what TEI is all about." (Serge Heiden)
  • I have moved XPath queries from "Ideally" to "Basic features". In my experience, that's an essential point for students (and people in general). (Marjorie) I've constrained this to XPath 2.0; I think this would be sufficient. (Martin Holmes)
  • Could we preserve the possibility to use a third-party commercial tool, like Saxon PE, if the users need them and want to acquire them?
  • I've added Oxygen project files, or an equivalent system in a competing editor (Martin Holmes).
    • Could we just say "project files", which in the context of oXygen will be interpreted as "oXygen project files", and elsewhere as an equivalent system? Piotr
  • Another essential feature for me would be the ability to script a sequence of transformations etc. in the way that oXygen currently does when generating RNG and XHTML from an ODD file. It's currently done with an Ant script, but any scripting language will do. I routinely do an exercise which involves editing an ODD, generating a schema, using it to create a new file, et da capo. This is easy and seamless in oXyGen: doing it via the oXGarage web interface would be cumbersome and confusing. (Lou)

2. Ideally...

2.1. free (as in beer)
2.2. Inline documentation (i.e. the little pop-ups with the definition of the element)
2.3. pre-set templates (example?)
2.4. syntax highlighting for XQuery
2.5. open source
2.6. validation with Relax NG based on the xml-model PI in the document
2.7. possibility to auto-update the TEI schema at each new release

3. Features that can be eliminated from a "teaching editor" in order to decrease its cost

3.1. No XSLT 3 (as a consequence of the fact that no commercial tool such as Saxon PE/EE could be used in such an editor)
3.2. No need for XSLT or XQuery debuggers
3.3. no need for database connectivity
3.4. no need for a built-in SVN (etc.) client
3.5. no need for a Tree Editor such as the one offered by oXygen
3.6. no need for Compare Files/Directories tools
3.7. no need for big-file editor or big-file support in general
3.8. no need for syntax highlighting and editing support for some file types which are not XML-based (JavaScript, CSS, JSON, etc.).


The impetus for establishing the above came from a sub-thread on the TEI-L list bulleted by the following messages: [1], [2], [3]. The idea is to see whether the community can agree on a single feature set that a dumbed-down commercial editor can implement is a "student version" with an appropriate license. Or, as Martin Holmes puts it, we want to "arrive at something which would be utterly useless for the likes of me, and quite frustrating for serious users, but perfectly functional for teaching introductory XML encoding classes over a few months."

Personal tools