original_string: function serializeComplexTypeAttributes($typeDef, $value, $ns, $uqType) {
  		$this->debug("serializeComplexTypeAttributes for XML Schema type $ns:$uqType");
  		$xml = '';
  		if (isset($typeDef['extensionBase'])) {
  			$nsx = $this->getPrefix($typeDef['extensionBase']);
  			$uqTypex = $this->getLocalPart($typeDef['extensionBase']);
  			if ($this->getNamespaceFromPrefix($nsx)) {
  				$nsx = $this->getNamespaceFromPrefix($nsx);
  			}
  			if ($typeDefx = $this->getTypeDef($uqTypex, $nsx)) {
  				$this->debug("serialize attributes for extension base $nsx:$uqTypex");
  				$xml .= $this->serializeComplexTypeAttributes($typeDefx, $value, $nsx, $uqTypex);
  			} else {
  				$this->debug("extension base $nsx:$uqTypex is not a supported type");
  			}
  		}
  		if (isset($typeDef['attrs']) && is_array($typeDef['attrs'])) {
  			$this->debug("serialize attributes for XML Schema type $ns:$uqType");
  			if (is_array($value)) {
  				$xvalue = $value;
  			} elseif (is_object($value)) {
  				$xvalue = get_object_vars($value);
  			} else {
  				$this->debug("value is neither an array nor an object for XML Schema type $ns:$uqType");
  				$xvalue = array();
  			}
  			foreach ($typeDef['attrs'] as $aName => $attrs) {
  				if (isset($xvalue['!' . $aName])) {
  					$xname = '!' . $aName;
  					$this->debug("value provided for attribute $aName with key $xname");
  				} elseif (isset($xvalue[$aName])) {
  					$xname = $aName;
  					$this->debug("value provided for attribute $aName with key $xname");
  				} elseif (isset($attrs['default'])) {
  					$xname = '!' . $aName;
  					$xvalue[$xname] = $attrs['default'];
  					$this->debug('use default value of ' . $xvalue[$aName] . ' for attribute ' . $aName);
  				} else {
  					$xname = '';
  					$this->debug("no value provided for attribute $aName");
  				}
  				if ($xname) {
  					$xml .=  " $aName=\"" . $this->expandEntities($xvalue[$xname]) . "\"";
  				}
  			} 
  		} else {
  			$this->debug("no attributes to serialize for XML Schema type $ns:$uqType");
  		}
  		return $xml;
  	}
code: function serializeComplexTypeAttributes($typeDef, $value, $ns, $uqType) {
  		$this->debug("serializeComplexTypeAttributes for XML Schema type $ns:$uqType");
  		$xml = '';
  		if (isset($typeDef['extensionBase'])) {
  			$nsx = $this->getPrefix($typeDef['extensionBase']);
  			$uqTypex = $this->getLocalPart($typeDef['extensionBase']);
  			if ($this->getNamespaceFromPrefix($nsx)) {
  				$nsx = $this->getNamespaceFromPrefix($nsx);
  			}
  			if ($typeDefx = $this->getTypeDef($uqTypex, $nsx)) {
  				$this->debug("serialize attributes for extension base $nsx:$uqTypex");
  				$xml .= $this->serializeComplexTypeAttributes($typeDefx, $value, $nsx, $uqTypex);
  			} else {
  				$this->debug("extension base $nsx:$uqTypex is not a supported type");
  			}
  		}
  		if (isset($typeDef['attrs']) && is_array($typeDef['attrs'])) {
  			$this->debug("serialize attributes for XML Schema type $ns:$uqType");
  			if (is_array($value)) {
  				$xvalue = $value;
  			} elseif (is_object($value)) {
  				$xvalue = get_object_vars($value);
  			} else {
  				$this->debug("value is neither an array nor an object for XML Schema type $ns:$uqType");
  				$xvalue = array();
  			}
  			foreach ($typeDef['attrs'] as $aName => $attrs) {
  				if (isset($xvalue['!' . $aName])) {
  					$xname = '!' . $aName;
  					$this->debug("value provided for attribute $aName with key $xname");
  				} elseif (isset($xvalue[$aName])) {
  					$xname = $aName;
  					$this->debug("value provided for attribute $aName with key $xname");
  				} elseif (isset($attrs['default'])) {
  					$xname = '!' . $aName;
  					$xvalue[$xname] = $attrs['default'];
  					$this->debug('use default value of ' . $xvalue[$aName] . ' for attribute ' . $aName);
  				} else {
  					$xname = '';
  					$this->debug("no value provided for attribute $aName");
  				}
  				if ($xname) {
  					$xml .=  " $aName=\"" . $this->expandEntities($xvalue[$xname]) . "\"";
  				}
  			} 
  		} else {
  			$this->debug("no attributes to serialize for XML Schema type $ns:$uqType");
  		}
  		return $xml;
  	}
