Parsing RBProject

Is there any documentation that describes Xojo projects saved in XML format?

Joginder S Nahil

There used to be a white paper on it, but it is no longer available. Xojo seems to be discouraging that format and pushing VCP.

Thanks Tim.

Is VCP format documented? How do I export Xojo project to VCP? (I am new to Xojo)


If you have a license, it will be an option when you Save As. Without a license, you can only save in binary format.

I think there is no documentation on the format. Probably the best person outside Xojo, Inc. to know about it Thomas Tempelmann with his Arbed application.

Thanks Guys.

And Thomas does have an agreement about the binary format that he’d likely be breaking if he shared it
The XML is readable text as is the VCP but no there is no current documentation
They don’t change very often - but they do from time to time

[quote=66437:@Joginder Nahil]Is there any documentation that describes Xojo projects saved in XML format?

Joginder S Nahil[/quote]
yes there is. I shared one url some days ago, but it was not from Xojo web site because I do not found it there.

What’s the difference about sharing information about the binary format or the XML and text formats?
All three are not documented, so the only way is to reverse engineer them.
And if doing this on the binary format break some agreement, the same should apply for text formats.
Or the opposite.

Or have Xojo give you the documentation under a nondisclosure agreement.

In all cases, if you do not want to have leaks, do not disclose anything (and maybe, maybe, there will not be any leak)

A blond woman ask a good friend of her:
“Do you know what is a secret ?”
Mate answer: “something you tell only to one person at a time ?”

Well, this thing about file formats is very important IMHO, and this topic was already raised for other digital storages.
The problem is you put efforts, work and information into a “container" that some day might not open anymore.
That’s the main reason to have clear and open specifications.

Just think that if the ancients were doing something like that (and sometimes they did it), today we would miss very important pieces of our knowledge.

Norman, are you policing me again?
If it comes to policies and agreements I have with Geoff, please let him speak.

In fact, I never agreed that the binary format is protected any more than the XML format is protected in a way that would prohibit me to use it. The agreement I have with Geoff is simply that he won’t pester me about this disagreement any more when read/write binary project files in my tools.

On the original question: Neither of the three formats is documented, and the vcp format is actually the worst, as it sometimes depends on white space - too much or too little, and you’ll have a problem. Even reading from it can lead to lots of unexpected surprises when it comes to attributes, constants, controls and so on.

The XML format is the safest in this regard, as it is more forgiving if you write it, for instance. The RBP is just a binary representation of the XML format.

You can use Arbed (for free) to convert a RBP project to XML and back using its command line interface. So, if you want to read RBP files and do not want to get any trouble with Xojo’s licensing terms that require you to put a blindfold on and forget anything you learned about programming when it comes to looking at anything Xojo produces, then you could use Arbed to convert them to XML, then parse those files on your own.

(Oh, and since I bet that there’ll be some comments on this, let me clarify: The Xojo license forbids us to reverse engineer much of what consists of Xojo. It even implies that this means that reading the RBP format falls under this. Oddly, XML does not fall under this. But without documentation on either format, understanding how to read and write, i.e. interpret, the XML format requires just as much reverse engineering as it does with the other two formats. Yet, the license does not say: You may rev eng the XML format. That, instead, seems to be somehow understood that this is not an issue. And that’s why I call these “no rev eng” license terms bullshit: They are imprecise about what is considered rev eng, and they’re enforced at all, not in a way that’s consistent. I’ve pointed this out to Geoff but nothing changes. Hence, I take the liberty to interpret them my way, with a grain of salt, just as Xojo expects us to interpret that they mean we can r/w XML files even though that’s rev eng in my eyes as well if I’d be an arse about it.)

Hey, I learned something new. Didn’t realise there was a CLI available. I’ve always just used the GUI.
Thanks for the tip.

Dirk, see

It’s the same program, it’s just that if you pass arguments to it, it runs in shell mode.

Even the binary format is fairly transparent to anyone who can read a hex dump. But I’d never admit to using that information. :wink:

hex dump?
I searched the Xojo language reference for it and found nothing.
Probably something not allowed in Xojo. :wink:

[quote=66538:@Thomas Tempelmann]Norman, are you policing me again?
Not at all
I know there is an agreement between you and Xojo
That’s all