Lou Burnard writes:
> Are these more than a few phrase-level elements? A really nice way
> forward would be to recast Docbook as a TEI extension... you'd just
> need to identify the specific elements which docBook has and TEi
> doesn't, and the TEI class they belong to. If they are as few as your
> list suggests, this wouldn't take very long -- and wouldn't it be cool
> to be able to combine the best of both docbook and tei!
Doing this in a maintainable way (so that TEIDB kept in sync with
Docbook) would be a serious business. And I am not sure it's
possible. Consider two situations
a) where Docbook uses the same name for a different element (they
probably have <xref> or <div> or something, I don't have the book to
hand), you are undone. OK, you hope that Docbook is modular, and that
the bits Gregory needs can be isolated within a discrete namespace,
but that depends on luck.
b) Even if you succeed in a), this isn't like MathML, which is a dead
end (that is to say, you don't find <xptr>s inside equations
much). In Gregory's added elements, the content model will
undoubtedly refer to general Docbook phrase-level elements (like
links), which provokes even more potential conflicts and confusion
(which linking set do you use?)
On the other hand, a precompiled drastic subset of Docbook might be
possible, but I dont think we have a tool to do it. We need to set
some parameter entity in Docbook to change the content model of <func>
to include <xptr> (for example), but we dont have <xptr> to hand at
time - it all starts getting circular. It would be great fun to try,
if anyone has a few days to spare.
I still claim that namespaces are a more natural solution which would
work on day 1 - except that we would not have a DTD :-}
how discrete are the chunks? how about a judicious
<xptr type="transclude" url="func67.dbxml"/>
which is processed to drag in the Docbook fragment at runtime?
Ideal solution - collaborate with Docbook people to develop a
standalone language we can all include (along the lines of
MathML). Chance of this happening: nil.