2016-07-11 21 views
0

Ich habe versucht, eine einzelne XML-Datei in eine DOCX-Datei zu konvertieren, indem ich meine XML in XHTML umwandelte, indem ich XSLT benutzte, dann öffne XHTML in MS Word und speichere es als DOCX.Eine einzige XML-Datei direkt in DOCX konvertieren

Aber meine Aufgabe ist, jede XML-Struktur (DITA, TEI, DocBook, usw.) zu konvertieren DOCX direkt ... gibt es eine andere Möglichkeit, es zu tun?

Ich kann einfach keine Quellen dafür finden. Es ist immer DOCX zu XML und nicht umgekehrt.

Antwort

0

Ja, Sie können XSLT verwenden, um aus einem dieser XML-Formate in OOXML zu konvertieren. XSLT ist ideal für XML-zu-XML-Transformationen.

Das heißt, jedes der Eingabe-XML-Formate, die Sie erwähnen, sind ziemlich komplex, und OOXML ist immens komplex. Außerdem ist DOCX eigentlich eine Zusammenstellung vieler Komponenten, einschließlich einer document.xml Datei in OOXML, gepackt über Open Packaging Conventions.

Um zu beginnen, empfehle ich, dass Sie die Erstellung eines einfachen Dokuments zielen, das Sie zuerst manuell in MS Word erstellen. Benennen Sie die Datei von einer .docx Erweiterung in eine .zip Erweiterung um, und entzippen Sie die Komponenten und stellen Sie die word/document.xml Datei wieder her. Erstellen Sie ein einfaches XSLT-Programm, um die OOXML-Datei so auszugeben, wie sie in der ursprünglichen Datei word/document.xml erscheint. Fügen Sie dann langsam einige Anpassungen hinzu. Wenn Sie fertig sind, fügen Sie die generierte Datei word/document.xml erneut in die entpackte Assembly ein, zippen Sie sie erneut, benennen Sie die Erweiterung in .docx um, und Sie haben XML wie gewünscht direkt in DOCX konvertiert.

Weitere Einzelheiten finden Sie unter Using XSLT and Open XML to Create a Word 2007 Document.