The Practical Data and Markup Language (PDML) is a simple yet versatile text format you can use to encode data and/or markup of any complexity.

PDML code is succinct, easy to read and write, and built by humans for humans.

Data Example

Here's a simple data structure shown in XML, JSON, and PDML:

XML:
<?xml version="1.0" encoding="UTF-8"?>
<server_config>
    <name>Office Server</name>
    <address>
        <ip>192.168.1.1</ip>
        <port>8080</port>
    </address>
</server_config>
JSON:
{
    "server_config": {
        "name": "Office Server",
        "address": {
            "ip": "192.168.1.1",
            "port": "8080"
        }
    }
}
PDML:
[server_config
    [name Office Server]
    [address
        [ip 192.168.1.1]
        [port 8080]
    ]
]

Markup Example

Consider the following HTML code:

<div>
    <p>We can write text in <b>bold</b>, <i>italic</i>, or <b><i>bold and italic</b></i>.</p>
</div>

In PDML, the same markup (i.e. formatted text) is written as follows:

[div
    [p We can write text in [b bold], [i italic], or [b [i bold and italic]].]
]

Both versions are rendered equally: We can write text in bold, italic, or bold and italic.

Specification, Library, and CLI Tool

On this website you'll find:

Besides a simple and concise syntax, PDML also provides a unique set of optional yet powerful features (extensions) to further enhance its practicality.

For more information and examples, please read PDML Overview.