Character Description and Metadata Proposal


The purpose of this document is to describe a method to describe roleplaying characters in a uniform way. If XML character documents then use this namespace and these tags it will be possible to search metadata about characters across a variety of games and generators.

Currently PCGen's XML group are looking at ways to store character data for multiple types of system. Though the standard is still in discussion, the hope is the character information can be used for multiple systems. This standard should complement that one along with other forms of document storage.

Why Not Integrate This Proposal With The Standard?

This proposal is designed so that it can be used in a system independent way. The standard might catch many systems but not all, or some application designers might feel that a different format of the character data document might be better suited to their application (it's what XSLT is designed for) and this allows them the ability to use other tools developed for the metadata without bending to the standard.

Items Encapsulated by the Standard

The standard will include tags for storing:

It will also contain metadata about the following:

Here's an example document.:

<desc:description xmlns:desc="" xmlns:xlink="" xmlns:xsi="" xsi:sche maLocation="">






      <desc:full>H.P. Lovecraft</desc:full>


   <desc:alias target="all">



   <desc:description type="Physical" xml:lang="en-GB">
Short man, wears lots of bright colours.

   <desc:description type="Social" target="player">
Friendly and outgoing

   <desc:description type="Social" target="gm">
Out to take over the world.

   <desc:note target="GM" title="Roleplaying Hint">
He's friendly to the characters, but only becuase they'll help him take over the world.
</desc: note>





      <desc:location type="town">London</desc:location>


   <desc:image xlink:type="simple" xlink:href="lovecraft.jpg" xlink:actuate="onLoad" xlink:show="embed" xlink:title="H.P. Lovecraft" />

   <desc:quote source="Dunwich Horror" author="H.P. Lovecraft">A</desc:quote>

   <desc:meta name="generator" content="Byakhee CoC Generator v4.0beta0" />

   <desc:meta name="game" content="Call of Cthulhu (Edition: 5)" />

   <desc:meta name="setting" content="1920s" />


Note that the assumed namespace desc has been used and that XLink has been properly defined. It would be nice to use some formatting in the descriptions and notes and I think that using the Text Module and Hypertext formatting specified in The Modularization of XHTML.

Name and Alias Elements

The character's name consists of either a breakdown of the name or a full name. The breakdown obviously gives a better level of refinement, however a full name generally involves the user typing into less boxes. Both can exist within the same name and full should not contain a title which might be also available. If a breakdown name exists it should be used, however a generator might take either or both.

The alias element contains the exact same elements as name and provides a means to have an alias for the character (and the target audience for the alias). This provides a means to have replicate such fields as Handle in Cyberpunk 2020 and so forth.

All names and aliases may contain the sub elements:

All these elements, apart from middle must only appear once per name or alias element. middle can appear multiple times and should be read from the first child to the last.

Aliases may also have the optional attribute target to define who the alias is for.

Description and Note Elements

The description element is used to description a particular feature of the character, such as their physical appearance, or their history. The attribute type is used to distinguish what the description is of and the optional attribute target describes who the description is for (so players can have a different description from the GM).

The types of description should be an enumeration of available types, these are yet to be decided but some recommend values are:

Notes are similar however they are really just designed to be short notes about a character, possibly added during play (when something is discovered about a character) or some hints on how the character should be played etc. They share the same attributes as description

Other Attributes


The age of the character. Though it might seem to make more sense having a date of birth (and this might still be an option) if someone ports a character set in 1920 to their game set in 1912 then the character suddenly becomes eight years younger which might confuse things somewhat, I might have the option for either.


The gender of the character covered by the values Male|Female|None|Both.


A location for the character, this is designed to be used in other elements such as current Location or birthplace. A location has a type (whether it is a village, state, country, planet or dimension), and the parent element can contain more than one location. I've been tempted to use one of the many existing schemas for location that are out there. However since most are real world solutions they don't tend to accommodate the weird combinations that roleplayers go for.


An image of the character, I've been tempted to include some RDF data to better describe the image, and allowing multiple images (if people want a chain of images for a creature for example), however I'm still yet to talk about these details with others. The image uses XLink to describe the URI of the image.


A quote that was made about the character or by the character. I don't tend to use them but they can help describe a character.


Meta information such as the time the character was generated, who they were generated by, or the program used to generate. Uses the same format as HTML's meta element.