| 
<?php
 
 /**
 * Page DocBlock definition
 * @package org.zadara.marius.pax
 */
 
 /**
 * General interface for a attribute object.
 *
 * @author Marius Zadara <[email protected]>
 * @category Interfaces
 * @copyright (C) 2008-2009 Marius Zadara
 * @license Free for non-comercial use
 * @package org.zadara.marius.pax
 * @see IPAXObject
 * @since 5.0
 */
 interface IAttributes extends IPAXObject
 {
 /**
 * Method to get the tag attributes from the definition file.
 * Throws exception if error encountered
 *
 * @param string $rootTag The attributes definition root tag
 * @param string $tag The searched tag
 * @param string $paxNsSeparator The namespaces separator used in tag's name
 * @param string $namespaceURL The name used in defining tags from other namespaces
 * @return void
 */
 public function getTagAttributes($rootTag, $tag, $paxNsSeparator, $namespaceURL);
 
 /**
 * Method to filter the tag's attributes according to its definition.
 * Throws exception if error encountered.
 *
 * @access public
 * @static
 * @param config <b>$config</b> The PAX config object
 * @param config <b>$elements</b> The PAX elements object
 * @param config <b>$directories</b> The PAX directories object
 * @param config <b>$filenames</b> The PAX filenames object
 * @param array <b>$nodes</b> The nodes array
 * @param array <b>$attributesDefinitions</b> The attributes definitions array
 * @return void
 */
 public static function filterTagAttributes(&$config, $elements, $directories, $filenames, &$nodes, &$attributesDefinitions);
 
 
 /**
 * Method to filter tag attribute's value.
 * Throws exception if error encountered.
 *
 * @param config <b>$config</b> The PAX config
 * @param config <b>$elements</b> The PAX elements
 * @param config <b>$directories</b> The PAX directories
 * @param config <b>$filenames</b> The PAX filenames
 * @param array <b>$nodes</b> The list of nodes
 * @param array <b>$attributesDefinitions</b> Attributes definitions
 * @return void
 */
 public static function filterTagAttributesValue(&$config, $elements, $directories, $filenames, &$nodes, &$attributesDefinitions);
 
 
 /**
 * Method to compile the instructions
 *
 * @access public
 * @static
 * @param config <b>$instructions</b> The PAX config
 * @param array </b>$nodes</b> The nodes list
 * @return void
 */
 public static function compileInstructions(&$instructions, &$nodes);
 }
 
 ?>
 |