Would XML data be considered plain text?

I came across the program Eqonomize, which advertises itself as personal accounting software. As it stores its data in XML format, would that be considered plain text or something else? Just curious about what would be considered plain text. I don't know any experience using the software. Thank you.

Most people would say it's "somewhat" - not as plain as our most human-readable plain text formats, but plainer than a sqlite database for example. GnuCash is another app which uses it (actually gives a choice of these).

Nice link. So many accounting apps! This one looks like a Windows and Linux-friendly GnuCash competitor.

3 Likes

Well in fact XML is plain text not a binary language. However, I would say it is language focused to exchange data between machines. Because it is quite verbose and easy to parse by programs. More lightweight plain text languages such as Yaml or even JSON are more human readable and editable, and today are more used than XML in modern programs.

1 Like

Yeah, I'd say XML is plain text. It's just plain text with context text to give the content meaning. …But it's still just plain text

It is not plain text in the context of Plain-Text Accounting applications. The idea behind PTA is that you enter your transactions using a text editor.
While technically "plain text" in terms of character set, XML is a structured machine-readable file. It would be plain text without the XML tags.
I don't think anyone would enjoy adding the XML tags around their transaction records manually.

Hi @cicko, welcome to the community :slightly_smiling_face:

I agree XML is tedious; but it doesn't remove the fact that it's plain text.

We enter journal transactions manually; but when we have to deal with large volumes, we leverage things like hledger import and ledger convert to automate the entries. Same mechanism can be built for XML.

Hi. I would say XML is PTA, but probably too verbose for my taste.

I edit HTML by hand. XHTML is XML, more tedious than just HTML, but I still have done it by hand (usually using templates) and have even edited a bit of XML by hand, so I would say XML could be considered PTA, even if the concept includes hand-editing.

In many cases, though, PTA is generated from other sources. I use both generated entries from source electronic documents and hand-entered ones. I don't think generated files aren't PTA. (It's the same file format.)

I could see, though, something like the following being manageable:

<entry description="Alligator clips" date="2025/1/2">
  <posting account="Assets:Supplies">$5.49</posting>
  <posting account="Liabilities:CC" pending />
</entry>

(I just did that by hand off the top of my head. It's not from the software in question.)

X in XML stands for "extensible", so "data in XML format" means almost nothing by itself, as it could be anywhere in a gamut from

<transaction>
2025-01-01 Happy new year
   income:bonus
   assets:cash  $1000
</transaction>

to some sort of

<transaction>
<date><year>2025</year><month>01</month><day>01</day><description>Happy new year</description>
<postings>
<posting>
<account>
   income:bonus
</account>
</posting><posting><account>
   assets:cash</account><amount><commodity>USD</commodity><quantity>1000</quantity></posting>
</transaction>

all the way to "transaction serialized into some binary form, compressed, base64 encoded and stuffed into CDATA inside tag", which is technically also XML.

I think that as soon as the format stops being human-friendly (specifically, friendly to manual inputs and edits) and starts being machine-friendly, it stops being PTA.

Looking at Eqonomize, and specifically at its manual I see no description of the XML format, no indication that manual edits or entries of XML files are welcome or allowed, and screenshots have no indication that anything of the sort is possible through the app either. So this is not a plain-text accounting, and the fact that the storage format uses only printable characters is a coincidence, but not a defining feature

2 Likes

Oh, if the app isn't designed for directly edited files, the app isn't PTA, even if I would say the format is. (I would not call transformed data PTA, only human-readable data.)

Binary can be directly edited, too, but that isn't usually intended. The reason I moved to PTA is actually that I found myself directly editing binary journals in my previous system, whenever a need arose that wasn't worth adding a feature at the time.

XML is "plain text" as much as CSV is "plain text".

Many financial institutions will download transaction data in QFX format which (at least since version 2) is XML.

2 posts were split to a new topic: Eqonomize (cross-platform personal accounting software, 2006-present)