Chris@0: Chris@0: * Chris@0: * For the full copyright and license information, please view the LICENSE Chris@0: * file that was distributed with this source code. Chris@0: */ Chris@0: Chris@0: namespace Symfony\Component\VarDumper\Caster; Chris@0: Chris@0: use Symfony\Component\VarDumper\Cloner\Stub; Chris@0: Chris@0: /** Chris@0: * Casts XML resources to array representation. Chris@0: * Chris@0: * @author Nicolas Grekas Chris@0: */ Chris@0: class XmlResourceCaster Chris@0: { Chris@17: private static $xmlErrors = [ Chris@0: XML_ERROR_NONE => 'XML_ERROR_NONE', Chris@0: XML_ERROR_NO_MEMORY => 'XML_ERROR_NO_MEMORY', Chris@0: XML_ERROR_SYNTAX => 'XML_ERROR_SYNTAX', Chris@0: XML_ERROR_NO_ELEMENTS => 'XML_ERROR_NO_ELEMENTS', Chris@0: XML_ERROR_INVALID_TOKEN => 'XML_ERROR_INVALID_TOKEN', Chris@0: XML_ERROR_UNCLOSED_TOKEN => 'XML_ERROR_UNCLOSED_TOKEN', Chris@0: XML_ERROR_PARTIAL_CHAR => 'XML_ERROR_PARTIAL_CHAR', Chris@0: XML_ERROR_TAG_MISMATCH => 'XML_ERROR_TAG_MISMATCH', Chris@0: XML_ERROR_DUPLICATE_ATTRIBUTE => 'XML_ERROR_DUPLICATE_ATTRIBUTE', Chris@0: XML_ERROR_JUNK_AFTER_DOC_ELEMENT => 'XML_ERROR_JUNK_AFTER_DOC_ELEMENT', Chris@0: XML_ERROR_PARAM_ENTITY_REF => 'XML_ERROR_PARAM_ENTITY_REF', Chris@0: XML_ERROR_UNDEFINED_ENTITY => 'XML_ERROR_UNDEFINED_ENTITY', Chris@0: XML_ERROR_RECURSIVE_ENTITY_REF => 'XML_ERROR_RECURSIVE_ENTITY_REF', Chris@0: XML_ERROR_ASYNC_ENTITY => 'XML_ERROR_ASYNC_ENTITY', Chris@0: XML_ERROR_BAD_CHAR_REF => 'XML_ERROR_BAD_CHAR_REF', Chris@0: XML_ERROR_BINARY_ENTITY_REF => 'XML_ERROR_BINARY_ENTITY_REF', Chris@0: XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF => 'XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF', Chris@0: XML_ERROR_MISPLACED_XML_PI => 'XML_ERROR_MISPLACED_XML_PI', Chris@0: XML_ERROR_UNKNOWN_ENCODING => 'XML_ERROR_UNKNOWN_ENCODING', Chris@0: XML_ERROR_INCORRECT_ENCODING => 'XML_ERROR_INCORRECT_ENCODING', Chris@0: XML_ERROR_UNCLOSED_CDATA_SECTION => 'XML_ERROR_UNCLOSED_CDATA_SECTION', Chris@0: XML_ERROR_EXTERNAL_ENTITY_HANDLING => 'XML_ERROR_EXTERNAL_ENTITY_HANDLING', Chris@17: ]; Chris@0: Chris@0: public static function castXml($h, array $a, Stub $stub, $isNested) Chris@0: { Chris@0: $a['current_byte_index'] = xml_get_current_byte_index($h); Chris@0: $a['current_column_number'] = xml_get_current_column_number($h); Chris@0: $a['current_line_number'] = xml_get_current_line_number($h); Chris@0: $a['error_code'] = xml_get_error_code($h); Chris@0: Chris@0: if (isset(self::$xmlErrors[$a['error_code']])) { Chris@0: $a['error_code'] = new ConstStub(self::$xmlErrors[$a['error_code']], $a['error_code']); Chris@0: } Chris@0: Chris@0: return $a; Chris@0: } Chris@0: }