FAQ (Frequently Asked Questions)

What is pXML?

Why pXML?

How does it work?

Can I see some examples?

What can I do with pXML?

Is there a parser for pXML?

Are there editor plugins for pXML?

How mature is pXML?

Do I have to pay to use pXML?

Which license is used?

Who created pXML?


What is pXML?

Practical XML (pXML) is an alternative, human-friendly syntax to describe XML documents.

A document written in XML (including XHTML pages) can also be written in pXML. XML technology can be used with pXML documents. For example, one can programmatically validate, query, modify, or transform a document.


Why pXML?

XML is notoriously verbose. That makes it cumbersome to read and write for humans. pXML has been designed to provide a simpler, more human-friendly syntax that is easy to read and write.

For an elaborated discussion of the rationale for pXML, please read: Suggestion For a Better XML/HTML Syntax.


How does it work?

The main difference is that this XML code:

<name>value</name>

... changes to this pXML code:

[name value]

From XML to pXML

There are a few more differences, all described in Suggestion For a Better XML/HTML Syntax.

The basic syntax is specified as EBNF and as railroad diagrams.


Can I see some examples?

Here is an example of a simple HTML snippet:

<section>
    <h2>Harmonic States</h2>

    <p>The <i>initial</i> state looks like this:</p>
    <img src="images/state_1.png" />

    <p>After just a few <i><b>micro</b>seconds</i> the state changes.</p>
    
    <p>More text ...</p>
</section>

The same code looks like this in pXML:

[section
    [h2 Harmonic States]

    [p The [i initial] state looks like this:]
    [img (src=images/state_1.png)]

    [p After just a few [i [b micro]seconds] the state changes.]
    
    [p More text ...]
]

More examples can be found in Suggestion For a Better XML/HTML Syntax.


What can I do with pXML?

Everything you can do with XML, you can also do with pXML. It's just the syntax that changes. However, DTD, CDATA, and processing instructions are currently not yet supported.

Any kind of data can be stored in a pXML document. For example, pXML can store:

pXML can be converted to XML, and vice-versa.

After reading a pXML document into an XML structure, all powerful XML extensions can be applied. For example you can:

Examples of how to do this are in the article Open-Source Parser For PracticalXML (pXML).


Is there a parser for pXML?

Yes.

There is a free, open-source reference implementation written in Java. The MIT-licensed source code is available on Github.

For more information please read: Open-Source Parser For PracticalXML (pXML).

Parsers in other programming languages are welcomed to be published on this site.


Are there editor plugins for pXML?

No. Not yet.

The basic pXML syntax is very simple. That makes it easy to create editor plugins, such as syntax highlighters.

Contributions are welcomed to be published on this site.


How mature is pXML?

pXML is a work in progress.

It's not ready yet for enterprise applications.


Do I have to pay to use pXML?

No.

pXML is free of charge for everybody.


Which license is used?

The pXML syntax is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License (CC BY-SA 4.0).

The parser is licensed under an MIT License.


Who created pXML?

Hello. My name is Christian Neumanns, born in Luxembourg, Europe.

I care about creating reliable and maintainable software that is easy to use.

Besides pXML, I created:

You can have a look at my blog or contact me at chris {at} pml-lang {dot} dev.