Skip to content

XML Schema Specification

Nicholas de Paola edited this page Jan 23, 2026 · 2 revisions

Overview

The project uses an XML-based schema for encoding project data between the frontend and desktop tool - this wiki article describes the XML specification.

Example

<order>
    <details>
        <quantity>7</quantity>
        <stock>(S30) Standard Smooth</stock>
        <foil>false</foil>
    </details>
    <fronts>
        <card>
            <id>1wlrM7pNHQ5NqS9GY5LWH7Hd04TtNgHI4</id>
            <sourceType>Google Drive</sourceType>
            <slots>0,1,2,3</slots>
            <name>Rite of Flame.png</name>
            <query>rite of flame</query>
        </card>
        <card>
          <id>1Sy9Me6fD3Kt6eWpN_RX3tGo2DqgUHFwa</id>
          <sourceType>Google Drive</sourceType>
          <slots>4,5</slots>
          <name>0. Huntmaster of the Fells.png</name>
          <query>huntmaster of the fells</query>
        </card>
        <card>
          <id>./card name.jpg</id>
          <sourceType>Local File</sourceType>
          <slots>6</slots>
          <name>card name.png</name>
          <query>card name</query>
        </card>
    </fronts>
    <backs>
        <card>
            <id>1M7LJMlEmYumq8QtiYt1HNfJt1Zmi1Y9j</id>
            <sourceType>Google Drive</sourceType>
            <slots>4,5</slots>
            <name>0. Ravager of the Fells.png</name>
            <query>ravager of fells</query>
        </card>
    </backs>
    <cardback>C:\Users\chilli-axe\Desktop\cardback.png</cardback>
</order>

XML Elements

  • The XML document should contain a single order tag and contain the following elements:

Order Details

  • Defined in the details tag as:
    • quantity - total number of cards in the order. Must be less than or equal to bracket.
    • stock - the selected cardstock. Valid options are (S30) Standard Smooth, (S33) Superior Smooth, (M31) Linen, and (P10) Plastic.
    • foil - whether the card fronts should be holographic. Valid options are true or false.

Cards

  • Card fronts are defined in the fronts tag, and card backs are optionally defined in the backs tag (as in, your XML will still be valid if it does not contain the backs tag, and only defines fronts).
  • fronts and backs should each contain a number of card elements.
  • Each card element is defined as:
    • id - Either a Google Drive file ID, or a filepath (absolute or relative to the desktop tool's active directory) pointing to the file.
    • sourceType - Where this image originates from. Acceptable values are:
      • Google Drive - indicates the image should be downloaded from Google Drive if not already downloaded
        • Note: If a card's type is Google Drive but the id tag points to a valid file path, the desktop tool will infer that the card is actually of type Local File.
      • Local File - indicates the image must already exist at the file path specified in id, and cannot be downloaded from anywhere.
    • slots - A comma-separated list of the slots within the card's face that this image should be filled into.
    • name - The name of the file. If a file with this name exists in the cards directory, the tool will use this file rather than downloading the file from Google Drive. This field is optional for the desktop client.
    • query - The query which returned this image in the web component. This enables re-uploading an existing XML to continue editing, and is optional for the desktop client.

Cardback

  • The cardback tag contains a reference to a single image which is allocated to the backs of any cards which don't have back images defined in backs.
  • Functions identically to the id tag in cards.
  • sourceType is assumed to be Google Drive. Note that file paths can still be specified, as the tool will infer the sourceType as Local File if the value is a valid file path.

Clone this wiki locally