Да, вы можете использовать XSLT для преобразования из любого из этих форматов XML в OOXML. XSLT идеально подходит для преобразований XML-XML.
Это говорит о том, что каждый из входных форматов XML, которые вы упоминаете, довольно сложный, а OOXML чрезвычайно сложный. Кроме того, DOCX на самом деле является сборкой многих компонентов, включая файл document.xml
в OOXML, упакованный через Open Packaging Conventions.
Чтобы начать работу, я рекомендую вам настроить создание простого документа, который вы сначала делаете вручную в MS Word. Переименуйте файл из расширения .docx
в расширение .zip
и разархивируйте компоненты и восстановите файл word/document.xml
. Сделайте простую XSLT-программу для вывода OOXML буквально, как она появляется в исходном файле word/document.xml
. Затем медленно добавьте некоторые настройки. Когда вы закончите, повторно вставьте сгенерированный файл word/document.xml
в распакованную сборку, запустите, переименуйте расширение на .docx
, и вы будете напрямую преобразовывать XML в DOCX по запросу.
Для получения дополнительной информации см. Using XSLT and Open XML to Create a Word 2007 Document.