†Ûiÿü0Âfš‡(›öÛ³ü( %vfThe Camelot Herald
  
 
Search Herald:
 
Knowledgebase:
 
 
  


 Herald XML

Important Note: These instructions are designed for the use of experienced web programmers and are not intended for novice designers. Mythic Entertainment CANNOT provide you with help or support on understanding or implementing anything described on this page for your own web site!

Legal Information: Content is only for use by non-commercial sites. Mythic reserves the right to refuse or withdraw permission to reproduce any of this material from any sites which by its sole determination do not inure to the benefit of Mythic Entertainment, Inc.

Last update: 12/31/2004

The Camelot Herald XML files are in the process of being reworked and information from the new expansions is being added. When this is complete this documentation will be updated. Watch the Camelot Herald news for updates!

XML files available
Using Camelot Herald XML with Windows NT and IIS
Using Camelot Herald XML with Unix, Apache and PHP
Using Camelot Herald XML with Javascript

Here's some basic information on how to access data published by the Camelot Herald for your own use, such as for publication on your guild's website or a Dark Age of Camelot news site.

The Camelot Herald publishes data for the use of external web sites via XML. The XML we publish is very basic, using a strict XML 1.0 specification, and should be usable by any XML-compliant web platform. To that end, rather than "well-formed" XML or the Microsoft schema, our XML pages use a DTD, called "mythic.dtd" available here.

Currently published information includes:


SERVERS.XML
http://www.camelotherald.com/xml/servers.xml

If you are viewing this page using Internet Explorer 5.0 or higher, you should be able to follow the above link and view its XML code. This page is updated constantly and provides the following data:

  • Server name
  • Server type
  • Current user count
  • Whether or not the server is up
  • Ownership of all relics on the server
  • Ownership of all keeps on the server
  • Optionally, if an individual guild has laid claim to a keep, its name, website, and Herald web page.

The data format, like all XML, should be fairly self-explanatory. Here's an example:

<server name="Pendragon" type="Test">
  <population>70</population>
  <status>Up</status>
  <relic name="Scabbard of Excalibur" type="Melee" realm="Albion">
  <owner>Albion</owner>
  </relic>
  <keep name="Caer Boldiam" realm="Albion">
  <owner>Albion</owner>
<claimant>Tommy Tutone</claimant>
<claimant_guildurl>http://www.tommytutone.org/
</clamant_guildurl>
<claimant_heraldurl>http://www.camelotherald.com/guilds
/Pendragon/8675309.php</claimant_heraldurl>
  </keep>
</server>

The "realm" attribute for relics and keeps denotes the original owner of the relic or keep. The "owner" element denotes who currently owns the relic/keep.

claimant, claimant_guildurl and claimant_heraldurl only display for a keep if that keep is currently claimed by a guild. If you are feeling particularly ambitious, you could parse claimant_heraldurl, replace php with xml in the url and download the guild's xml file programmatically. Uses for this are left as an exercise for the reader.


NEWS.RSS
http://www.camelotherald.com/xml/news.rss

If you are viewing this page using Internet Explorer 5.0 or higher, you should be able to follow the above link and view its XML code. This page is updated whenever a story is entered or edited on the Herald and provides the newest 7 stories in RSS format. This is the same format used by Slashdot, Motley Fool, and many other sites to syndicate their news stories and there are hundreds of RSS/RDF tools available for PHP and ASP to parse this data.


INDIVIDUAL GUILD XML PAGES
Sample guild page: http://www.camelotherald.com/guilds/Pendragon/281.xml

If you are viewing this page using Internet Explorer 5.0 or higher, you should be able to follow the above link and view its XML code.

These pages are updated approximately every half hour. The data within them is refreshed irregularly depending on the server. Our target for character data refreshes to the webserver is at least every 72 hours.

Each guild has its own XML file, which can be read both for basic guild information and for basic statistical information on each character within the guild. The guild data is contained within <guild_status>.

Basic guild information is embedded within the <guild> tag using attributes. Each character is a seperate <character> record within the guild container, using both attributes and elements.

<guild name="Arcanium" realm="Albion" activechars="74"
activemembers="40" guildrp="171249" contacturl="" websiteurl=""
timestamp="2002-03-03 11:59:31"
sshield="http://www.camelotherald.com/shields/4-2-2-full.png" semblem="http://www.camelotherald.com/realms/
insignia/b_emblem_039.gif">
<character name="Galihaed" laston="Recently">
<race>Highlander</race>
<class>Armsman</class>
<level>50</level>
<guildrank>8</guildrank>
<totalrp>4801</totalrp>
<lastweekrp>0</lastweekrp>
<anon>True</anon>
</character>

Important fields within the <guild> tag:

ACTIVECHARS: How many active (logged in within 45 days) characters are within the guild. One guild member may have multiple characters.

ACTIVEMEMBERS: How many active (logged in within 45 days) members are within the guild. Again, members can have multiple characters. Members are not associated with their characters due to privacy concerns.

GUILDRP: Current Guild Realm Points. This is seperate from character Realm Points. These are not Guild Bounty Points, which can be spent and are not displayed on the Herald due to inter-realm competitive concerns.

CONTACTURL and WEBSITEURL: contact information about the guild entered by the guildmaster from within DAOC.

TIMESTAMP: The last time the individual character data for this server was refreshed.

SSHIELD: URL to graphic of guild's emblem background stored on Camelot Herald..

SEMBLEM: URL to graphic of guild's emblem sigil stored on Camelot Herald.

The shield graphic is designed to be the background of a table containing the emblem graphic (consult any Herald guild page for example HTML).

Please be kind and download these and the emblem graphics to your own web server before using them in your own pages. Linking them directly adds to the server load and bandwidth costs of this server, and abuse will cause these graphics to be removed.

Most of the fields within the <character> tag are self explanatory.

TOTALRP: Total Realm Points for that character. These are not Bounty Points, which can be spent and are not displayed on the Herald due to inter-realm competitive concerns.

LASTWEEKRP: Realm Points that character has earned within the past week. We attempt to keep this number up as much as possible but due to the length of time it takes to compile character data it may not be authoritative.

ANON: Whether or not the character has chosen to flag their character "Anonymous" to external data collection. This feature as well as exporting of character trade skills is currently in development by the game programmers. Currently everyone is set to an Anon value of "True".


SPELLS.XML
SPELLS-SI.XML
http://www.camelotherald.com/xml/spells.xml
http://www.camelotherald.com/xml/spells-si.xml

If you are viewing this page using Internet Explorer 5.0 or higher, you should be able to follow the above link and view its XML code. This page is updated after every server patch and provides complete data on every spell line in DAOC. See the seperate mythic_spells.dtd for a complete breakdown of what information is published.

SPELLS-SI.XML includes Shrouded Isles - specific spells and includes two new elements - petcast and sub_spell. Petcast is for spells that the caster commands the pet to cast - it lists the value for the original caster, and the spell attributes themselves are used by the pet when casting. Thus a spell with a cast time in petcast of instant and of 2 seconds in the spell itself is interruptible when cast by the pet.

sub_spell is a spell cast as a result of the first spell. This is used by pets that cast their own targeted spells, or proc adding spells that add the sub_spell as a proc.

Other notes/quirks with the spell XML pages:

Negative values in spell damage/bonus scores indicate percentages. Thus "Beautified Remedy", a Cleric heal spell that heals 50% of the target's health will have a value of -50.

Disease is not quantified in the XML, as it is a static debuff effect. Disease always debuffs the target by 7.5% movement and 15% total hit points, and prevents health regeneration.

STYLES.XML
http://www.camelotherald.com/xml/styles.xml

If you are viewing this page using Internet Explorer 5.0 or higher, you should be able to follow the above link and view its XML code. This page is updated after every server patch and provides complete data on every combat style in DAOC. See the seperate mythic_styles.dtd for a complete breakdown of what information is published. Note that the damage listed on this XML file is in many cases different from what actually displays as /delve in game. We are working on reconciling these differences as quickly as possible.


Now that you have this information, the next question naturally is what will you do with it. If you don't already have an XML publishing system for your web site, there are a number of options.

If you are running IIS on a Windows NT web server, this article on 15 Seconds is a good quick introduction to using the XML document object model with ASP. The article assumes that you are first downloading the XML document locally before parsing it with your web page using this method, so it isn't the most efficient method of importing data. Jason Olsan (Corrael of The Lost Patrol, Merlin/Hibernia) pointed us to an article on MSDN that explains the open method for the Microsoft.XMLDOM object that will retrieve the XML data remotely. Here's a short JScript-ASP code snippet:

<%@language=JScript%>
<%
var objSrvHTTP;
objSrvHTTP = Server.CreateObject ("MSXML2.ServerXMLHTTP");
objSrvHTTP.open ("GET","http://www.camelotherald.com/xml/servers.xml", false);
objSrvHTTP.send ();
Response.ContentType = "text/xml";
Response.Write (objSrvHTTP.responseXML.xml);
%>

Microsoft is making XML a core part of its Web Services initiative with Windows XP and .NET, so there's a great deal of information available on MSDN, most of which assumes you are using .NET and Windows XP.

If you are running Apache on either Unix or Windows NT, chances are good that you are using PHP for serving dynamic pages. (A quick glance at the URL in your browser should tell you how we feel about PHP.) PHP can optionally be installed with core XML support using the expat parser. If your server is so configured, there is an excellent tutorial at SitePoint on how to use PHP to import XML data. Or, you could use these ready-to-go PHP pages provided by the Purple Dragons.

If your server's PHP module is not compiled with the XML library, you can use the php.XPath classes to provide basic XML functionality.

And if all else fails, Scarab at the incredibly popular DAoC Catacombs site (yes, we use the Character Builder all the time here at Mythic, too) has graciously made two files for displaying server counts available from his own web server that can be included in your own site using Javascript. Here's how.

We plan to provide as much information to the DAoC community as possible via XML; hopefully it proves useful to you.

Important Note: These instructions are designed for the use of experienced web programmers and are not intended for novice designers. Mythic Entertainment CANNOT provide you with help or support on understanding or implementing anything described on this page for your own web site!


 

© 2008 Electronic Arts Inc. All Rights Reserved.
Privacy Policy | Terms of Service