Edit report at https://bugs.php.net/bug.php?id=55531&edit=1
ID: 55531 Updated by: paj...@php.net Reported by: brianlm...@php.net Summary: Vertical tabs ignored by XMLWriter Status: Open Type: Bug Package: XML related Operating System: Linux PHP Version: 5.3.8 Block user comment: N Private report: N New Comment: XML 1.0 this character is not valid. Not sure if we should allow it, .net 2.x allows them optionally using settings.CheckCharacters = true;. But that|s something libxml deals with, PHP's xml extensions only rely on it to parse input or generate data. Previous Comments: ------------------------------------------------------------------------ [2011-08-29 15:52:18] brianlm...@php.net Description: ------------ When text contains vertical tabs, XMLWriter silently ignores them and generates invalid XML. This is not an issue where the text is invalid UTF-8. It is valid UTF-8 data. Vertical tabs are simply not allowed in XML by rule. I would expect XMLWriter to encode it as it would any other character not allowed in XML. I suspect that Test script: --------------- <?php $xml = new XmlWriter(); $xml->openMemory(); $xml->startDocument('1.0', 'UTF-8'); $xml->writeElement("test", "This data contains a \vvertical tab"); $xml->endElement(); $data = $xml->outputMemory(true); $sxml = simplexml_load_string($data); ?> Expected result: ---------------- Either an error or valid XML. Actual result: -------------- Invalid XML is silently created. For example, SimpleXML::addchild() throws a warning: SimpleXMLElement::asXML(): xmlEscapeEntities : char out of range when a vertical tab is present and the node is not added. ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=55531&edit=1