{ "id": "62256", "key": "TIMOB-1624", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [ { "id": "13271", "description": "Release 2.1.0", "name": "Release 2.1.0", "archived": false, "released": true, "releaseDate": "2012-06-29" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2012-06-25T13:22:23.000+0000", "created": "2011-04-15T02:57:41.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [ "api" ], "versions": [], "issuelinks": [], "assignee": { "name": "ngupta", "key": "ngupta", "displayName": "Neeraj Gupta", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2017-03-07T18:28:28.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "{html}

The nextSibling and previousSibling properties on a DOM node are\r\nsupposed to return whatever the next node is, and iterating along\r\nthem should always give the same results as iterating over the\r\nparent node's children property nodelist.

\r\n

However, they have been implemented on iOS by calling libxml2's\r\nxmlNextElementSibling and xmlPreviousElementSibling functions,\r\nwhich skip over non-element nodes.

\r\n

This can lead to interesting failures trying to iterate through\r\na mixed element/text/cdata set, and causes big red error screens on\r\nthe 'XML DOM' demo in KitchenSink when the 'nodewalker' test\r\nfunctions do exactly that.

{html}", "attachment": [], "flagged": false, "summary": "iOS: TiDOMNode nextSibling, previousSibling properties skip non-element nodes", "creator": { "name": "brionvibber", "key": "brionvibber", "displayName": "Brion Vibber", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "brionvibber", "key": "brionvibber", "displayName": "Brion Vibber", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [ { "id": "126213", "author": { "name": "brionvibber", "key": "brionvibber", "displayName": "Brion Vibber", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

Fix in my work fork:

\n

http://github.com/brion/titanium_mobile/commits/ios-xml-sibling
\n\nhttp://github.com/brion/titanium_mobile/commit/bb47e741a7a25b0a66eb...

{html}", "updateAuthor": { "name": "brionvibber", "key": "brionvibber", "displayName": "Brion Vibber", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:57:42.000+0000", "updated": "2011-04-15T02:57:42.000+0000" }, { "id": "126214", "author": { "name": "brionvibber", "key": "brionvibber", "displayName": "Brion Vibber", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

Any issues with this patch? Is there someone specific I should\nbe bringing these to?

{html}", "updateAuthor": { "name": "brionvibber", "key": "brionvibber", "displayName": "Brion Vibber", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:57:42.000+0000", "updated": "2011-04-15T02:57:42.000+0000" }, { "id": "126215", "author": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

Make a pull request so we can review, if relevant.

{html}", "updateAuthor": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:57:43.000+0000", "updated": "2011-04-15T02:57:43.000+0000" }, { "id": "200107", "author": { "name": "ngupta", "key": "ngupta", "displayName": "Neeraj Gupta", "active": true, "timeZone": "America/Los_Angeles" }, "body": "This issue has been fixed as a part of some other fix. It is very possible that this fix is available in releases prior to 2.1.0 release.", "updateAuthor": { "name": "ngupta", "key": "ngupta", "displayName": "Neeraj Gupta", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-06-25T13:28:27.000+0000", "updated": "2012-06-25T13:28:27.000+0000" }, { "id": "409540", "author": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Closing ticket due to time passed.", "updateAuthor": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-03-07T18:28:28.000+0000", "updated": "2017-03-07T18:28:28.000+0000" } ], "maxResults": 5, "total": 5, "startAt": 0 } } }