Pxml File Format Defintion


EvilDragon

Administrator
Staff member
Joined
Mar 4, 2003
Messages
29,986
Age
47
Location
Ingolstadt
Hi,

I just uploaded the PXML File Format definitions.

So - what is PXML?
PXML is a fileformat which should be included with every Pandora Application. It contains various informations about a game or app, for example title, description, screenshot, icon, category, file associations, etc.

Each GUI or Explorer for the Pandora should make use of this standard to ease the usage for the standard user.

Here are the advantages about this system:
  • Games / Apps can be distributed within normal ZIP archives
  • Games / Apps can either be downloaded and extracted manually anywhere on the card or downloaded and extracted automatically by some package manager on the Pandora (it can also create a proper directory structure to keep your SD Card organized)
  • No need to manually add Games / Apps into the GUI: They are automatically shown in the correct category / subcategory
  • You can rename and even move the Games / Apps on your SD Card - the GUI still will show and run them correctly
  • To uninstall anything simply delete the directory.
  • No need to setup anything when testing a new GUI: As long as it supports PXML files, everything works right from the start!
  • Automatic File Associations
This is for programs installed by the user. Firmware updates will use a standard Linux package management.

You can find the PXML definition here.

If you have any questions or additions, feel free to use this thread :)
 
Nice, I was thinking of asking for something like this.

I suppose there will be xml libraries in the base install, but wouldn't it make things easier to require the encoding to be UTF-8?
The example given seems to have more than one root element, which I don't think is valid XML.

Tangentially, are you planning on supporting svg icons?
 
Awesome.

If I had done this, I'd have used YAML for easier human readability/editing, but that doesn't really matter since most devs here can edit XML anyway and there wouldn't really be any reason to change it.
 
atomicthumbs said:
Awesome.

If I had done this, I'd have used YAML for easier human readability/editing, but that doesn't really matter since most devs here can edit XML anyway and there wouldn't really be any reason to change it.



Oh, I'm planning to code a small editor which runs under Windows, MacOSX and Linux for the files :)
 
Last edited:
Sweet Idea. This makes the unification stuff much easier to integrate. I guess this is the official first Pandora Standards? :p
 
Design note to PXML: Description seems as dirty work for me. Why not complies with XML standard but use some ugly BB code? I guess that standard XML tags should be used. /no offense, just my opinion.

edit: Oh no - <preview>./preview/pic1.jpg::./preview/pic2.jpg</preview>. But:
CODE
<preview>
<previewitem>./preview/pic1.jpg</previewitem>
<previewitem>./preview/pic2.jpg</previewitem>
</preview>

The same for categories and filetypes in association.

edit2: version should be structured as:
CODE
<version>
<versionmajor>number</versionmajor>
<versionminor>number</versionminor>
<versionrelease>number</versionrelease>
<versionbuild>number</versionbuild>
</version>

OR maybe better by attributes:
CODE
<version major=number minor=number release=number build=number />

With each attribute non-mandatory, so only one attribute can be set. The same fo OS Version.

Pure XML structure leads to less mistypes and mistakes.
 
I really like the idea of the PXML file. Does it also allow for several authors (as it allows for several preview pics)?
 
Probably a good idea, but I agree having svg support is almost a must ;)
Also, I'm guessing the guys above know their shit about xml, and if we are going to follow standards, might aswell make them as valid as possible...
 
For the style of the document my advise would be to write "all relative paths are relative to this xml" or "(path relative to this XML)" at all locations although this should be clear.

I think an separate option tag would be nice too. These would be selection options for start paramters.
Something like this
CODE

<select name="mode">
<option name="320x200" parameter="-halfscreen" />
<option name="800x480" parameter="-fullscreen" />
</select>
 
EvilDragon said:
If you have any questions or additions, feel free to use this thread :)
Looks good - my only comment is that colon delimiting the contents of the <pictures> tag makes for pretty icky xml. Couldn't we just have multiple <pictures> tags instead?

