/* * Copyright (c) 2008 - 2010 * Jonathan Schleifer <js@webkeks.org> * * All rights reserved. * * This file is part of ObjFW. It may be distributed under the terms of the * Q Public License 1.0, which can be found in the file LICENSE included in * the packaging of this file. */ #import "OFString.h" extern int _OFString_XMLUnescaping_reference; /** * \brief A protocol that needs to be implemented by delegates for * -[stringByXMLUnescapingWithHandler:]. */ @protocol OFStringXMLUnescapingDelegate /** * This callback is called when an unknown entity was found while trying to * unescape XML. The callback is supposed to return a substitution for the * entity or nil if it is unknown to the callback as well, in which case an * exception will be thrown. * * \param entity The name of the entity that is unknown * \return A substitution for the entity or nil */ - (OFString*)string: (OFString*)str containsUnknownEntityNamed: (OFString*)entity; @end /** * \brief A category for unescaping XML in strings. */ @interface OFString (XMLUnescaping) /** * Unescapes XML in the string. */ - (OFString*)stringByXMLUnescaping; /** * Unescapes XML in the string and uses the specified handler for unknown * entities. * * \param h An OFXMLUnescapingDelegate as a handler for unknown entities */ - (OFString*)stringByXMLUnescapingWithDelegate: (OFObject <OFStringXMLUnescapingDelegate>*)delegate; @end