Lou Burnard wrote:
> Jon Noring wrote:
>> I'd be interested to know what aspects of TEI-Lite (and TEI in
>> general) make direct rendering difficult (even if we were to
>> augment CSS2/3 with a couple TEI-specific properties)? "Aspects"
>> include elements, attributes, and content models.
> I think the point Sebastian was making is that TEI Lite allows for a
> wider range of possibilities than most implementors can hope to
> handle, and that therefore most practical implementations have had
> to make up their own rules of thumb as to what they will support.
> For example, TEI defines a <list> element with a TYPE attribute, but
> only *suggests* some values. This means that an implementor can be
> pretty sure what to do with (say) <list type="ordered"> or
> <list type="gloss">, but may well also be confronted by a
> <list type="frabjous"> or <list type="potzbrje">> which the TEI Lite
> schema will happily accept. This shocking liberalism applies even
> more to the notorious REND attribute.
Thanks. Definitely the attribute values and content model will need to
be tightened for a useful digital publication schema based on TEI (for
now, we can call it "TEI-OpenReader".) Although it appears TEI was
primarily developed to represent existing dead-tree artifacts, its
fundamental design is excellent for standardized digital publishing
purposes of many publication types. It's just a matter of properly
subsetting and tightening up as Sebastian noted.
> TEI Lite is also pretty loose in its content models. You can for
> example put a <label> anywhere at all, even within a <label>. So a
> labelled list might appear as a sequence of <label> <item> pairs, or
> as a sequence of <item>s, each with a <label> at its start. Or you
> might find a <label> at the start of a <p>. These are all practices
> I have witnessed in current applications of TEI Lite.
What's nice about a selected subset is that the content models can be
tightened up, and still be conforming TEI.
> I'm curious as to what you mean by "direct rendering": from context
> it appears you mean "using CSS to attach formatting properties to
> specific XML constructs". There are quite a few TEI notions for
> which that won't really hack it -- out of context <note>s is one.
> <divGen> is another. And I'm none too sure about how you will handle
> conditional constructs like the <sic / corr> janus elements, now
> replaced by <choice> in P5.
I am very aware of the <note> tag, and in my prior message
specifically mentioned that. The HTML paradigm never has supported
inline annotations (which are intended to be presented outside the
flow of the main content, such as in a popup, or at the bottom of
the page, for visual presentation purposes.)
And I am very aware of the limitations of CSS in handling such inline
annotative content (but CSS does have some ability to move such
content outside of the main flow and present it in a separate box --
Mozilla/Firefox and Opera browsers support the needed CSS, but IE6
does not.) However, CSS 'display' does not include a value like "note"
or "sidebar" to signal to the user agent the structure represented by
the content (and CSS is not the right place for this, anyway, which is
a whole 'nuther message.)
The OEBPS framework, however (which OpenReader will employ), includes
support for what is termed "out-of-spine content", where some of a
book's content can be specified as being "outside" the linear reading
order of the document. So conforming OEBPS Reading Systems *have to*
handle such content -- for example, Microsoft Reader presents
"out-of-spine" content in a "pagelet", similar to a popup. Of course,
inline annotations can be considered, and trivially processed, by
OpenReader user agents to be "out-of-spine" and displayed
appropriately upon some user action, like clicking on an icon or
notemark.
Thus, with native TEI-* support in OpenReader, inline annotative
content can be handled in unique ways. We don't see this in current
web browsers because they follow the "HTML paradigm", and the HTML
paradigm does not specially recognize inline annotative content --
it just assumes it's part of the main flow. (As an aside, it appears
that XHTML 2.0 is going to add inline annotative capability with the
understanding that 2.0-conformant web browsers will somehow present
that content out-of-the-flow.)
Regarding the conditional inline tags (in P5, <choice>, which I just
read the draft document), I'm not sure if TEI-OpenReader will need
to support these -- I see <note> as being sufficient for many of the
uses of <choice>.) On the other hand, support for <choice> should not
be difficult for OpenReader reading systems to implement -- it just
needs to be better defined and tightened up as Sebastian discussed.
That's the opportunities OpenReader has in not being restricted to
the "HTML paradigm." (Hmmm, <choice> may have some cool applications
for certain types of hypertext literature -- have to think about that
further.)
>> One important point to note about OpenReader is that the planned
>> reference implementation "OpenReader user agent" (some might call it a
>> "browser" but we try to avoid using that term) is not going to
>> restrict itself to the HTML paradigm.
> Well, huzzah for that. But what will replace it? Something like FO
> perhaps?
No. What is meant is that we don't have to be *constrained* by HTML,
as web browsers are. Handling the TEI <note>, as just described, is a
good example.
>> TEI's table model is different than HTML's, so I gather, so that's
>> another issue to deal with, but I don't see this as being major.
> TEI has no table model to speak of -- it says tables are made of rows,
> which are made of cells. And that's about it!
Interesting. But isn't it a table model anyway? Isn't TEI's table
specification good enough to unambiguously define the precise location
of all the cells (and associated content) in the table array?
(So maybe the real question to ask is if TEI's "table model" is
compatible with the CSS table model? That is, can CSS be used to
define the presentation styling of any TEI table?)
> This is again something that implementors have difficulty with when it
> comes to rendering TEI tables. It's an acute example of the basic TEI
> design principle of representing *only* the semantics of the document,
> and prefering to consider its appearance or rendering as a "simple
> matter of programming"
Interestingly, publishing work flow considerations, and the pressures
of supporting multiple presentation platforms and accessibility
requirements is moving the digital publishing industry in the
direction of total separation of presentation/styling from the
content (which is structurally/semantically marked up.) XHTML is also
moving in the same direction, as seen by the draft XHTML 2.0
specification.
Those who use XHTML to markup ebooks and similar types of publications
are using structural markup, defining classes that make the document
look almost like a pseudo-TEI document, so the jump to using a TEI
dialect for simultaneous structuring and presentation purposes is no
longer out of the question, and confers lots of advantages. And once
we no longer have to constrain ourselves to the limitations of legacy
HTML and HTML browsers (e.g., the TEI <note> tag as described above),
then TEI (a good, tight subset of it at least), is now looking very
attractive for *direct rendering* applications, such as in OpenReader.
As just alluded to, this has advantages in simplifying the entire
publishing work flow and simultaneously meeting various requirements.
(A project I'm working on, which illustrates the use of XHTML 1.1
markup in a purely structural/semantic manner, and also meeting most
accessibility standards, is found at
http://www.openreader.org/myantonia/ . I believe that its conversion
to TEI, outside of the cover page/metadata area, would almost be a
direct mapping definitely not requiring XSLT, but I'll leave this to
the TEI experts to verify.)
Thanks for your feedback.
Jon Noring
OpenReader Consortium
|