@@ -23,17 +23,17 @@ #import "OFExceptions.h" #import "macros.h" static OF_INLINE OFString* transform_string(OFMutableString *cache, - OFObject *handler) + OFObject *delegate) { [cache replaceOccurrencesOfString: @"\r\n" withString: @"\n"]; [cache replaceOccurrencesOfString: @"\r" withString: @"\n"]; - return [cache stringByXMLUnescapingWithHandler: handler]; + return [cache stringByXMLUnescapingWithDelegate: delegate]; } static OF_INLINE OFString* namespace_for_prefix(OFString *prefix, OFArray *namespaces) { @@ -136,12 +136,12 @@ if ([cache cStringLength] > 0) { OFString *str; pool = [[OFAutoreleasePool alloc] init]; str = transform_string(cache, self); - [delegate xmlParser: self - didFindString: str]; + [delegate parser: self + foundCharacters: str]; [pool release]; } [cache setToCString: ""]; @@ -204,21 +204,21 @@ @throw [OFUnboundNamespaceException newWithClass: isa prefix: prefix]; - [delegate xmlParser: self - didStartTagWithName: name - prefix: prefix - namespace: ns - attributes: nil]; + [delegate parser: self + didStartElement: name + withPrefix: prefix + namespace: ns + attributes: nil]; if (buf[i] == '/') - [delegate xmlParser: self - didEndTagWithName: name - prefix: prefix - namespace: ns]; + [delegate parser: self + didEndElement: name + withPrefix: prefix + namespace: ns]; else [previous addObject: [[cache copy] autorelease]]; [pool release]; @@ -289,14 +289,14 @@ @throw [OFUnboundNamespaceException newWithClass: isa prefix: prefix]; [namespaces removeNObjects: 1]; - [delegate xmlParser: self - didEndTagWithName: name - prefix: prefix - namespace: ns]; + [delegate parser: self + didEndElement: name + withPrefix: prefix + namespace: ns]; [pool release]; [name release]; [prefix release]; @@ -320,21 +320,21 @@ if (prefix != nil && ns == nil) @throw [OFUnboundNamespaceException newWithClass: isa prefix: prefix]; - [delegate xmlParser: self - didStartTagWithName: name - prefix: prefix - namespace: ns - attributes: attrs]; + [delegate parser: self + didStartElement: name + withPrefix: prefix + namespace: ns + attributes: attrs]; if (buf[i] == '/') { - [delegate xmlParser: self - didEndTagWithName: name - prefix: prefix - namespace: ns]; + [delegate parser: self + didEndElement: name + withPrefix: prefix + namespace: ns]; [namespaces removeNObjects: 1]; } else if (prefix != nil) { OFString *str = [OFString stringWithFormat: @"%s:%s", [prefix cString], @@ -566,12 +566,12 @@ cdata = [[cache mutableCopy] autorelease]; len = [cdata length]; [cdata removeCharactersFromIndex: len - 2 toIndex: len]; - [delegate xmlParser: self - didFindString: cdata]; + [delegate parser: self + foundCDATA: cdata]; [pool release]; [cache setToCString: ""]; last = i + 1; @@ -609,12 +609,12 @@ comment = [[cache mutableCopy] autorelease]; len = [comment length]; [comment removeCharactersFromIndex: len - 2 toIndex: len]; - [delegate xmlParser: self - didFindComment: comment]; + [delegate parser: self + foundComment: comment]; [pool release]; [cache setToCString: ""]; last = i + 1; @@ -632,44 +632,50 @@ if (len > 0 && state != OF_XMLPARSER_IN_TAG) [cache appendCStringWithoutUTF8Checking: buf + last length: len]; } -- (OFString*)didFindUnknownEntityNamed: (OFString*)entity +- (OFString*)string: (OFString*)string + containsUnknownEntityNamed: (OFString*)entity { - return [delegate xmlParser: self - didFindUnknownEntityNamed: entity]; + return [delegate parser: self + foundUnknownEntityNamed: entity]; } @end @implementation OFObject (OFXMLParserDelegate) -- (void)xmlParser: (OFXMLParser*)parser - didStartTagWithName: (OFString*)name - prefix: (OFString*)prefix - namespace: (OFString*)ns - attributes: (OFArray*)attrs -{ -} - -- (void)xmlParser: (OFXMLParser*)parser - didEndTagWithName: (OFString*)name - prefix: (OFString*)prefix - namespace: (OFString*)ns -{ -} - -- (void)xmlParser: (OFXMLParser*)parser - didFindString: (OFString*)string -{ -} - -- (void)xmlParser: (OFXMLParser*)parser - didFindComment: (OFString*)comment -{ -} - -- (OFString*)xmlParser: (OFXMLParser*)parser - didFindUnknownEntityNamed: (OFString*)entity +- (void)parser: (OFXMLParser*)parser + didStartElement: (OFString*)name + withPrefix: (OFString*)prefix + namespace: (OFString*)ns + attributes: (OFArray*)attrs +{ +} + +- (void)parser: (OFXMLParser*)parser + didEndElement: (OFString*)name + withPrefix: (OFString*)prefix + namespace: (OFString*)ns +{ +} + +- (void)parser: (OFXMLParser*)parser + foundCharacters: (OFString*)string +{ +} + +- (void)parser: (OFXMLParser*)parser + foundCDATA: (OFString*)cdata +{ +} + +- (void)parser: (OFXMLParser*)parser + foundComment: (OFString*)comment +{ +} + +- (OFString*)parser: (OFXMLParser*)parser + foundUnknownEntityNamed: (OFString*)entity { return nil; } @end