code_tokens: function serializeComplexTypeAttributes ( $ typeDef , $ value , $ ns , $ uqType ) { $ this -> debug ( "serializeComplexTypeAttributes for XML Schema type $ns:$uqType" ) ; $ xml = '' ; if ( isset ( $ typeDef [ 'extensionBase' ] ) ) { $ nsx = $ this -> getPrefix ( $ typeDef [ 'extensionBase' ] ) ; $ uqTypex = $ this -> getLocalPart ( $ typeDef [ 'extensionBase' ] ) ; if ( $ this -> getNamespaceFromPrefix ( $ nsx ) ) { $ nsx = $ this -> getNamespaceFromPrefix ( $ nsx ) ; } if ( $ typeDefx = $ this -> getTypeDef ( $ uqTypex , $ nsx ) ) { $ this -> debug ( "serialize attributes for extension base $nsx:$uqTypex" ) ; $ xml .= $ this -> serializeComplexTypeAttributes ( $ typeDefx , $ value , $ nsx , $ uqTypex ) ; } else { $ this -> debug ( "extension base $nsx:$uqTypex is not a supported type" ) ; } } if ( isset ( $ typeDef [ 'attrs' ] ) && is_array ( $ typeDef [ 'attrs' ] ) ) { $ this -> debug ( "serialize attributes for XML Schema type $ns:$uqType" ) ; if ( is_array ( $ value ) ) { $ xvalue = $ value ; } elseif ( is_object ( $ value ) ) { $ xvalue = get_object_vars ( $ value ) ; } else { $ this -> debug ( "value is neither an array nor an object for XML Schema type $ns:$uqType" ) ; $ xvalue = array ( ) ; } foreach ( $ typeDef [ 'attrs' ] as $ aName => $ attrs ) { if ( isset ( $ xvalue [ '!' . $ aName ] ) ) { $ xname = '!' . $ aName ; $ this -> debug ( "value provided for attribute $aName with key $xname" ) ; } elseif ( isset ( $ xvalue [ $ aName ] ) ) { $ xname = $ aName ; $ this -> debug ( "value provided for attribute $aName with key $xname" ) ; } elseif ( isset ( $ attrs [ 'default' ] ) ) { $ xname = '!' . $ aName ; $ xvalue [ $ xname ] = $ attrs [ 'default' ] ; $ this -> debug ( 'use default value of ' . $ xvalue [ $ aName ] . ' for attribute ' . $ aName ) ; } else { $ xname = '' ; $ this -> debug ( "no value provided for attribute $aName" ) ; } if ( $ xname ) { $ xml .= " $aName=\"" . $ this -> expandEntities ( $ xvalue [ $ xname ] ) . "\"" ; } } } else { $ this -> debug ( "no attributes to serialize for XML Schema type $ns:$uqType" ) ; } return $ xml ; }
docstring: serializes the attributes for a complexType
  
  @param array $typeDef our internal representation of an XML schema type (or element)
  @param mixed $value a native PHP value (parameter value)
  @param string $ns the namespace of the type
  @param string $uqType the local part of the type
  @return string value serialized as an XML string
  @access private
docstring_tokens: serializes the attributes for a complexType