Overview
Comment: | Add -[elements] and -[elementsForNamespace:] to OFXMLElement. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
9b1baaa39bd0501fcdc5fe68a602d80b |
User & Date: | js on 2011-06-27 23:44:59 |
Other Links: | manifest | tags |
Context
2011-06-28
| ||
01:51 | Change serialization format to be way more readable and shorter. check-in: 756bb26c98 user: js tags: trunk | |
2011-06-27
| ||
23:44 | Add -[elements] and -[elementsForNamespace:] to OFXMLElement. check-in: 9b1baaa39b user: js tags: trunk | |
00:10 | Style improvements. check-in: d13ff5382a user: js tags: trunk | |
Changes
Modified src/OFXMLElement.h from [6a927b3aab] to [311a0ed1a3].
︙ | ︙ | |||
381 382 383 384 385 386 387 388 389 390 391 392 393 394 | /** * Adds a child to the OFXMLElement. * * \param child Another OFXMLElement which is added as a child */ - (void)addChild: (OFXMLElement*)child; /** * \param elementName The name of the element * \return The first child element with the specified name */ - (OFXMLElement*)elementForName: (OFString*)elementName; /** | > > > > > > > > > > > > > > | 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 | /** * Adds a child to the OFXMLElement. * * \param child Another OFXMLElement which is added as a child */ - (void)addChild: (OFXMLElement*)child; /** * Returns all children that are elements. * * \return All children that are elements */ - (OFArray*)elements; /** * Returns all children that have the specified namespace. * * \return All children that have the specified namespace */ - (OFArray*)elementsForNamespace: (OFString*)elementNS; /** * \param elementName The name of the element * \return The first child element with the specified name */ - (OFXMLElement*)elementForName: (OFString*)elementName; /** |
︙ | ︙ |
Modified src/OFXMLElement.m from [53deb299eb] to [de3d68907d].
︙ | ︙ | |||
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 | - (OFXMLElement*)elementForName: (OFString*)elementName namespace: (OFString*)elementNS { return [[self elementsForName: elementName namespace: elementNS] firstObject]; } - (OFArray*)elementsForName: (OFString*)elementName { OFMutableArray *ret = [OFMutableArray array]; OFXMLElement **cArray = [children cArray]; size_t i, count = [children count]; for (i = 0; i < count; i++) if (cArray[i]->ns == nil && [cArray[i]->name isEqual: elementName]) [ret addObject: cArray[i]]; return ret; } - (OFArray*)elementsForName: (OFString*)elementName namespace: (OFString*)elementNS { OFMutableArray *ret; | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 | - (OFXMLElement*)elementForName: (OFString*)elementName namespace: (OFString*)elementNS { return [[self elementsForName: elementName namespace: elementNS] firstObject]; } - (OFArray*)elements { OFMutableArray *ret = [OFMutableArray array]; OFXMLElement **cArray = [children cArray]; size_t i, count = [children count]; for (i = 0; i < count; i++) if (cArray[i]->name != nil) [ret addObject: cArray[i]]; /* * Class swizzle the array to be immutable. We declared the return type * to be OFArray*, so it can't be modified anyway. But not swizzling it * would create a real copy each time -[copy] is called. */ ret->isa = [OFArray class]; return ret; } - (OFArray*)elementsForName: (OFString*)elementName { OFMutableArray *ret = [OFMutableArray array]; OFXMLElement **cArray = [children cArray]; size_t i, count = [children count]; for (i = 0; i < count; i++) if (cArray[i]->ns == nil && [cArray[i]->name isEqual: elementName]) [ret addObject: cArray[i]]; /* * Class swizzle the array to be immutable. We declared the return type * to be OFArray*, so it can't be modified anyway. But not swizzling it * would create a real copy each time -[copy] is called. */ ret->isa = [OFArray class]; return ret; } - (OFArray*)elementsForNamespace: (OFString*)elementNS { OFMutableArray *ret = [OFMutableArray array]; OFXMLElement **cArray = [children cArray]; size_t i, count = [children count]; for (i = 0; i < count; i++) if (cArray[i]->name != nil && [cArray[i]->ns isEqual: elementNS]) [ret addObject: cArray[i]]; /* * Class swizzle the array to be immutable. We declared the return type * to be OFArray*, so it can't be modified anyway. But not swizzling it * would create a real copy each time -[copy] is called. */ ret->isa = [OFArray class]; return ret; } - (OFArray*)elementsForName: (OFString*)elementName namespace: (OFString*)elementNS { OFMutableArray *ret; |
︙ | ︙ | |||
1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 | count = [children count]; for (i = 0; i < count; i++) if ([cArray[i]->ns isEqual: elementNS] && [cArray[i]->name isEqual: elementName]) [ret addObject: cArray[i]]; return ret; } - (BOOL)isEqual: (id)object { OFXMLElement *otherElement; | > > > > > > | 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 | count = [children count]; for (i = 0; i < count; i++) if ([cArray[i]->ns isEqual: elementNS] && [cArray[i]->name isEqual: elementName]) [ret addObject: cArray[i]]; /* * Class swizzle the array to be immutable. We declared the return type * to be OFArray*, so it can't be modified anyway. But not swizzling it * would create a real copy each time -[copy] is called. */ ret->isa = [OFArray class]; return ret; } - (BOOL)isEqual: (id)object { OFXMLElement *otherElement; |
︙ | ︙ |