<?xml version="1.0" encoding="UTF-8"?>
<!-- All elements and all attributes are used in this example giving the program a base to copy nodes from
     
	 Attribute values are built like this:
	 [required|optional],type,arguments
	 arguments are type specific and can be possible values of a set
	 supported types are:
	 string - optional argument is a hard-coded filter type or a list of allowed characters
	 boolean - no argument, becomes a check box
	 set - argument is a list of allowed values which will be added to a drop-down list
	 category - list of main categories as described here: http://standards.freedesktop.org/menu-spec/latest/apa.html
	 subcategory - list of sub-categories (to matching main category) as described here: http://standards.freedesktop.org/menu-spec/latest/apa.html
	 
	 Supported filter types (for string elements):
	 version - allows only alphanumeric chars and '+' and '-'
	 email - allows only one of '@' and does not allow any of ()[]\;:,<>|
	 folder - does not allow space and any of -/\:?*<>|"
	 language - only allows alpha characters and one of '_'
	 mime - only allows alphanumerical characters as well as '-' and '.' and one of '/'
	 id - allows alphanumerical chars as well as .-!_+
	 any list of chars (separated by ,) marks them as allowed only
	 currently not implemented (allow anything): website, path, dir
	 
	 The elemdesc attribute is special and defines a file path to a text file containing the description for the element.
         The min attribute specifies the minimum number of occurences of an element, the max attribute the maximum number (default is 1 and 1), max="0" means unlimited occurences
	 The path is relative from the main program executable (PNDTools.exe)
	 This attribute is optional and will not interfere with the actual PXML data
-->
<PXML xmlns="http://openpandora.org/namespaces/PXML">
  <package id="required,string,id" elemdesc="descriptions\package.rtf">
    <author name="required,string" website="optional,string,website" email="optional,string,email" elemdesc="descriptions\author.rtf"/>
    <version major="required,string,version" minor="required,string,version" release="required,string,version" build="required,string,version" type="optional,set,alpha,beta,release" elemdesc="descriptions\version.rtf"/>
    <titles elemdesc="descriptions\titles.rtf">
      <title lang="required,string,language" elemdesc="descriptions\titles.rtf" min="1" max="0">CONTENT</title>
    </titles>
    <descriptions elemdesc="descriptions\descriptions.rtf" min="0">
      <description lang="required,string,language" elemdesc="descriptions\descriptions.rtf" max="0">CONTENT</description>
    </descriptions>
    <icon src="required,string,path" elemdesc="descriptions\icon.rtf"/>
  </package>
  
  <application id="required,string,id" appdata="optional,string,folder" elemdesc="descriptions\application.rtf" max="0">
    <exec command="required,string,path" arguments="optional,string" startdir="optional,string,dir" standalone="optional,boolean" background="optional,boolean" x11="optional,set,req,stop,ignore" elemdesc="descriptions\exec.rtf"/>
    <author name="required,string" website="optional,string,website" email="optional,string,email" elemdesc="descriptions\author.rtf"/>
    <version major="required,string,version" minor="required,string,version" release="required,string,version" build="required,string,version" type="optional,set,alpha,beta,release" elemdesc="descriptions\version.rtf"/>
    <osversion major="required,string,version" minor="required,string,version" release="required,string,version" build="required,string,version" elemdesc="descriptions\osversion.rtf" min="0"/>
    <titles elemdesc="descriptions\titles.rtf">
      <title lang="required,string,language" elemdesc="descriptions\titles.rtf" max="0">CONTENT</title>
    </titles>
    <title lang="required,string,language" elemdesc="descriptions\titles.rtf">CONTENT</title> <!--Extra block for compatibility with OS versions before HF6-->
    <descriptions elemdesc="descriptions\descriptions.rtf" min="0">
      <description lang="required,string,language" elemdesc="descriptions\descriptions.rtf" max="0">CONTENT</description>
    </descriptions>
    <description lang="required,string,language" elemdesc="descriptions\descriptions.rtf">CONTENT</description> <!--Extra block for compatibility with OS versions before HF6-->
    <icon src="required,string,path" elemdesc="descriptions\icon.rtf"/>
    <licenses elemdesc="descriptions\license.rtf" min="0">
      <license name="required,string" url="optional,string" sourcecodeurl="optional,string" elemdesc="descriptions\license.rtf" max="0"/>
    </licenses>
    <previewpics elemdesc="descriptions\previewpics.rtf" min="0">
      <pic src="required,string,path" elemdesc="descriptions\previewpics.rtf" max="0"/>
    </previewpics> 
    <info name="required,string" type="required,set,test/html,text/plain" src="required,string,path" elemdesc="descriptions\info.rtf" min="0"/>
    <categories elemdesc="descriptions\category.rtf">
      <category name="required,category" elemdesc="descriptions\category.rtf" max="0">
        <subcategory name="required,subcategory" elemdesc="descriptions\category.rtf"/>
      </category>
    </categories>
    <associations elemdesc="descriptions\association.rtf" min="0">
      <association name="required,string" filetype="required,string,mime" exec="required,string" elemdesc="descriptions\association.rtf" max="0"/>
    </associations>
    <clockspeed frequency="required,string,integer" elemdesc="descriptions\clockspeed.rtf" min="0"/>
  </application>
</PXML>
