XRDparser is a program written for the Win32 platform, and has been tested under Windows-XP. It is used to process PalmSource XML Resource Description (XRD) files (which are used to describe and design PalmOS GUIs) into a header (.h) file suitable for use in a PalmOS Development Suite project to access and manipulate the GUIs created - functionality that was available under Codewarrior for PalmOS, but omitted from the no-cost PalmOS Developer's Studio.
To install XRDparser, read the conditions of use below. Then click on the XRDparser logo to download the installer program (1.49MB):
Then run the installer. When the setup process has completed successfully, XRDparser is ready for use.
Users should be aware of how XRDparser converts IDs (i.e. numbers) into text-based names. This is achieved using the Comment property that is available for nearly all objects (with the exception of menu-items - these are named after their labels). For example, consider a form that has been newly created, as illustrated in the following (truncated) screenshot:
Clicking on the "1000" object on the tree on the right (as circled in red), makes the Comment field appear in the properties area below (circled in green). Any text placed in this field will be used to name the object in the header file generated.
Other objects are simpler to name - simply click on the object, then type their "code name" into the Comment field that is shown. For example, consider a single "OK" button, as shown below:
Also note that whilst its preferred if invalid characters are not used (i.e. those that cannot be used in the names of C/C++ preprocessor #define names), XRDparser will try to convert most invalid characters (such as spaces) into the underscore ("_") character.
Copyright (c) 2005, picoSpace PTY LTD (Australia - ACN 107 811 594)
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
When XRDparser is run, the following window will be displayed:

From here, all the functionality of XRDparser can be accessed. The application window is divided into 4 sections, each of which will be discussed below. Once all the parameters have been set to your satisfaction, simply go to File, Parse... and select the XRD file to be processed.
This section allows the user to control the processing of unnamed objects; that is, if an object (such as a Form or a Button) has an empty text field, this area allows the user to have those objects included into the resulting header file(s) anyway.
The text field "Default Naming Scheme" is used to allow the user to specify a name for the unnamed object. By default, the name given to the unnamed object is a concatenation of the object's type with its resource ID. For example, a button with ID 2001 is named "BUTTON2001". Two reserved characters are supported - the "#" character is substituted with the ID of the object, while the "=" character is substituted with the object's type.
There are basically 2 choices - either all #define's are placed in a single file (the name is specified in the "File creation parameter" to the right), or a single file is created for every form (in which case, the "File creation parameter" is used as a template, with the "@" symbol used as a placeholder for the name given to the Form). Pressing on the "Directory ..." button allows the directory into which all header files will be created to be specified.
Consider an example of an XRD containing 2 forms, named "Main" and "Other" respectively. Using the default naming scheme as shown in the screenshot (but selecting the "One file per Form" option), results in two files being created - gui_Main.h and gui_other.h .
Used to control the actual #defines that are created. Consider an example of a Form named MainForm (ID 1001), containing a single button "OK" (ID 2001). The default naming scheme, as shown in the screenshot, will produce the following two entries:
#define GUI_MainForm_FORM 1001
#define GUI_MainForm_BUTTON_OK 2001
With the various reserved characters being substituted, as described in the screenshot.
This simply provides a log of what is happening while the XRD file is being processed.
The following libraries were used in the creation of XRDparser, and are available for download from their respective websites as follows:
For further assistance, reporting bugs or comments, email picoSpace's PalmOS Development team