This case should be managed in a clear way, either throwing an error stating that multiple phylogenies are not supported or choosing one of the phylogenies (e.g., the first) and giving a warning.
Ideally, it would be nice to load multi-phylogenies files as a set of Phylotree objects, but that would be an improvement rather than just fixing the bug, which is the priority in my opinion.
As of version 1.20 (https://www.phyloxml.org/documentation/version_1.20/phyloxml.html) PhyloXML supports multiple phylogenies in the same file. When a PhyloXML with multiple phylogenies is parsed at the following line
tree_json
becomesundefined
becausexml.phyloxml.phylogeny
is an array rather than an object: https://github.com/veg/phylotree.js/blob/60aa174ea59bc95dca842c518517974d8e9d6565/src/formats/phyloxml.js#L70That leads to an error at the following line: https://github.com/veg/phylotree.js/blob/60aa174ea59bc95dca842c518517974d8e9d6565/src/formats/phyloxml.js#L71
This case should be managed in a clear way, either throwing an error stating that multiple phylogenies are not supported or choosing one of the phylogenies (e.g., the first) and giving a warning.
Ideally, it would be nice to load multi-phylogenies files as a set of Phylotree objects, but that would be an improvement rather than just fixing the bug, which is the priority in my opinion.