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 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>
        {
    "server_config": {
        "name": "Office Server",
        "address": {
            "ip": "192.168.1.1",
            "port": "8080"
        }
    }
}
        [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:
- 
                The Core PDML specification: a portable, programming-language-agnostic and open standard specifying the rules to encode data and markup as plain UTF-8 text. 
- 
                A free and open-source (FOSS) reference implementation, written in Java. 
- 
                A FOSS command line tool, called PDML Companion (running on Windows, Linux, and MacOS), which you can use to carry out various operations on PDML documents. 
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.