Print

Print


Stefanie --

Short answer
----- ------
See http://www.wwp.northeastern.edu/outreach/seminars/_current/presentations/contextual_encoding/advanced_context_tutorial_00.xhtml
(Formatting is kinda poor, and really awful on the particular slide
you want, #2. Sorry.)

Long answer
---- ------
Sadly, TEI does not actually have a standard mechanism for saying
"here is information about a person that I want to provide; there is
more information available THERE". The mechanism suggested by Laurent
(using an <idno> inside a <person>) is a very good one. 
| <person xml:id="pHan">
|   <persName>
|     <surname>Solo</surname>
|     <forename>Han</forename>
|   </persName>
|   <idno type="SWW">http://starwars.wikia.com/wiki/Han_Solo</idno>
|   <!-- ... -->
| </person>
It has several advantages: it allows multiple references to other
sources of information, and it allows each source to be categorized
using @type, and those categories can (and should) be defined in your
ODD.

Another mechanism (that is recommended in the tutorial link above) is
to use @ref on the first child <persName> of <person>. This has the
disadvantages of being slightly less standard, and of making it
difficult to refer to more than one external resource. (By
definition, if there is more than one URI in the value of @ref, it
indicates that "the name identifies several distinct entities"; so if
you want to point at more than one reference about the same entity
you end up doing something complex similar to what is exemplified on
page 9 of that tutorial.) The advantage, though, is that your XML
system will validate that the value of @ref is a URI.


Geoffrey Williams also shows use of <idno> in the same way Laurent
does, using what may be treated as either a fully-qualified name or
as a URL (using the <prefixDef> mechanism) as the content of
<idno>. I think this is great. There is one major problem in his
example, though: the use of @xml:base is simply wrong. @xml:base is
defined (by the W3C specification,[1] so TEI has nothing to say about
it) as indicating a base URI against which relative URIs should be
resolved. It has nothing to do with "look here for further
information". Thus the encoding exemplified means "if you find a
relative URL, resolve it according to the French wikipedia page on
Jacques Abbadie". E.g., in
| <person xml:id="pJH">
|   <persName type="informal" xml:base="http://starwars.wikia.com/wiki/Jabba_Desilijic_Tiure">
|     <forename>Jabba</forename>
|     <nameLink>the</nameLink>
|     <surname><orgName ref="#oH">Hutt</orgName></surname>
|   </persName>
|   <!-- ... -->
| </person>
the <orgName> *does not* point to your internal orgography entry for
the Hutts, which has an @xml:id of "oH". Rather, it points to the
non-existent "oH" portion of the web page
http://starwars.wikia.com/wiki/Jabba_Desilijic_Tiure, which is not
what you want.

It is also worth noting that we do not use full ISNIs as the value of
@xml:id not because colon is not allowed, but because an @xml:id is a
way of being pointed at, not a way of pointing out.


Maarteen Janssen posts a very good idea: to keep the <listPerson>
separate from the encoded transcription. As pointed out, this is
particularly useful when you have multiple transcriptions but only
one set of people to discuss.

However, I think when '<person ref="listperson.xml#person_00001"/>'
is mentioned as being used from the header, '<persName
ref="listperson.xml#person_00001"/>' from the text is what is
intended (or something like '<persName ref="per:person_00001"/>', if
you take advantage of the <prefixDef> mechanism), as <person> does
not have a (@ref) attribute. (Personally, I think it should.)

Notes
-----
[1] https://www.w3.org/TR/xmlbase/