Como resolver uma referência de entidade XML declarada internamente usando NSXMLParser

Eu tenho um arquivo XML que usa entidades declaradas internamente. Por exemplo:

<?xml version="1.0" encoding="UTF-8"?>

...

<!ENTITY my_symbol "my symbol value">

...

<my_element>
    <my_next_element>foo&my_symbol;bar</my_next_element>
</my_element>

...

Usando a classe NSXMLParser, como posso resolvermy_symbol referência de entidade?

Da experimentação, oparser:foundInternalEntityDeclarationWithName:value: O método delegado será chamado para omy_symbol declaração de entidade, com valor"my symbol value". Então, quando omy_next_element o elemento é alcançado,NSXMLParser vai ligar para oparser:didStartElement:namespaceURI:qualifiedName:attributes: delegate method.

Antesparser:didEndElement:namespaceURI:qualifiedName: é chamado para</my_next_element>, aparser:foundCharacters: O método delegate será chamado duas vezes com as strings:

"foo""bar"

omy_symbol referência de entidade é ignorada. O que é necessário para que a referência da entidade seja resolvida?

EDITAR:

Removendo oENTITY declaração demy_symbol da DTD resultará em umNSXMLParserUndeclaredEntityError. Isto sugere que quando a declaração de entidade está presente, e então referenciada em<my_next_element>, está sendo notado. Por algum motivo, ele não está sendo resolvido para a string que representa.

Também se&amp; é usado dentro de um elemento, o analisador irá resolvê-lo corretamente"&" e isso é passado como a string quando oparser:foundCharacters: O método delegado é chamado.

questionAnswers(1)

yourAnswerToTheQuestion