    var create_html = function() {
        var html = "";
        for (var id in all_tags) {
            var tag = all_tags[id];
            if (tag && !(id in child_tags)) {
                html += create_tag_html(
                    tag.t, tag.d, tag.i, null, tag.s !== 0
                );
                tag.sort_key = tag.t.toLowerCase();
                if (tag.s) {
                    for (var sid in tag.s) {
                        var child = all_tags[tag.s[sid]];
                        if (child) {
                            child.sort_key = (tag.t.toLowerCase() +
                                child.t.toLowerCase());
                            html += create_tag_html(
                                child.t, child.d, child.i, tag.i
                            );
                        }
                    }
                }
            }
        }
        div_all_tags.append(html);
        // TODO This tooltip application is used until the extra data has loaded
        // at which point the tooltips are updated and this handler is replaced?
        $(".tag_selection div").on('click', tag_click);
    };
The software does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.