<?php
/**
* Page DocBlock definition
* @package org.zadara.marius.pax
*/
/**
* General interface for a attribute object.
*
* @author Marius Zadara <marius@zadara.org>
* @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);
}
?>
|