PXML broken?


Silent-Hunter

Hardcore Member
Joined
May 29, 2010
Messages
3,485
I tried to upload the only thing I've ever ciompiled to the Repo, and it said the PXML was invalid. It gave a bunch of lines that were wrong, but I think I'll probably need help. The PND runs, which is weird if the PXML is messed up.
 
That's not weird at all...  libpnd, which actually executes the PNDs is a lot more forgiving of incorrect PXMLs than the repo is.

If you want advice on how to fix the PXML though you'll need to share it.

- Neelix
 
That's not weird at all...  libpnd, which actually executes the PNDs is a lot more forgiving of incorrect PXMLs than the repo is.

If you want advice on how to fix the PXML though you'll need to share it.

- Neelix
Here it is:

Code:
<?xml version="1.0" encoding="UTF-8"?>
<PXML xmlns="http://openpandora.org/namespaces/PXML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="PXML_schema.xsd">

  <application id="collidingmice-30050">

    <title lang="en_US">Colliding Mice</title>
 
    <exec command="collidingmice"/>
 
    <!-- if you want to provide a manual, uncomment the following line and set correct values! -->
    <!-- <info name="collidingmice manual" type="html" src="manual.html"/> -->
 
    <description lang="en_US">Colliding Mice</description>
 
    <previewpics>
      <pic src=images/>
    </previewpics>
 
    <author name="Silent-Hunter" website="http://www.openpandora.org"/><!--Optional email and website, name required-->
 
    <version major="1" minor="1" release="1" build="2"/><!--This programs version-->
    <osversion major="1" minor="0" release="0" build="0"/><!--The minimum OS version required-->
 
    <categories>
    <!-- for information about valid categories and explainations of them, please have a look at this website:
         http://standards.freedesktop.org/menu-spec/menu-spec-latest.html#category-registry
         entries with invalid category/subcategory combinations will appear under "others" in the menus! -->
      <category name="Graphics">
      <!--valid values for "cateory Name": "AudioVideo", "Audio", "Video", "Development", "Education", "Game", "Graphics", "Network", "Office", "Settings", "System", "Utility"-->
      </category>
    </categories>
 
    <clockspeed frequency="600"/><!--Frequency in Hz; default is 500, keep in mind that overclocking above 600 might not work for every user!-->

  </application>

</PXML>
 
Last edited by a moderator:
You are missing "package" block, and also in the line:


<pic src=images/>
you should use a filename an not a directory and the filename should be in quotes - something like this:

Code:
<pic src="image.png"/>
 
Last edited by a moderator:
You are missing "package" block, and also in the line:


<pic src=images/>
you should use a filename an not a directory and the filename should be in quotes - something like this:


<pic src="image.png"/>
Thanks. This was created with a script from a toolchain I no longer have from over a year ago, so maybe it didn't work right, or PXML has changed? Is there a place that will tell me how to do a package block?
 
I think that may have been based on the original PXML spec.   The spec has gone through a couple of revisions since then.

If there is only one application defined then the package block mostly duplicates the Application block.  

The Application block(s) are used to describe each application in the PND.  It is used by libPND to put an entry on the desktop or menu.

The Package block describes the PND as a whole, and is used by the repo to generate the repo database entry.

An example can be found here.   A somewhat long-winded explanation can be found here.

you might also find this description of the spec useful.

- Neelix
 
Thanks, can I edit the PXML by mounting the PND and editing it from there, or do I have to repackage it?
 
Since the PXML and icon have to be appended to the archive you'll need to repackage it.

- Neelix
Well, the PXML is already there, I was wondering if I could just edit the file in place. I've done that before with other files inside PNDs.
 
When you mount a PND via pnd_run.sh anything you 'save' to the mount folder goes into appdata,  not into the PND itself.  The next time you load the PND anything in appdata with the same name as something in the PND overrides the version in the PND.   That's how appdata works...   Any changes made in this way will not be included should you then (re)distribute the PND.

In any case the PXML file is a special case. In addition to (usually) being stored in the PND filesystem itself, it is also (along with the icon) appended directly to the end of it. It is the appended copy that libPND and the repo look for and access. If the PND is made with squashfs rather than as an ISO file then that is also the only copy they can actually see.

- Neelix
 
Last edited by a moderator:
Back
Top