[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:
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
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.
More information about the sword-devel