Print

Print


At 10:39 AM 9/5/95 -0500, [log in to unmask] wrote:
 
>Peter Robinson writes in 'The transcription...' that DynaText is well suited
>to browse TEI files. In my asumption, a TEI 'engine', or 'browser' for that
>matter, would have to be able to process milestones, implement the extended
>pointer syntax, check for valid attribute values, understand %inherited, be
>able to check and implement the directions recorded in the WSD, and
>represent elements such as <expan> well. Can anyone tell me if this is
>covered in the DynaText browser? Which browser, if not DynaText, does all
>this for us?
 
Caveat for anyone new to the list: I *am* connected to DynaText, as its
system architect. I've worked with the TEI for even longer than DynaText
has been around, particularly on Text Representation, WSDs, and Hypermedia.
 
That said, I think Arjan has given a good set of requirements above, but
they cover a wide range of applications. For example, as a delivery engine
DynaText doesn't concern itself much with authoring issues, under which I
should think "check for valid attribute values" would fall.
 
I think it fair to say you will find no engine of any kind that will do
everything listed above well. DynaText, however, does quite a lot of this
off the shelf, and one could build much of the rest using our toolkit (a
possibility not even available with most products). Specifically:
 
* Process milestones: Depends, I suppose, on what "process" means. If you
mean find a milestone given its attributes, step a view through milestones
in either direction, count them, or display some kind of marker and
information at each milestone's location, that's all trivial off-the-shelf.
I did a little demo for the Women Writers' Project a couple years back
where you could read and search documents in DynaText, and each "page"
milestone also caused an icon to appear in the margin, which if clicked
brought up a scanned image of the same page you were reading; that worked
rather nicely, I thought.
 
* Implement the extended pointer syntax: the syntax from P1 has been
available in DynaText off-the-shelf for years. P3 is in the works but not
yet released. It can also be built with our toolkit, which gives complete
access to the tree structures and to all indexing information for content,
attributes, and GIs.
 
* check for valid attribute values: I would consider this an authoring-time
issue. However, if you want display-time checking you could rig it up in
the style sheet, for example to turn some element's content pink or slap up
a warning icon if some attribute doesn't have a value in a given list.
 
* understand %inherited: This could mean several things. At one level, any
SGML parser understands it since that's what it means to be a parser. At
the opposite extreme, of course no computer can 'understand' it at all. We
do have built-in provision for inheritance of attribute values, which may
be what you had in mind. For example, in a stylesheet you can not only
refer to attr(TYPE) to access the value of some named attribute of an
element, but inheritedattr(TYPE), which will look upwards through ancestors
until it finds the specified attribute. I think that's unique to us.
 
* able to check and implement the directions recorded in the WSD: Sorry, no
can do right now. However, the system supports a wide variety of Eastern
and Western writing systems, and you can select fonts and coded character
sets on the fly based on element types, the LANG attribute, etc, plus
specify character-> character mappings to reconcile your fonts with your
character sets.
 
* represent elements such as <expan> well: I suspect what you have in mind
is something like seeing either the expanded or the original form at will.
That same WWP demo I did a while back did something fundamentally similar
with a few lines of stylesheet magic: I think we were using <sic> and
<corr>: you could just pick the view you want and get either the original,
the correction, or both (with one bold and one struck-through or some
such).
 
Hope that's helpful. Oh, I can't resist mentioning that this will all work
portably across Mac, Windows, and most flavors of Unix.
 
Steve DeRose
Sr. System Architect, EBT
[log in to unmask]