Serialize this object into arguments in the attribute exchange namespace.
{
$zero_value_types = array();
if ($request !== null) {
foreach ($this->data as $type_uri => $unused) {
if (!$request->contains($type_uri)) {
sprintf("Response attribute not present in request: %s",
$type_uri)
);
}
}
foreach ($request->iterAttrs() as $attr_info) {
if ($attr_info->alias === null) {
} else {
$alias =
$aliases->addAlias($attr_info->type_uri,
$attr_info->alias);
if ($alias === null) {
sprintf("Could not add alias %s for URI %s",
$attr_info->alias, $attr_info->type_uri)
);
}
}
if (array_key_exists($attr_info->type_uri, $this->data)) {
$values = $this->data[$attr_info->type_uri];
} else {
$values = array();
$zero_value_types[] = $attr_info;
}
($attr_info->count <
count($values))) {
sprintf("More than the number of requested values " .
"were specified for %s",
$attr_info->type_uri)
);
}
}
}
foreach ($zero_value_types as $attr_info) {
$alias =
$aliases->getAlias($attr_info->type_uri);
$kv_args['type.' . $alias] = $attr_info->type_uri;
$kv_args['count.' . $alias] = '0';
}
$update_url = null;
if ($request) {
$update_url = $request->update_url;
} else {
$update_url = $this->update_url;
}
if ($update_url) {
$ax_args['update_url'] = $update_url;
}
return $ax_args;