Комментарий к вашему первому требованию:
- возможность обхода структур данных с использованием стилевых "стилей" через xpath
XPath делает много предположений относительно структуры данных. Если вы собираетесь использовать его, вы можете также преобразовать свою структуру в XML, потому что она все равно будет выглядеть так, как только вы сделаете ее доступной через некоторый XPath-подобный язык, если вы не ограничите строгое подмножество XPath.
Кроме того, имейте в виду, что «только две вещи», которые вам не хватает, XPath и обработка шаблонов, на самом деле являются огромной частью того, что составляет Xslt. Мне любопытно, почему ты решил снять его со своего пояса с инструментами.
Несмотря на тот факт, что вам нужна альтернатива Xslt, я все равно рекомендую Xslt и Xslt 2.0, в частности. С добавлением unparsed-text и analysis-string вы получаете мощный язык обработки текста. Например, взгляните на таблицу стилей от CSV до XML . Несмотря на то, что JSON не является регулярным, вы все равно сможете написать простой переводчик JSON в XML с использованием рекурсивных шаблонов и преобразовать результат по желанию.