PS: Here’s a great example of displaying an “ography” via the TAPAS project: 



On Sat, Dec 9, 2017 at 8:50 PM, Elisa Beshero-Bondar <[log in to unmask]> wrote:
Dear Chris,
As you’re finding, personographies are hard work—and I sometimes think of the lists of names and ids as something like  the “backbone” of many a TEI project—something that can be used to connect and integrate all the project pieces based on commonly referenced names. You can construct lists of places (listPlace), lists of organizations (listOrg), lists of texts (listBibl), lists of events (listEvent), etc., and yes, of course we want to use these as the basis for generating clickable links in a web interface of our projects. This part takes a lot of planning, but you might think of the TEI personography (or prosopography listing) as a foundation or framework on the strength of which the website is built.

For link-ability, the attribute you really need in your personography is the xml:id, because with that you’re applying a unique identifier to each name on your list. When you reference a name on a page somewhere in your site, and you generate a link to reveal more information, you’ll be linking to something that holds that unique identifier. There are lots of ways to do this: You can use @ref attributes on something like 
<name ref=“#id”>Jaime</name> inside a given document’s running text, with the understanding that the @ref attribute points to a <person> element in your personography:

<person xml:id=“id”><persName><surname>Lannister</surname><forename>Jaime</forename></persName> 

The trouble (as you’ve noticed) is that the @ref isn’t a complete link. (Indeed(!) I’ve heard experts on Linked Open Data comment that this simple referencing of an identifier is not good practice, and really those @ref values ought always to be full URLs).  Well, you can and should, in writing or adapting XSLT, add the foundation of a URL to those values, and of course that means you need to store your personography in some form (XML or HTML) at a URL you can reach. Much depends on where you are storing your project files and how they interact with one another. You can build a network of files on an Apache web server yourself or work with a service like the TAPAS project ( which might be a good way to get started with integrating a personography file with a project as you’re learning your way. 

 I recommend working with eXist-db (an XML database) if you have lots of XML files that you want to be connected to your personography file. There are some great tools and plugins in eXist (such as TEI Publisher) to help facilitate HTML transformations and the generation of links, although others with more experience could probably report on how this handles personography files. I also recommend checking out CETEIcean ( ), which I admire because it preserves the semantic richness of the TEI in HTML 5. All of this takes some adaptation, and I guess I’m laying out the proverbial garden of forking paths here: There are many possibilities, and yes, this is up to the developer to decide how to proceed in building on the XML code.

Here’s a small example from one of my projects: . On mouseover of an underlined name, you’ll see blue pop-up notes: Those are pulled in from my personography file.
The file itself is here:

Here’s what’s happening to link the files: I store my “ography” XML file on my project web server and point my rendered letters pages at that file when I need to “pull in” material for annotations—basically with an XSLT file that reaches into the prosopography file and steps with XPath into the appropriate person holding an @xml:id. There’s a transformation from XML into HTML that’s happening within a server installation of eXist-db to render the letter in the web browser with its mouseover annotations.

Fair warning: my project files are under development and constitutionally messy—but over time, this will look better as we work on the interface and the content—that’s one of the “organic” pleasures of building on the web. I hope this helps give you some ideas.


Elisa Beshero-Bondar, PhD
TEI Technical Council Member
Director, Center for the Digital Text | Associate Professor of English
University of Pittsburgh at Greensburg | Humanities Division
150 Finoli Drive
Greensburg, PA  15601  USA
E-mail: [log in to unmask]
Development site:

On Dec 9, 2017, at 7:49 PM, Chris Selwyn <[log in to unmask]> wrote:

I have been struggling with how to handle my personography.

I understand from the TEI Guidelines Ch. 13 how to construct a personography by making a separate file which contains a <listPerson> of <person> elements. I can also see from Ch. 13 how to refer to those entries using an @ref.

What I am failing to see is how the TEI XSLT stylesheets render the @ref attributes into a clickable links in HTML.

Is there something obvious I am missing or is the rendering supposed to be left up to the developer to decide how to do it? Does anyone have a worked example?

Chris Selwyn