Skip to content

What is DML?

Joshua Scott edited this page Oct 1, 2018 · 3 revisions

Overview

DML, or Data Markup Language, is a data serialization system found in KingsIsle games that defines application-specific data structures that are (usually) sent over an underlying KingsIsle Networking Protocol session. However, it should be made clear that DML is not a component of the KingsIsle Networking Protocol, and is something entirely separate; it just so happens that it is used as the application data for Wizard101 and Pirate101.

What is a DML Record?

A "DML Record" is made out of multiple "DML Fields". A "DML Field" consists of a field name (identifier), data type, value, and a "transfer" property that determines whether the field should be copied down, or "transferred", into the binary representation when being serialized.

Where is DML used in Wizard101/Pirate101?

DML is used in multiple places across KingsIsle games for multiple reasons. The most important usage is inside XML Message Modules, which define DML structures that are sent as messages over a KINP session. They are also used inside configuration files, such as inside defaultconfig.xml inside the Root.wad of Wizard101.

  1. Introduction
  2. Data Markup Language (DML)
    1. What is DML?
    2. DML Syntax
    3. DML Data Types
    4. DML Examples
  3. Property Class System
    1. Work in Progress
  4. KingsIsle Networking Protocol (KINP)
    1. Sessions
    2. Message Framing
    3. Message Structure
    4. Control Messages
      1. Session Offer
      2. Session Accept
      3. Keep Alive
    5. DML Messages
      1. Message Modules
      2. Binary Structure

Clone this wiki locally