libxml на iOS категорично отказва да анализира този привидно валиден XML файл (част от SVG спецификацията!):
http://www.w3.org/TR/SVG11/images/coords/PreserveAspectRatio.svg
То се оплаква:
Error Domain=1 Code=27 "Entity 'Smile' not defined
UserInfo=0x7655730
{
lineNumber=26,
NSLocalizedDescription=Entity 'Smile' not defined,
bonusInfo1=Smile,
columnNumber=25
}
...и връща грешка на ниво ПРЕДУПРЕЖДЕНИЕ за всеки обект. Изглежда няма начин да го принудите да прави това, което документите предполагат, че прави (анализ на обекти по подразбиране). Тук има мистериозно псевдообяснение (http://www.xmlsoft.org/entities.html), което казва, че е много трудно и никой не трябва да го прави сам ... но изглежда, че libxml също не го прави :( .
Ето структурата за настройка, за да потвърдя, че не предоставям никакво заместване за анализиране на обект:
static xmlSAXHandler SAXHandler = {
NULL, /* internalSubset */
NULL, /* isStandalone */
NULL, /* hasInternalSubset */
NULL, /* hasExternalSubset */
NULL, /* resolveEntity */
NULL, /* getEntity */
NULL, /* entityDecl */
NULL, /* notationDecl */
NULL, /* attributeDecl */
NULL, /* elementDecl */
NULL, /* unparsedEntityDecl */
NULL, /* setDocumentLocator */
NULL, /* startDocument */
NULL, /* endDocument */
NULL, /* startElement*/
NULL, /* endElement */
NULL, /* reference */
charactersFoundSAX, /* characters */
NULL, /* ignorableWhitespace */
NULL, /* processingInstruction */
NULL, /* comment */
NULL, /* warning */
errorEncounteredSAX, /* error */
NULL, /* fatalError //: unused error() get all the errors */
NULL, /* getParameterEntity */
cDataFoundSAX, /* cdataBlock */
NULL, /* externalSubset */
XML_SAX2_MAGIC,
NULL,
startElementSAX, /* startElementNs */
endElementSAX, /* endElementNs */
structuredError, /* serror */
};