632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
|
prefix = nil;
}
if (![[previous lastObject] isEqual: cache])
@throw [OFMalformedXMLException newWithClass: isa
parser: self];
[previous removeNObjects: 1];
[cache setToCString: ""];
ns = namespace_for_prefix(prefix, namespaces);
if (prefix != nil && ns == nil)
@throw [OFUnboundNamespaceException newWithClass: isa
prefix: prefix];
|
|
|
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
|
prefix = nil;
}
if (![[previous lastObject] isEqual: cache])
@throw [OFMalformedXMLException newWithClass: isa
parser: self];
[previous removeLastObject];
[cache setToCString: ""];
ns = namespace_for_prefix(prefix, namespaces);
if (prefix != nil && ns == nil)
@throw [OFUnboundNamespaceException newWithClass: isa
prefix: prefix];
|
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
|
[delegate parser: self
didEndElement: name
withPrefix: prefix
namespace: ns];
[pool release];
[namespaces removeNObjects: 1];
[name release];
[prefix release];
name = prefix = nil;
*last = *i + 1;
state = (buffer[*i] == '>'
? OF_XMLPARSER_OUTSIDE_TAG
|
|
|
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
|
[delegate parser: self
didEndElement: name
withPrefix: prefix
namespace: ns];
[pool release];
[namespaces removeLastObject];
[name release];
[prefix release];
name = prefix = nil;
*last = *i + 1;
state = (buffer[*i] == '>'
? OF_XMLPARSER_OUTSIDE_TAG
|
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
|
didEndElement: name
withPrefix: prefix
namespace: ns];
if ([previous count] == 0)
finishedParsing = YES;
[namespaces removeNObjects: 1];
} else if (prefix != nil) {
OFString *str = [OFString stringWithFormat: @"%@:%@",
prefix, name];
[previous addObject: str];
} else
[previous addObject: name];
|
|
|
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
|
didEndElement: name
withPrefix: prefix
namespace: ns];
if ([previous count] == 0)
finishedParsing = YES;
[namespaces removeLastObject];
} else if (prefix != nil) {
OFString *str = [OFString stringWithFormat: @"%@:%@",
prefix, name];
[previous addObject: str];
} else
[previous addObject: name];
|