Changeset 829
- Timestamp:
- 08/14/07 21:44:16 (1 year ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/src/main/php/net/stubbles/xml/stubDomXMLStreamWriter.php
r718 r829 142 142 */ 143 143 public function writeXmlFragment($fragment) { 144 $fragmentNode = $this->doc->createDocumentFragment(); 145 $fragmentNode->appendXML($fragment); 146 $this->addToDom($fragmentNode); 144 try { 145 libxml_use_internal_errors(true); 146 $fragmentNode = $this->doc->createDocumentFragment(); 147 $fragmentNode->appendXML($fragment); 148 $this->addToDom($fragmentNode); 149 $errors = libxml_get_errors(); 150 if (!empty($errors)) { 151 libxml_clear_errors(); 152 throw new stubXMLException('Error writing document fragment: ' . $this->convertLibXmlErrorsToString($errors)); 153 } 154 } catch (DOMException $e) { 155 throw new stubXMLException('Error writing document fragment.', $e); 156 } 147 157 } 148 158 … … 230 240 return rtrim($this->doc->saveXML()); 231 241 } 242 243 /** 244 * Converts all errors to a string 245 * 246 * @param array $errors 247 * @return string 248 */ 249 protected function convertLibXmlErrorsToString($errors) { 250 $messages = array(); 251 foreach ($errors as $error) { 252 $messages[] = trim($error->message); 253 } 254 return implode(', ', $messages); 255 } 232 256 } 233 257 ?> trunk/src/main/php/net/stubbles/xml/stubXMLException.php
r66 r829 7 7 * @subpackage xml 8 8 */ 9 9 stubClassLoader::load('net.stubbles.lang.exceptions.stubChainedException'); 10 10 /** 11 11 * XML Exception … … 14 14 * @subpackage xml 15 15 */ 16 class stubXMLException extends stub Exception {}16 class stubXMLException extends stubChainedException {} 17 17 ?>
