I, like probably quite a few other people, am migrating away from Apple’s Server.app Wiki and into Xwiki. (I really like xwiki so much better! It has A LOT more flexibility and much better appearance!)
Apple’s wikiadmin program can export in the following formats:
wxr: Wordpress native format
pages: static html pages
json: haven’t investigated this, but obviously it’s JSON formatted pages
legacy: PostgreSQL format. (I use postgres as my backend DB, so maybe…)
decoded: apparently good if importing into a Swift App.
I don’t have any extension in mind which support importing any of the formats you listed.
Usually new importers are written as “Input Filter”, meaning you read the data and produce SAX-like “events” by calling methos like begin/endDocument, onWikiAttachment, etc. Then you can use http://extensions.xwiki.org/xwiki/bin/edit/Extension/Filter+Application and put your filter as input and the “Instance” filter as output to do an import (or other output to convert to another format).
Probably what would benefit the most to the community but also probably a bit more complex to not loose anything (since some stuff might have been lost in the conversion to wordpress or html already or be hard to deduce). Still that’s definitely the most generic use case and you can probably reuse the XWiki HTML parser.
No I don’t think having postgres as your backend will help since I guess this is a dump of the Apple’s Server.app Wiki tables which have nothing to do with XWiki ones and makes it quite a pain to read and convert to XWiki documents usually. That’s pretty much what confluence/confluence-xml at master · xwiki-contrib/confluence · GitHub does since what Confluence calls an export format is just a dump of the database as XML.
There is probably another possibility you have not listed: this kind of tool often expose a REST API so you might want to consider also the possibility to directly request the data from the running instance in an input filter. That’s only if you can access everything trough this API which might not be the case.