.
*/
if(basename($_SERVER['SCRIPT_FILENAME'])==basename(__FILE__))
exit;
PhpWsdl::RegisterHook('InterpretKeywordpw_elementHook','internal','PhpWsdlElement::InterpretElement');
/**
* An element of a complex type
*
* @author Andreas Zimmermann, wan24.de
*/
class PhpWsdlElement extends PhpWsdlParam{
/**
* Can the value be NULL?
*
* @var boolean
*/
public $NillAble=true;
/**
* Minimum number of elements
*
* @var int
*/
public $MinOccurs=1;
/**
* Maximum number of elements
*
* @var int|string
*/
public $MaxOccurs=1;
/**
* Constructor
*
* @param string $name The name
* @param string $type The type name
* @param array $settings Optional the settings hash array (default: NULL)
*/
public function PhpWsdlElement($name,$type,$settings=null)
{
self::__construct($name, $type, $settings);
}
public function __construct($name,$type,$settings=null){
PhpWsdl::Debug('New complex type element '.$name);
parent::PhpWsdlParam($name,$type,$settings);
$this->NillAble=!in_array($type,PhpWsdl::$NonNillable);
if(!is_null($settings)){
if(isset($settings['nillable']))
$this->NillAble=$settings['nillable']=='1'||$settings['nillable']=='true';
if(isset($settings['minoccurs']))
$this->MinOccurs=$settings['minoccurs'];
if(isset($settings['maxoccurs']))
$this->MaxOccurs=$settings['maxoccurs'];
}
}
/**
* Create the WSDL
*
* @param PhpWsdl $pw The PhpWsdl object
* @return string The WSDL
*/
public function CreateElement($pw){
PhpWsdl::Debug('Create WSDL definition for element '.$this->Name);
$res='