/** * @param WriterHelper $writer * @param ClassMetadata $classMetadata * @param string $fieldName * @param mixed $fieldValue */ private function _writeAttribute(WriterHelper $writer, ClassMetadata $classMetadata, $fieldName, $fieldValue) { $name = $classMetadata->getFieldXmlName($fieldName); $type = $classMetadata->getTypeOfField($fieldName); $mapping = $classMetadata->getFieldMapping($fieldName); $prefix = isset($mapping['prefix']) ? $mapping['prefix'] : null; if ($classMetadata->isCollection($fieldName)) { $convertedValues = array(); foreach ($fieldValue as $value) { $convertedValues[] = Type::getType($type)->convertToXmlValue($value); } $writer->writeAttribute($name, implode(" ", $convertedValues), $prefix); } else { $writer->writeAttribute($name, Type::getType($type)->convertToXmlValue($fieldValue), $prefix); } }