
Public Member Functions | |
| XSDType () | |
| & | getSoapValue ($name, $ns=null) |
| setattr ($attribute, $value) | |
| getattr ($attribute) | |
| __set_attribute ($key, $value) | |
Public Attributes | |
| $_elements = array() | |
| $_attributes = array() | |
| $_attributeValues = array() | |
| $_namespace | |
Definition at line 15 of file XSDType.php.
|
|
Constructor. Base class constructor is empty. Definition at line 56 of file XSDType.php.
|
|
||||||||||||
|
Callback for SOAP_Base::_decode() to set attributes during response decoding. Definition at line 150 of file XSDType.php. References setattr(). 00151 { 00152 return $this->setattr($key, $value); 00153 }
|
|
|
Get the value of an attribute on this object. Definition at line 139 of file XSDType.php. 00140 { 00141 return isset($this->_attributeValues[$attribute]) ? 00142 $this->_attributeValues[$attribute] : 00143 null; 00144 }
|
|
||||||||||||
|
Turn this type into a SOAP_Value object useable with SOAP_Client.
Definition at line 69 of file XSDType.php. References $i, $value, name, and Value. 00070 { 00071 include_once 'Services/PayPal/SOAP/Value.php'; 00072 00073 $elements = array(); 00074 foreach ($this->_elements as $ename => $element) { 00075 $value = $this->$ename; 00076 00077 // Values that are null and not required can be omitted 00078 // from the serialized XML (and thus the SOAP_Value 00079 // object) entirely. 00080 if (is_null($value) && !$element['required']) { 00081 continue; 00082 } 00083 00084 // Append namespace prefixes if this element came from a 00085 // namespace different from the base type's namespace. 00086 if (!empty($element['namespace']) && $element['namespace'] != $this->_namespace) { 00087 $ename = '{' . $element['namespace'] . '}' . $ename; 00088 } 00089 00090 if (is_a($value, 'XSDType')) { 00091 $elements[] =& $value->getSoapValue($ename, $this->_namespace); 00092 } elseif(is_array($value)) { 00093 for($i = 0; $i < count($value); $i++) { 00094 if (is_a($value[$i], 'XSDType')) { 00095 $elements[] =& $value[$i]->getSoapValue($ename, $this->_namespace); 00096 } else { 00097 if (is_string($value[$i]) && $element['charset'] == 'iso-8859-1' && 00098 (utf8_encode(utf8_decode($value[$i])) != $value[$i])) { 00099 $value[$i] = utf8_encode($value[$i]); 00100 } 00101 $elements[] =& new SOAP_Value($ename, $element['type'], $value[$i]); 00102 } 00103 } 00104 } else { 00105 if (is_string($value) && $element['charset'] == 'iso-8859-1' && 00106 (utf8_encode(utf8_decode($value)) != $value)) { 00107 $value = utf8_encode($value); 00108 } 00109 $elements[] =& new SOAP_Value($ename, $element['type'], $value); 00110 } 00111 } 00112 00113 if (count($elements) == 1) { 00114 $elements = array_shift($elements); 00115 } 00116 00117 if (!is_null($ns) && $ns != $this->_namespace) { 00118 $this->_attributeValues['xmlns'] = $this->_namespace; 00119 } 00120 00121 if (count($this->_attributeValues)) { 00122 return $v =& new SOAP_Value($name, '', $elements, $this->_attributeValues); 00123 } else { 00124 return $v =& new SOAP_Value($name, '', $elements); 00125 } 00126 }
|
|
||||||||||||
|
Set the value of an attribute on this object. Definition at line 131 of file XSDType.php. References $value. Referenced by __set_attribute(). 00132 { 00133 $this->_attributeValues[$attribute] = $value; 00134 }
|
|
|
Definition at line 33 of file XSDType.php. |
|
|
Definition at line 42 of file XSDType.php. |
|
|
Definition at line 24 of file XSDType.php. |
|
|
Definition at line 51 of file XSDType.php. |
1.4.4