Liebe Spezialisten!
(Hallo Martin!)
Ich bin mitten im Erstellen einer programmatischen (VB.NET) Lösung, um aus jeweils einem (eingeschränkt formatierten) Fragment eines Word 2003 Dokuments ein halbwegs sauber strukturiertes und "formatiertes" XHTML Dokument zu erzeugen, das dann als Description eines Requirement-Objects in TestTrack (Seapine) verwendet werden kann.
Der Weg sieht bisher so aus:
Einer bestimmten Logik folgend wird im Word Dokument ein Bereich (nach dem anderen) eruiert, als Range selektiert und ins Clipboard kopiert. Um das Fragment dann im ClipboardFormat HTML zu erhalten, dieses:
(Anm: Was dabei mit dem Coding (Word unterstützt prinzipiell Unicode, heißt es ...) dabei passiert, ist mir noch nicht klar.)
Jedenfalls ist das Ergebnis alles andere als XHTML, bestenfalls IE-taugliches "Schlampig-Überladen-HTML". Es bedarf etlicher Textmanipulationen, bis daraus etwas wird, das fehlerfrei als XML Dokument geladen werden kann.
Augenmerk lege ich auch besonders auf Umlaute und Sonderzeichen, die durch "&#xxx;" ersetzt werden. (Anm.: mache ich da nicht etwas sehr ungeschickt? Ich hätte mir vorgestellt, dass es irgendwie einen durchgängigen Unicode-bewahrenden Weg geben müsste ...)
Ist der String nun endlich als XML ladbar, dieses:
In TransformXML sollen dann im wesentlichen die <p> nodes mit speziellen style attribute values (entspricht Word Styles) in unordered lists umgebaut werden, weil Word das nicht gemacht hat. Dazu wird wohl XSLT am besten geeignet sein.
Zum Schluss soll nun aus dem transformierten XML ein TestTrack-verträgliches (x)HTML entstehen, das beim automatischen Anlegen von Requirements in TestTrack als Description "herhalten" kann.
Das wär's eigentlich.
Achja, der ganze Vorgang soll nun über einen via VBA Macro in eine CommandBar eingefügten Button angestoßen werden. Dabei wird das ´"externe" Programm via ShellExecute der shell32.dll gestartet.
Ich finde das Ganze so praktikabel.
Kritik? Vorschläge? Wie ist das mit Unicode?
Über Feedback würde ich mich sehr freuen!
(Hallo Martin!)
Ich bin mitten im Erstellen einer programmatischen (VB.NET) Lösung, um aus jeweils einem (eingeschränkt formatierten) Fragment eines Word 2003 Dokuments ein halbwegs sauber strukturiertes und "formatiertes" XHTML Dokument zu erzeugen, das dann als Description eines Requirement-Objects in TestTrack (Seapine) verwendet werden kann.
Der Weg sieht bisher so aus:
Einer bestimmten Logik folgend wird im Word Dokument ein Bereich (nach dem anderen) eruiert, als Range selektiert und ins Clipboard kopiert. Um das Fragment dann im ClipboardFormat HTML zu erhalten, dieses:
Code:
strText = CType(iData.GetData(DataFormats.Html), String)
Jedenfalls ist das Ergebnis alles andere als XHTML, bestenfalls IE-taugliches "Schlampig-Überladen-HTML". Es bedarf etlicher Textmanipulationen, bis daraus etwas wird, das fehlerfrei als XML Dokument geladen werden kann.
Augenmerk lege ich auch besonders auf Umlaute und Sonderzeichen, die durch "&#xxx;" ersetzt werden. (Anm.: mache ich da nicht etwas sehr ungeschickt? Ich hätte mir vorgestellt, dass es irgendwie einen durchgängigen Unicode-bewahrenden Weg geben müsste ...)
Ist der String nun endlich als XML ladbar, dieses:
Code:
xdoc.LoadXml(strText) 'parse and remove line breaks strText = xdoc.InnerXml strText = strText.Replace(vbCrLf, " ") 'remove remaining line breaks strText = CleanHTML_2(strText) 'various editing steps xdoc.LoadXml(strText) strText = xdoc.InnerXml TransformXML(xdoc)
Zum Schluss soll nun aus dem transformierten XML ein TestTrack-verträgliches (x)HTML entstehen, das beim automatischen Anlegen von Requirements in TestTrack als Description "herhalten" kann.
Das wär's eigentlich.
Achja, der ganze Vorgang soll nun über einen via VBA Macro in eine CommandBar eingefügten Button angestoßen werden. Dabei wird das ´"externe" Programm via ShellExecute der shell32.dll gestartet.
Ich finde das Ganze so praktikabel.
Kritik? Vorschläge? Wie ist das mit Unicode?
Über Feedback würde ich mich sehr freuen!
Comment