This is a tracking issue.
For data liberation, we want an API for streaming WP entities from a site. Then we can export WP entities to multiple targets without having to solve the same entity traversal problems in each exporter. Some example exporters are:
- WXR
- WXR + assets package
- Static HTML files
- Markdown
The idea is to present the API as an entity iterator with a constructor that supports reentrancy.
Let's focus on a single, uninterrupted traversal for the first version of this API. I think we can implement reentrancy in a straightforward manner once the traversal flow is established.