[sword-devel] engine filters vs CSS

Peter von Kaehne refdoc at gmx.net
Wed Jan 7 02:14:47 MST 2009


One of the sore points from last autumn was a discussion about TEI
encoded dictionaries and how poorly they display in absence of good
filters - etc. You all remember.

A couple of days ago I played a bit around with CSS, trying to see what
it could/would do to a TEI entry. I used "abash" from Easton (I think)

The result of a couple of hours work you can see here:

www.crosswire.org/~refdoc/private/abash.html

Look at the source to compare. Also note the absence of many of the
headings in the source TEI. CSS allows to insert text, which is a
brilliant tool to render tags with a high level of meaning (vs structure)

There are three cheats/caveats in there:

1) I did nothing to make the references work. They don't work.
2) I wrapped everything in HTML and BODY tags to make my browser play nice.
3) I had to delete a couple of lb tags which somehow broke my design. I
am sure I could find a way to resolve this without deleting them.

As more and more frontends move to fully CSS capable displays I think we
should consider to leave engine based filters behind and simply use the
XML provided by the engine in a raw state but slam CSS on top of this.

The immediate advantages appear to me

1)  very simple to code by people who do not know C++
2) very flexible display - maybe even on the fly accessible to power
users of frontends.
3) full semantics of underlying XML exposed which might allow other uses
of these.

At this stage a filter would still be required to deal with references
adequately. I presume a move from CSS to XSL could deal with this too,
but I have a lot less clue about XSL and how to use it in a browser
setting, so I did not even try.

Peter



More information about the sword-devel mailing list