Differences From Artifact [2b05f04b14]:
- File
src/OFXMLElement.m
— part of check-in
[2a27cf3000]
at
2016-01-03 00:41:26
on branch trunk
— Update copyright
While at it, also update the mail address. (user: js, size: 27011) [annotate] [blame] [check-ins using]
To Artifact [1b3b42ec8f]:
- File src/OFXMLElement.m — part of check-in [cb0fd980f9] at 2016-01-03 01:14:27 on branch trunk — Make more use of fast enumeration (user: js, size: 26367) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
397 398 399 400 401 402 403 | objc_autoreleasePoolPop(pool); } - (OFString*)stringValue { OFMutableString *ret; | < < | < | | | 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 | objc_autoreleasePoolPop(pool); } - (OFString*)stringValue { OFMutableString *ret; if ([_children count] == 0) return @""; ret = [OFMutableString string]; for (OFXMLNode *child in _children) { void *pool = objc_autoreleasePoolPush(); [ret appendString: [child stringValue]]; objc_autoreleasePoolPop(pool); } [ret makeImmutable]; return ret; |
︙ | ︙ | |||
797 798 799 800 801 802 803 | stringValue: stringValue]]; objc_autoreleasePoolPop(pool); } - (OFXMLAttribute*)attributeForName: (OFString*)attributeName { | < < | < | | | < < < < < | < | | | | 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 | stringValue: stringValue]]; objc_autoreleasePoolPop(pool); } - (OFXMLAttribute*)attributeForName: (OFString*)attributeName { for (OFXMLAttribute *attribute in _attributes) if (attribute->_namespace == nil && [attribute->_name isEqual: attributeName]) return [[attribute retain] autorelease]; return nil; } - (OFXMLAttribute*)attributeForName: (OFString*)attributeName namespace: (OFString*)attributeNS { if (attributeNS == nil) return [self attributeForName: attributeName]; for (OFXMLAttribute *attribute in _attributes) if ([attribute->_namespace isEqual: attributeNS] && [attribute->_name isEqual: attributeName]) return [[attribute retain] autorelease]; return nil; } - (void)removeAttributeForName: (OFString*)attributeName { OFXMLAttribute *const *objects = [_attributes objects]; |
︙ | ︙ | |||
972 973 974 975 976 977 978 | return [[self elementsForName: elementName namespace: elementNS] firstObject]; } - (OFArray*)elements { OFMutableArray OF_GENERIC(OFXMLElement*) *ret = [OFMutableArray array]; | < < | | | < < | | | < < | | | < < < < | | | | 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 | return [[self elementsForName: elementName namespace: elementNS] firstObject]; } - (OFArray*)elements { OFMutableArray OF_GENERIC(OFXMLElement*) *ret = [OFMutableArray array]; for (OFXMLNode *child in _children) if ([child isKindOfClass: [OFXMLElement class]]) [ret addObject: (OFXMLElement*)child]; [ret makeImmutable]; return ret; } - (OFArray*)elementsForName: (OFString*)elementName { OFMutableArray OF_GENERIC(OFXMLElement*) *ret = [OFMutableArray array]; for (OFXMLNode *child in _children) { if ([child isKindOfClass: [OFXMLElement class]]) { OFXMLElement *element = (OFXMLElement*)child; if (element->_namespace == nil && [element->_name isEqual: elementName]) [ret addObject: element]; } } [ret makeImmutable]; return ret; } - (OFArray*)elementsForNamespace: (OFString*)elementNS { OFMutableArray OF_GENERIC(OFXMLElement*) *ret = [OFMutableArray array]; for (OFXMLNode *child in _children) { if ([child isKindOfClass: [OFXMLElement class]]) { OFXMLElement *element = (OFXMLElement*)child; if (element->_name != nil && [element->_namespace isEqual: elementNS]) [ret addObject: element]; } } [ret makeImmutable]; return ret; } - (OFArray*)elementsForName: (OFString*)elementName namespace: (OFString*)elementNS { OFMutableArray OF_GENERIC(OFXMLElement*) *ret; if (elementNS == nil) return [self elementsForName: elementName]; ret = [OFMutableArray array]; for (OFXMLNode *child in _children) { if ([child isKindOfClass: [OFXMLElement class]]) { OFXMLElement *element = (OFXMLElement*)child; if ([element->_namespace isEqual: elementNS] && [element->_name isEqual: elementName]) [ret addObject: element]; } } |
︙ | ︙ |