Hello!
TEI uses XML as a markup language and that is a good thing! One of the
very good (but unfortunately not seldom neglected or missunderstood) parts
of XML is its way to use namespaces: That is very useful when we want to
combine two or more of the (hundreds of) XML vocabularies! Each XML
vocabulary is given the possibility to evolve within its own namespace(s)
without all too deep negative consequences for the other XML vocabularies:
Each XML vocabulary have its own namespace(s).
RDFa, on the other hand is not designed to be used exclusively within the
safe and comfortable XML world. RDFa may be compared to Dublin Core when
it comes to this question. Both are often used within XML contexts, but
none of them are specifically designed for a use exclusively within XML.
(Of course, DC is otherwise something totally different from RDFa).
Using RDFa within TEI could of course be possible, but it requires to be
careful ... otherwise, we will soon leave the safe XML harbour!
RDFa will probably evolve. If it does not evolve, it will die. In either
case: If we use RDFa attributes within TEI instances, we will (sooner or
later) need to modify the use of the RDFa attributes within those TEI
instances. If the RDFa attributes are in no-namespace and scattered on
many TEI elements, any update of RDFa may require a lot of work to convert
all those TEI instances. This is specially true if new attributes are
defined within RDFa with the same name as TEI attribute names: We may need
to modify both the TEI instances using these attributes, the TEI schemas
used by these instances and other TEI instances using these schemas ...
(or give up RDFa).
RDFa core clarifies:
"When a Host Language does not use the attributes in 'no namespace', they
MUST be referenced via the XHTML Namespace ( http://www.w3.org/1999/xhtml
)."
In other words: To avoid future collisions between TEI's attribute names
and RDFa's (future) attribute names, we should make sure to never use any
RDFa attribute outside of its XHTML namespace. To avoid the need to update
a huge number of elements in TEI instances, the use of RDFa should be
restricted to only a few (if any) TEI elements.
One possibility would be to choose the safer way to avoid RDFa in TEI
instances and create some XSLTs adding RDFa attributes at the right place,
only when needed and only as late as possible. In such a case, future
updates of RDFa would (almost) never require any modification of the TEI
instances; instead, only a few XSLTs would need to be updated. An example
of such a (welcome!) XSLT could be a tei-to-xhtmlplusrdfa.xslt
transformation.
An other possibility would be to sandbox RDFa within TEI, that is: We
could create a new element (for example a tei:RDFaUsage element) as a
child of the TEI-header. Within this tei:RDFaUsage element, each TEI
instance author could provide some information (possibly using RDFa
attributes within their XHTML namespace) about the intended use of RDFa in
output created from this instance using XSLTs (assuming that these XSLTs
are written in such a way to take into account the contents of the
tei:RDFaUsage elements). Assessing the need for a tei:RDFaUsage element
would require detailed use cases, though.
Furthermore, RDFa is aimed at "linking to something" (in some broad
sense): How this "linking" will be achieved in the future and to which
"things" these links will link in the future is not yet defined.
In other words: As of today, I can not find any need of RDFa within TEI
except for tei-to-xhtmlplusrdfa.xslt and similar welcome transformations
(and possibly a tei:RDFaUsage element if convincing use-cases are
provided).
Finally, let's remember that RDFa is more a useful mean than an aim per
se.
Regards!
SaaĊĦha,
|