(I'm thinking that we could easily apply a xslt stylesheet to display this data within the online repository, which could be cool!)
 
Last edited by a moderator:
+1 for pure XML. If someone wants to write their own app, or gui that's compatible with the format, it will make it easier to use regular xml libs for whatever language, without adding extra logic. The BBCode probably isn't a big deal, I'm thinking more about the colons.

This still looks good though. Also, maybe some of the mandatory ones could just default to whatever's most likely if they are left out. Cause they are going to get left out I'm betting :D

I'm thinking of standalone, for one. Most of the apps will probably be standalone.
 
it's like a manifest...
great

--------------------

some paths aren't explained....
i bet the paths are relative always

could this XML be added to the application ZIP ?
 
Thanks for your comments :)

I PLANNED to have it XML compliant, however, I haven't done anything in XML yet so that's why it doesn't seem so compliant ;)

Does anybody have a good website where XML is explained? :)

I'll make the changes to make it XML compliant :)
 
EvilDragon said:
Hi,

I just uploaded the PXML File Format definitions.

So - what is PXML?
PXML is a fileformat which should be included with every Pandora Application. It contains various informations about a game or app, for example title, description, screenshot, icon, category, file associations, etc.

Each GUI or Explorer for the Pandora should make use of this standard to ease the usage for the standard user.

Here are the advantages about this system:
  • Games / Apps can be distributed within normal ZIP archives
  • Games / Apps can either be downloaded and extracted manually anywhere on the card or downloaded and extracted automatically by some package manager on the Pandora (it can also create a proper directory structure to keep your SD Card organized)
  • No need to manually add Games / Apps into the GUI: They are automatically shown in the correct category / subcategory
  • You can rename and even move the Games / Apps on your SD Card - the GUI still will show and run them correctly
  • To uninstall anything simply delete the directory.
  • No need to setup anything when testing a new GUI: As long as it supports PXML files, everything works right from the start!
  • Automatic File Associations
This is for programs installed by the user. Firmware updates will use a standard Linux package management.

You can find the PXML definition here.

If you have any questions or additions, feel free to use this thread :)


I don't see the point of this : we already have .desktop file for that. For other need, we just have to specify some kind of :
X-PANDORA-*

This is just me, but re-inventing the wheel seems useless to me. .desktop file are well supported. Even Enlightenment support it.

PS: I hope I didn't sound rude, I'm not native english :(
 
Last edited by a moderator:
sebt3 said:
I don't see the point of this : we already have .desktop file for that. For other need, we just have to specify some kind of :
X-PANDORA-*



I agree with sebt3, .desktop files are universally supported (gnome, kde, xfce, enlightenment, anything that launch apps…); check your /usr/share/applications :)

EvilDragon said:
Hi,
Here are the advantages about this system:
  • Games / Apps can be distributed within normal ZIP archives
  • Games / Apps can either be downloaded and extracted manually anywhere on the card or downloaded and extracted automatically by some package manager on the Pandora (it can also create a proper directory structure to keep your SD Card organized)
  • No need to manually add Games / Apps into the GUI: They are automatically shown in the correct category / subcategory
  • You can rename and even move the Games / Apps on your SD Card - the GUI still will show and run them correctly
  • To uninstall anything simply delete the directory.
  • No need to setup anything when testing a new GUI: As long as it supports PXML files, everything works right from the start!
  • Automatic File Associations
This is for programs installed by the user. Firmware updates will use a standard Linux package management.
You can put a .desktop file in an archive, and you could extend it to a package format with X-Pandora as sebt3 said. It has categories, and you can register associated MimeTypes (and therefore extensions). And it has localization support.
 
Last edited by a moderator:
sebt3 said:
This is just me, but re-inventing the wheel seems useless to me. .desktop file are well supported. Even Enlightenment support it.
You have a point there.
 
Last edited by a moderator:
Back
Top