• The VOIDRUNNER'S CODEX is LIVE! Explore new worlds, fight oppressive empires, fend off fearsome aliens, and wield deadly psionics with this comprehensive boxed set expansion for 5E and A5E!

D&D 4E 4e Character XML Schema

ninjeff

First Post
Hi, I've been lurking for a while but decided to introduce myself with a contribution. :)

I've been seeing a lot of electronic character sheets flying around, each with their own aesthetics. I'd like to try each of these out with my character, but I really don't want to type him into each one. I've also been playing with some typed-up sheets of my own, but the possibility of accidentally changing the content while editing the format always annoys me.

I'm here to offer a partial solution to this problem. I've attached an XML schema that I've created that requires all of the most basic information in a 4e character. That means that any application or template that can read XML can get your character and use it to display a sheet, or for an online tabletop, or whatever. It also means that any application for making characters can take advantage of this schema and create characters that all of those applications can read.

I must repeat that this schema contains only the most bare-bones information about a character: it doesn't store your ability score modifiers from race, or the class features you get automatically, or anything like that. It doesn't even store your level; applications are assumed to be able to work this stuff out for you. It does, however, have the option to store information about your current hp, surges, used powers, etc.

There are two versions of the schema included in the attached .zip file, one in RELAX NG's compact form and the other an automatically-generated XSD version. I've also included three sample characters, all taken from Keep on the Shadowfell: the dwarf cleric, the halfling rogue, and the half-elf cleric. To demonstrate the "current" information, the cleric is advanced to level 2 and is halfway through an encounter.

I hope that this will be useful for anyone working on 4e apps! If anyone has any questions or suggestions, post away.
 

Attachments

  • XML Sheet.rar
    3.9 KB · Views: 109
  • XML Sheet.zip
    4.1 KB · Views: 161
Last edited:

log in or register to remove this ad



dragon_eater

First Post
I like XML. I'll post a lot later but here are my initial suggestions.

Put all the attributes in their own root node.
Also the class could be more in-depth because of paragon paths and epic destinies.

It could be like this. (I used the Dwarf)
Code:
<character>
   <!-- trimmed -->
   <class>
  	<baseclass>
            <name>Fighter</name>
            <choice tag="fighterWeaponTalent">TwoHanded</choice>
  	<paragonpath>
            <name>None</name>
        </paragonpath>
  	<epicdestiny>
            <name>None</name>
        </epicdestiny>
  </class>
   <attributes>
      	  <strength>16</strength>
	  <constitution>14</constitution>
	  <dexterity>13</dexterity>
	  <intelligence>10</intelligence>
	  <wisdom>12</wisdom>
	  <charisma>11</charisma>
   </attributes>
   <!-- trimmed -->
</character>

p.s. You put the Half-elf's race as Halfling.

Edit: After looking at the Half-elf's sheet I really like the current part of the sheet.
 
Last edited:

ninjeff

First Post
dragon_eater said:
I like XML. I'll post a lot later but here are my initial suggestions.

Put all the attributes in their own root node.
Also the class could be more in-depth because of paragon paths and epic destinies.

It could be like this. (I used the Dwarf)
Code:
<character>
   <!-- trimmed -->
   <class>
  	<baseclass>
            <name>Fighter</name>
            <choice tag="fighterWeaponTalent">TwoHanded</choice>
  	<paragonpath>
            <name>None</name>
        </paragonpath>
  	<epicdestiny>
            <name>None</name>
        </epicdestiny>
  </class>
   <attributes>
      	  <strength>16</strength>
	  <constitution>14</constitution>
	  <dexterity>13</dexterity>
	  <intelligence>10</intelligence>
	  <wisdom>12</wisdom>
	  <charisma>11</charisma>
   </attributes>
   <!-- trimmed -->
</character>

p.s. You put the Half-elf's race as Halfling.
Thanks for the suggestions. Looks good! And good catch on the race; to be honest, I made one character first and then modified it for the others.

If more suggestions start coming in, I'll make an updated version of the schema. It would be good if we could have a community standard for this, as 4e seems to be much more appropriate for digital characters than 3e was.

Edit: Just read your edit. Thanks! :)
 

dragon_eater

First Post
ninjeff said:
Thanks for the suggestions. Looks good! And good catch on the race; to be honest, I made one character first and then modified it for the others.

If more suggestions start coming in, I'll make an updated version of the schema. It would be good if we could have a community standard for this, as 4e seems to be much more appropriate for digital characters than 3e was.

Edit: Just read your edit. Thanks! :)

I agree, standards are always good.

Also doing the same thing with races as with classes would be good. Here is what I think the Half-Elf race could look like.
Code:
  <race>
     <name>Half-Elf</name>
     <choice tag="language">Draconic</choice>
     <choice tag="dilettante">Cleave</choice>
  </race>
 

banana

First Post
I agree that having attributes in a block of their own would be perfect pertaining to presentational/parsing purposes. I'm less liking the paragon path placement and epic etcetera.. eh, why would we want whimsical categories containing clear common criteria?
 

dragon_eater

First Post
banana said:
I agree that having attributes in a block of their own would be perfect pertaining to presentational/parsing purposes. I'm less liking the paragon path placement and epic etcetera.. eh, why would we want whimsical categories containing clear common criteria?

I suppose the only reason I did that is because I wanted to group class, paragon path, and epic destiny together. I agree that it isn't as relevant as grouping attributes.
 

ninjeff

First Post
I'm going through and making some changes, and it occurs to me that it's kind of ugly to have e.g.:
Code:
<feats>
  <feat>
    <name>Channel Divinity: Armor of Bahamut</name>
  </feat>
  <feat>
    <name>Group Insight</name>
  </feat>
</feats>
How about, instead:
Code:
<feats>
  <feat name="Channel Divinity: Armor of Bahamut"/>
  <feat name="Group Insight"/>
  <feat name="Weapon Focus"> <!-- just here as an example -->
    <choice tag="weapon">Longsword</choice>
  </feat>
</feats>
That way, a feat (or class, race, etc.) with no choices is simply a single element.

I'm undecided about the class grouping, but it is largely cosmetic, so I guess that can wait for a few more opinions. :)
 


Voidrunner's Codex

Remove ads

Top