text: //
  //  XMLReader.h
  //
  //  Created by Troy on 9/18/10.
  //  Updated by Antoine Marcadet on 9/23/11.
  //
  
  #import <Foundation/Foundation.h>
  
  enum {
      XMLReaderOptionsProcessNamespaces           = 1 << 0, // Specifies whether the receiver reports the namespace and the qualified name of an element.
      XMLReaderOptionsReportNamespacePrefixes     = 1 << 1, // Specifies whether the receiver reports the scope of namespace declarations.
      XMLReaderOptionsResolveExternalEntities     = 1 << 2, // Specifies whether the receiver reports declarations of external entities.
  };
  typedef NSUInteger XMLReaderOptions;
  
  @interface XMLReader : NSObject <NSXMLParserDelegate>
  {
      NSMutableArray *dictionaryStack;
      NSMutableString *textInProgress;
      NSError * __autoreleasing *errorPointer;
  }
  
  + (NSDictionary *)dictionaryForXMLData:(NSData *)data error:(NSError **)errorPointer;
  + (NSDictionary *)dictionaryForXMLString:(NSString *)string error:(NSError **)errorPointer;
  + (NSDictionary *)dictionaryForXMLData:(NSData *)data options:(XMLReaderOptions)options error:(NSError **)errorPointer;
  + (NSDictionary *)dictionaryForXMLString:(NSString *)string options:(XMLReaderOptions)options error:(NSError **)errorPointer;
  
  @end
  