public function serializeViolationToXml(XmlSerializationVisitor $visitor, ConstraintViolation $violation, array $type = null)
 {
     if (null === $visitor->document) {
         $visitor->document = $visitor->createDocument(null, null, false);
         $visitor->document->appendChild($violationNode = $visitor->document->createElement('violation'));
         $visitor->setCurrentNode($violationNode);
     } else {
         $visitor->getCurrentNode()->appendChild($violationNode = $visitor->document->createElement('violation'));
     }
     $violationNode->setAttribute('property_path', $violation->getPropertyPath());
     $violationNode->appendChild($messageNode = $visitor->document->createElement('message'));
     $messageNode->appendChild($visitor->document->createCDATASection($violation->getMessage()));
 }
 public function serializeFormToXml(XmlSerializationVisitor $visitor, Form $form, array $type)
 {
     if (null === $visitor->document) {
         $visitor->document = $visitor->createDocument(null, null, false);
         $visitor->document->appendChild($formNode = $visitor->document->createElement('form'));
         $visitor->setCurrentNode($formNode);
     } else {
         $visitor->getCurrentNode()->appendChild($formNode = $visitor->document->createElement('form'));
     }
     $formNode->setAttribute('name', $form->getName());
     $formNode->appendChild($errorsNode = $visitor->document->createElement('errors'));
     foreach ($form->getErrors() as $error) {
         $errorNode = $visitor->document->createElement('entry');
         $errorNode->appendChild($this->serializeFormErrorToXml($visitor, $error, array()));
         $errorsNode->appendChild($errorNode);
     }
     foreach ($form->getChildren() as $child) {
         if (null !== ($node = $this->serializeFormToXml($visitor, $child, array()))) {
             $formNode->appendChild($node);
         }
     }
     return $formNode;
 }