The separation of title/description tags seems fundamentally wrong to my semi experienced eye. As they both depend on the language attribute and are thus displayed in pairs, they should be grouped as such. EG:
<translation language="en" region="GB"> <title>This is a title</title> <description>This is a description</description> </translation>
This also has the benefit of extensibility and conveys appropriate meaning to human observers- in otherwords it's clear that these things are related and that this is a translation. Additional strings for translation can then be added when necessary.
The use of Category/Subcategory elements is also bizarre, seemingly incorrect and plainly not extensible. The parent of Subcategory, and the mere fact it's a sub category is implied by it being nested within another category tag. Therefore category classification should work as follows:
<categories> <category name="Games"> <category name="Action"> <category name="Shooter" /> </category> </category> </categories>
This is, of course, if it's necessary for PXML to even be capable of producing arbitrary category structures. These should be very strictly controlled so as to avoid classification of the same thing under subtly different categories (first person shooter/fps) for example, or different languages.
I would, personally, store only category IDs in the XML at most and distribute a second XML file detailing structure and category names/heirachy in multiple different languages which could also be user editable.