Creates etree representations of PAULA XML files modeling pointing
        relations. Pointing relations are ahierarchical edges between any
        two nodes (``tok``, ``mark`` or ``struct``). They are used to signal
        pointing relations between tokens (e.g. in a dependency parse tree)
        or the coreference link between anaphora and antecedent.

def __gen_pointing_file(self, top_level_layer):
        """
        Creates etree representations of PAULA XML files modeling pointing
        relations. Pointing relations are ahierarchical edges between any
        two nodes (``tok``, ``mark`` or ``struct``). They are used to signal
        pointing relations between tokens (e.g. in a dependency parse tree)
        or the coreference link between anaphora and antecedent.
        """
        paula_id = '{0}.{1}.{2}_{3}_pointing'.format(top_level_layer,
                                                 self.corpus_name, self.name,
                                                 top_level_layer)
        self.paulamap['pointing'][top_level_layer] = paula_id
        E, tree = gen_paula_etree(paula_id)

        pointing_edges = select_edges_by(self.dg, layer=top_level_layer,
                                         edge_type=EdgeTypes.pointing_relation,
                                         data=True)
        pointing_dict = defaultdict(lambda: defaultdict(str))
        for source_id, target_id, edge_attrs in pointing_edges:
            pointing_dict[source_id][target_id] = edge_attrs

        # NOTE: we don't add a base file here, because the nodes could be
        # tokens or structural nodes
        rlist = E('relList')
        for source_id in pointing_dict:
            for target_id in pointing_dict[source_id]:
                source_href = self.__gen_node_href(top_level_layer, source_id)
                target_href = self.__gen_node_href(top_level_layer, target_id)
                rel = E('rel',
                        {'id': 'rel_{0}_{1}'.format(source_id, target_id),
                         XLINKHREF: source_href,
                         'target': target_href})

                # adds source/target node labels as a <!-- comment -->
                if self.human_readable:
                    source_label = self.dg.node[source_id].get('label')
                    target_label = self.dg.node[target_id].get('label')
                    rel.append(Comment(u'{0} - {1}'.format(source_label,
                                                         target_label)))
                rlist.append(rel)
        tree.append(rlist)
        self.files[paula_id] = tree
        self.file2dtd[paula_id] = PaulaDTDs.rel
        return paula_id