solference is a tool to generate dynamic PHP applications. The resulting application is generated in two usable modes: - a declarative mode (_sax) consisting on XML files containing tagGramms. The XML files are saxParsed at runtime to generate HTML and PHP code. - a scripting mode (_php) consisting on the HTML and PHP code generated from the declarative files

The building blocks for the application generative process are: - solference expandable library of tagGramms. TagGramms are xmlEntities that, when processed by a saxParser, generate HTML and PHP code. A tagGramm is described by two files: the xmlTagHandler file and the corresponding xmlEntity file. The method of object sax processing is described in The saxParser that converts the tagGramms into HTML and PHP code expands the sax parser provided by the xpl library. - solference XSL transform templates describing the pages for each entity: application, database, table. The XSL templates contain HTML code and tagGramms. The XSL templates follow a model to that defined in The stylesheets used in the development process of solference are: application::showMenu, table:listReadonly, singleEditable. - solference PHP transcript templates describing the PHP classes to be created for each entity - solference PHP lib classes - a modified version of the xpl library. The following modules are those mostly used: util, io, data, html, xml. - the MDB classes merging PEAR DB and Metabase for data access.

The generative process is the following: - define the XML metadata file describing the application data. The format of this metadata file is an extension of metabase - apply solference generate to the application metadata file. The generate.class.php file integrates the usage with a sample file. The sample file is taken from - open {$application}_sax/{$application}___index.php to run the XML application or {$application}_php/{$application}___index.php to run the PHP application Logo