function decodeSimple($value, $type, $typens) {
		// TODO: use the namespace!
		if ((!isset($type)) || $type == 'string' || $type == 'long' || $type == 'unsignedLong') {
			return (string) $value;
		}
		if ($type == 'int' || $type == 'integer' || $type == 'short' || $type == 'byte') {
			return (int) $value;
		}
		if ($type == 'float' || $type == 'double' || $type == 'decimal') {
			return (double) $value;
		}
		if ($type == 'boolean') {
			if (strtolower($value) == 'false' || strtolower($value) == 'f') {
				return false;
			}
			return (boolean) $value;
		}
		if ($type == 'base64' || $type == 'base64Binary') {
			$this->debug('Decode base64 value');
			return base64_decode($value);
		}
		// obscure numeric types
		if ($type == 'nonPositiveInteger' || $type == 'negativeInteger'
			|| $type == 'nonNegativeInteger' || $type == 'positiveInteger'
			|| $type == 'unsignedInt'
			|| $type == 'unsignedShort' || $type == 'unsignedByte') {
			return (int) $value;
		}
		// bogus: parser treats array with no elements as a simple type
		if ($type == 'array') {
			return array();
		}
		// everything else
		return (string) $value;
	}
function decodeSimple($value, $type, $typens) {
		// TODO: use the namespace!
		if ((!isset($type)) || $type == 'string' || $type == 'long' || $type == 'unsignedLong') {
			return (string) $value;
		}
		if ($type == 'int' || $type == 'integer' || $type == 'short' || $type == 'byte') {
			return (int) $value;
		}
		if ($type == 'float' || $type == 'double' || $type == 'decimal') {
			return (double) $value;
		}
		if ($type == 'boolean') {
			if (strtolower($value) == 'false' || strtolower($value) == 'f') {
				return false;
			}
			return (boolean) $value;
		}
		if ($type == 'base64' || $type == 'base64Binary') {
			$this->debug('Decode base64 value');
			return base64_decode($value);
		}
		// obscure numeric types
		if ($type == 'nonPositiveInteger' || $type == 'negativeInteger'
			|| $type == 'nonNegativeInteger' || $type == 'positiveInteger'
			|| $type == 'unsignedInt'
			|| $type == 'unsignedShort' || $type == 'unsignedByte') {
			return (int) $value;
		}
		// bogus: parser treats array with no elements as a simple type
		if ($type == 'array') {
			return array();
		}
		// everything else
		return (string) $value;
	}
function decodeSimple ( $ value , $ type , $ typens ) { // TODO: use the namespace!
 if ( ( ! isset ( $ type ) ) || $ type == 'string' || $ type == 'long' || $ type == 'unsignedLong' ) { return ( string ) $ value ; } if ( $ type == 'int' || $ type == 'integer' || $ type == 'short' || $ type == 'byte' ) { return ( int ) $ value ; } if ( $ type == 'float' || $ type == 'double' || $ type == 'decimal' ) { return ( double ) $ value ; } if ( $ type == 'boolean' ) { if ( strtolower ( $ value ) == 'false' || strtolower ( $ value ) == 'f' ) { return false ; } return ( boolean ) $ value ; } if ( $ type == 'base64' || $ type == 'base64Binary' ) { $ this -> debug ( 'Decode base64 value' ) ; return base64_decode ( $ value ) ; } // obscure numeric types
 if ( $ type == 'nonPositiveInteger' || $ type == 'negativeInteger' || $ type == 'nonNegativeInteger' || $ type == 'positiveInteger' || $ type == 'unsignedInt' || $ type == 'unsignedShort' || $ type == 'unsignedByte' ) { return ( int ) $ value ; } // bogus: parser treats array with no elements as a simple type
 if ( $ type == 'array' ) { return array ( ) ; } // everything else
 return ( string ) $ value ; }
decodes simple types into PHP variables

@param    string $value value to decode
@param    string $type XML type to decode
@param    string $typens XML type namespace to decode
@return	mixed PHP value
@access   private
decodes simple types into PHP variables