<?php
///////////////////////////////////////////////////////////////////////////////////////////////////
// PREREQUISITES //////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
// init the configuration object
$Prerequisites = new Config();
// set the name of the simpleXML object to check
$Prerequisites->set('simpleXMLModuleName', 'SimpleXML');
// minimal PHP version
$Prerequisites->set('minPHPVersion', '5.2.0');
// XML Parser module name
$Prerequisites->set('xmlParserModuleName', 'xml');
///////////////////////////////////////////////////////////////////////////////////////////////////
// VALIDATIONS ////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
// init the validations object
$Validations = new Config();
// check simpleXML module load status at start-up
$Validations->set("checkSimpleXML", true);
// validate PHP version
$Validations->set("checkPHPVersion", true);
// check the XML Parser module at start-up
$Validations->set("checkXMLParser", true);
// check to see if the model disabled
$Validations->set("checkDisabledModels", true);
///////////////////////////////////////////////////////////////////////////////////////////////////
// DIRECTORIES ////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
// init the directories object
$Directories = new Config();
// get the current directory
$currentDirectory = @getcwd();
// check the current directory
if ($currentDirectory === false)
$currentDirectory = ".";
// models directory
$Directories->set("models", $currentDirectory.DIRECTORY_SEPARATOR."models".DIRECTORY_SEPARATOR);
// namespaces directory
$Directories->set("namespaces", $currentDirectory.DIRECTORY_SEPARATOR."namespaces".DIRECTORY_SEPARATOR);
// name of definitions directory
$Directories->set("definitions", "definitions");
// implementations directory
$Directories->set("implementations", "implementations");
// libraries directory
$Directories->set("libraries", "libraries");
// extra directory
$Directories->set("extra", "extra");
// clear the memory
unset($currentDirectory);
///////////////////////////////////////////////////////////////////////////////////////////////////
// FILENAMES //////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
// init the filenames object
$Filenames = new Config();
// attributes
$Filenames->set("attributes", "attributes.xml");
// tags XML file name
$Filenames->set("tags", "tags.xml");
// attributes values XML file name
$Filenames->set("attributesValues", "attributesValues.xml");
// node file format in the model directory
// the [CLASS] literal will be replaced with the actually node name
$Filenames->set("modelClassFileFormat", "[CLASS].class.php");
// node file format in the namespace directory
// the [CLASS] literal will be replaced with the actually node name
$Filenames->set("namespaceClassFileFormat", "[CLASS].class.php");
// libraries loader for the model
// this file includes all the libraries needed for the model
$Filenames->set("modelLibrariesLoader", "_addLibraries.php");
// extra loader for the model
// this file includes all the extra classes/functions needed for the model
$Filenames->set("modelExtraLoader", "_addExtra.php");
///////////////////////////////////////////////////////////////////////////////////////////////////
// ELEMENTS CONFIG ////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
// init the elements config
$Elements = new Config();
// the root element for the tags file
$Elements->set("tagsRoot", "tags");
// the root element for the attributes file
$Elements->set("attributesRoot", "attributes");
// the root element for the attributes values file
$Elements->set("attributesValuesRoot", "attributesValues");
// the text that indicates that an attribute for a tag is mandatory
$Elements->set("mandatoryText", "mandatory");
// the text that indicates the default value for an attribute
$Elements->set("defaultValueText", "defaultValue");
// the namespace url used in attributes files
// using this namespace you can set attributes for nodes in namespaces
$Elements->set("namespaceURL", "http://pax.org/");
// the name of the method in the node implementation that will validate the attribute value
// the [ATTRIBUTE] will be replaced with the name of the attribute
$Elements->set("attrbuteValueValidationMethodName", "validateAttributeValue_[ATTRIBUTE]");
// the name of the method in the node implementation that will validate the tag content
// the [ATTRIBUTE] will be replaced with the name of the attribute
$Elements->set("tagContentValidationMethodName", "validateContent");
// "true" values, used in different contexts
// can be either an array or a single value
// the comparison is done in case sensitive manner
$Elements->set("trueTexts", array("true", "yes", "da", "1"));
// "false" values, used in different contexts
// can be either an array or a single value
// the comparison is done in case sensitive manner
$Elements->set("falseTexts", array("false", "no", "nu", "0"));
// general name of the pax namespace
$Elements->set("paxNs", "paxns");
// separator used in namespace definition
$Elements->set("paxNsSeparator", ":");
///////////////////////////////////////////////////////////////////////////////////////////////////
// PAX CONFIG /////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
// init the pax config object
$PAXConfig = new Config();
// set the kinds of the documents that are not allowed to be processed
// the value can be array with the disabled kinds
// or empty array / null to ignore
$PAXConfig->set("disabledModels", NULL);
// flag indicating if should ignore empty attributes file
$PAXConfig->set("allowNoAttributes", false);
// flag indicating if should ignore empty tags file
$PAXConfig->set("allowNoTags", false);
// flag indicating if should ignore empty attributes values file
$PAXConfig->set("allowNoAttributesValues", false);
// XML parser options
$PAXConfig->set("XMLParserOptions", array(XML_OPTION_CASE_FOLDING => 0, XML_OPTION_SKIP_WHITE => 1));
// root attribute to overwrite the tag filtering
// its value must be in either true or false dictionaries
$PAXConfig->set("filterTagsAttributeName", "filterTags");
// root attribute to overwrite the tag attributes filtering
// its value must be in either true or false dictionaries
$PAXConfig->set("filterAttributesAttributeName", "filterAttributes");
// root attribute to overwrite the tag attributes values filtering
// its value must be in either true or false dictionaries
$PAXConfig->set("filterAttributesValueAttributeName", "filterAttributesValue");
// root attribute to overwrite the tag content filtering
// its value must be in either true or false dictionaries
$PAXConfig->set("filterTagContentAttributeName", "filterTagContent");
// root attribute to overwrite the instructions compilations
// its value must be in either true or false dictionaries
$PAXConfig->set("compileInstructionsAttributeName", "compileInstructions");
// filter the tags
$PAXConfig->set("filterTags", true);
// filter the tags attributes
$PAXConfig->set("filterTagAttributes", true);
// filter the tags attributes values
$PAXConfig->set("filterTagAttributesValues", true);
// filter the tags content
$PAXConfig->set("filterTagContent", true);
// interpret PHP instructions
$PAXConfig->set("compileInstructions", true);
///////////////////////////////////////////////////////////////////////////////////////////////////
// INSTRUCTIONS RELATED ///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
$Instructions = new Config();
// instruction start delimiter
$Instructions->set("startDelimiter", "!#");
// instruction end delimiter
$Instructions->set("endDelimiter", "#!");
///////////////////////////////////////////////////////////////////////////////////////////////////
// CUSTOM VARIABLES ///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
/*
* The following variables are already available:
*
* _NODE_NAME_ : the name of the node (like "say")
* _NODE_TYPE_: the type of the node ("open", "close", "complete")
* _NODE_LEVEL_: the level of the node
* _NODE_VALUE_: the content of the node
* _NODE_IS_ROOT_: 1 or 0 if the node is the root or not
* _NODE_HAS_ATTRIBUTES_: 1 or 0 if the node has or not attributes
* _NODE_ATTRIBUTES_COUNT_: the count of the attributes
* _NODE_ATTRIBUTE_X_ : the value of attribute X
*/
$Variables = new Config();
$Variables->set("_PAX_VERSION_", "6");
?>
|