https://bugzilla.novell.com/show_bug.cgi?id=332246#c4
--- Comment #4 from Atsushi Enomoto <[EMAIL PROTECTED]> 2007-10-10 08:27:53 MST --- Couple of updates and sort of conclusion: there is likely issue in odf-converter's XmlWriter implementation. 1) I have made a fix in XmlTextWriter.Close() that hid the actual issue, so now the error should look different (and much deeper in the transformation stack). It is like: EXCEPTION: finally clause 1 of CleverAge.OdfConverter.OdfConverterLib.AbstractConverter:Transform (string,string) [ERROR][t00001.ods] Conversion failed - Error during conversion [DEBUG][t00001.ods] This XmlWriter does not accept Attribute at this state Attribute.( at System.Xml.XmlTextWriter.WriteStartAttribute (System.String prefix, System.String localName, System.String namespaceUri) [0x00266] in C:\cygwin\home\atsushi\svn\mcs\class\System.XML\System.Xml\XmlTextWriter2.cs:878 at CleverAge.OdfConverter.OdfZipUtils.ZipArchiveWriter.WriteStartAttribute (System.String prefix, System.String localName, System.String ns) [0x00076] in C:\cygwin\home\atsushi\tests\xml\xslt\332246\odf-converter-1.0.6\source\Common\OdfZipUtils\ZipArchiveWriter.cs:308 .. 2) If you enable a commented line that calls "ShowLocationInTrace" in XslCompiledTransform.cs, you'll find that the related stylesheet element is at cell.xsl (1821,16). 3) I tried the following run (with stdout redirect as it is a bunch of output): MONO_PATH="../../Spreadsheet/Converter/;../../Presentation/Converter/;../../Word/Converter/;../../Common/OdfZipUtils;../../Common/OdfConverterLib;$MONO_PATH" mono --debug --trace=T:System.Xml.XmlTextWriter,T:System.Xml.Xsl.NoOperationDebugger,T:Mono.Xml.Xsl.XmlWriterEmitter,OdfConverterLib,Spreadsheet OdfConverterTest.exe /ODS2XLSX /I t00001.ods /O t00001.xlsx /LEVEL 1 Here is what I found from the output: the transformation process somehow called WriteStartAttribute(), WriteString() and then WriteStartAttribute(), without calling WriteEndAttribute(). No matter how Mono's internal behavior differs from .NET, such an implementation is bogus and should be fixed. The actual --trace output is (excerpt): . ENTER: Mono.Xml.Xsl.XmlWriterEmitter:WriteAttributeString (string,string,string,string)(this:0391A600[Mono.Xml.Xsl.XmlWriterEmitter OdfConverterTest.exe], [STRING:00BAADB0:], [STRING:036F5240:style-number-change-post], [STRING:00BAADB0:], [STRING:03966C90:ce1], ) . . ENTER: CleverAge.OdfConverter.Spreadsheet.OoxCommentsPostProcessor:WriteStartAttribute (string,string,string)(this:038EEED8[CleverAge.OdfConverter.Spreadsheet.OoxCommentsPostProcessor OdfConverterTest.exe], [STRING:00BAADB0:], [STRING:036F5240:style-number-change-post], [STRING:00BAADB0:], ) . . . ENTER: CleverAge.OdfConverter.Spreadsheet.OoxDrawingsPostProcessor:WriteStartAttribute (string,string,string)(this:0392D1C0[CleverAge.OdfConverter.Spreadsheet.OoxDrawingsPostProcessor OdfConverterTest.exe], [STRING:00BAADB0:], [STRING:036F5240:style-number-change-post], [STRING:00BAADB0:], ) . . . . ENTER: CleverAge.OdfConverter.Spreadsheet.OoxHeaderFooterPostProcessor:WriteStartAttribute (string,string,string)(this:0392D1E0[CleverAge.OdfConverter.Spreadsheet.OoxHeaderFooterPostProcessor OdfConverterTest.exe], [STRING:00BAADB0:], [STRING:036F5240:style-number-change-post], [STRING:00BAADB0:], ) . . . . . ENTER: CleverAge.OdfConverter.Spreadsheet.OOXStyleCellPostProcessor:WriteStartAttribute (string,string,string)(this:039C51E0[CleverAge.OdfConverter.Spreadsheet.OOXStyleCellPostProcessor OdfConverterTest.exe], [STRING:00BAADB0:], [STRING:036F5240:style-number-change-post], [STRING:00BAADB0:], ) . . . . . . ENTER: CleverAge.OdfConverter.Spreadsheet.OoxMaximumCellTextPostProcessor:WriteStartAttribute (string,string,string)(this:03D38000[CleverAge.OdfConverter.Spreadsheet.OoxMaximumCellTextPostProcessor OdfConverterTest.exe], [STRING:00BAADB0:], [STRING:00BAAD90:s], [STRING:00BAADB0:], ) . . . . . . . ENTER: CleverAge.OdfConverter.Spreadsheet.OoxPhysicalPathPostProcessor:WriteStartAttribute (string,string,string)(this:03953B28[CleverAge.OdfConverter.Spreadsheet.OoxPhysicalPathPostProcessor OdfConverterTest.exe], [STRING:00BAADB0:], [STRING:00BAAD90:s], [STRING:00BAADB0:], ) . . . . . . . . ENTER: CleverAge.OdfConverter.Spreadsheet.OoxPivotCachePostProcessor:WriteStartAttribute (string,string,string)(this:00BA02A0[CleverAge.OdfConverter.Spreadsheet.OoxPivotCachePostProcessor OdfConverterTest.exe], [STRING:00BAADB0:], [STRING:00BAAD90:s], [STRING:00BAADB0:], ) . . . . . . . . . ENTER: System.Xml.XmlTextWriter:WriteStartAttribute (string,string,string)(this:0332B540[System.Xml.XmlTextWriter OdfConverterTest.exe], [STRING:00BAADB0:], [STRING:00BAAD90:s], [STRING:00BAADB0:], ) . . . . . . . . . LEAVE: System.Xml.XmlTextWriter:WriteStartAttribute (string,string,string) . . . . . . . . LEAVE: CleverAge.OdfConverter.Spreadsheet.OoxPivotCachePostProcessor:WriteStartAttribute (string,string,string) . . . . . . . LEAVE: CleverAge.OdfConverter.Spreadsheet.OoxPhysicalPathPostProcessor:WriteStartAttribute (string,string,string) . . . . . . LEAVE: CleverAge.OdfConverter.Spreadsheet.OoxMaximumCellTextPostProcessor:WriteStartAttribute (string,string,string) . . . . . LEAVE: CleverAge.OdfConverter.Spreadsheet.OOXStyleCellPostProcessor:WriteStartAttribute (string,string,string) . . . . LEAVE: CleverAge.OdfConverter.Spreadsheet.OoxHeaderFooterPostProcessor:WriteStartAttribute (string,string,string) . . . LEAVE: CleverAge.OdfConverter.Spreadsheet.OoxDrawingsPostProcessor:WriteStartAttribute (string,string,string) . . LEAVE: CleverAge.OdfConverter.Spreadsheet.OoxCommentsPostProcessor:WriteStartAttribute (string,string,string) . . ENTER: CleverAge.OdfConverter.Spreadsheet.OoxCommentsPostProcessor:WriteString (string)(this:038EEED8[CleverAge.OdfConverter.Spreadsheet.OoxCommentsPostProcessor OdfConverterTest.exe], [STRING:03966C90:ce1], ) . . . ENTER: CleverAge.OdfConverter.Spreadsheet.OoxDrawingsPostProcessor:WriteString (string)(this:0392D1C0[CleverAge.OdfConverter.Spreadsheet.OoxDrawingsPostProcessor OdfConverterTest.exe], [STRING:03966C90:ce1], ) . . . . ENTER: CleverAge.OdfConverter.Spreadsheet.OoxHeaderFooterPostProcessor:WriteString (string)(this:0392D1E0[CleverAge.OdfConverter.Spreadsheet.OoxHeaderFooterPostProcessor OdfConverterTest.exe], [STRING:03966C90:ce1], ) . . . . . ENTER: CleverAge.OdfConverter.Spreadsheet.OOXStyleCellPostProcessor:WriteString (string)(this:039C51E0[CleverAge.OdfConverter.Spreadsheet.OOXStyleCellPostProcessor OdfConverterTest.exe], [STRING:03966C90:ce1], ) . . . . . . ENTER: CleverAge.OdfConverter.Spreadsheet.OoxMaximumCellTextPostProcessor:WriteString (string)(this:03D38000[CleverAge.OdfConverter.Spreadsheet.OoxMaximumCellTextPostProcessor OdfConverterTest.exe], [STRING:03945B00:1], ) . . . . . . . ENTER: CleverAge.OdfConverter.Spreadsheet.OoxPhysicalPathPostProcessor:WriteString (string)(this:03953B28[CleverAge.OdfConverter.Spreadsheet.OoxPhysicalPathPostProcessor OdfConverterTest.exe], [STRING:03945B00:1], ) . . . . . . . . ENTER: CleverAge.OdfConverter.Spreadsheet.OoxPivotCachePostProcessor:WriteString (string)(this:00BA02A0[CleverAge.OdfConverter.Spreadsheet.OoxPivotCachePostProcessor OdfConverterTest.exe], [STRING:03945B00:1], ) . . . . . . . . . ENTER: System.Xml.XmlTextWriter:WriteString (string)(this:0332B540[System.Xml.XmlTextWriter OdfConverterTest.exe], [STRING:03945B00:1], ) . . . . . . . . . . ENTER: System.Xml.XmlTextWriter:ShiftStateContent (string,bool)(this:0332B540[System.Xml.XmlTextWriter OdfConverterTest.exe], [STRING:039BBAF8:Text], 1, ) . . . . . . . . . . LEAVE: System.Xml.XmlTextWriter:ShiftStateContent (string,bool) . . . . . . . . . . ENTER: System.Xml.XmlTextWriter:WriteEscapedString (string,bool)(this:0332B540[System.Xml.XmlTextWriter OdfConverterTest.exe], [STRING:03945B00:1], 1, ) . . . . . . . . . . . ENTER: System.Xml.XmlTextWriter:WriteCheckedString (string)(this:0332B540[System.Xml.XmlTextWriter OdfConverterTest.exe], [STRING:03945B00:1], ) . . . . . . . . . . . LEAVE: System.Xml.XmlTextWriter:WriteCheckedString (string) . . . . . . . . . . LEAVE: System.Xml.XmlTextWriter:WriteEscapedString (string,bool) . . . . . . . . . LEAVE: System.Xml.XmlTextWriter:WriteString (string) . . . . . . . . LEAVE: CleverAge.OdfConverter.Spreadsheet.OoxPivotCachePostProcessor:WriteString (string) . . . . . . . LEAVE: CleverAge.OdfConverter.Spreadsheet.OoxPhysicalPathPostProcessor:WriteString (string) . . . . . . LEAVE: CleverAge.OdfConverter.Spreadsheet.OoxMaximumCellTextPostProcessor:WriteString (string) . . . . . LEAVE: CleverAge.OdfConverter.Spreadsheet.OOXStyleCellPostProcessor:WriteString (string) . . . . LEAVE: CleverAge.OdfConverter.Spreadsheet.OoxHeaderFooterPostProcessor:WriteString (string) . . . LEAVE: CleverAge.OdfConverter.Spreadsheet.OoxDrawingsPostProcessor:WriteString (string) . . LEAVE: CleverAge.OdfConverter.Spreadsheet.OoxCommentsPostProcessor:WriteString (string) . . ENTER: CleverAge.OdfConverter.Spreadsheet.OoxCommentsPostProcessor:WriteEndAttribute ()(this:038EEED8[CleverAge.OdfConverter.Spreadsheet.OoxCommentsPostProcessor OdfConverterTest.exe], ) . . . ENTER: CleverAge.OdfConverter.Spreadsheet.OoxDrawingsPostProcessor:WriteEndAttribute ()(this:0392D1C0[CleverAge.OdfConverter.Spreadsheet.OoxDrawingsPostProcessor OdfConverterTest.exe], ) . . . . ENTER: CleverAge.OdfConverter.Spreadsheet.OoxHeaderFooterPostProcessor:WriteEndAttribute ()(this:0392D1E0[CleverAge.OdfConverter.Spreadsheet.OoxHeaderFooterPostProcessor OdfConverterTest.exe], ) . . . . . ENTER: CleverAge.OdfConverter.Spreadsheet.OOXStyleCellPostProcessor:WriteEndAttribute ()(this:039C51E0[CleverAge.OdfConverter.Spreadsheet.OOXStyleCellPostProcessor OdfConverterTest.exe], ) . . . . . LEAVE: CleverAge.OdfConverter.Spreadsheet.OOXStyleCellPostProcessor:WriteEndAttribute () . . . . LEAVE: CleverAge.OdfConverter.Spreadsheet.OoxHeaderFooterPostProcessor:WriteEndAttribute () . . . LEAVE: CleverAge.OdfConverter.Spreadsheet.OoxDrawingsPostProcessor:WriteEndAttribute () . . LEAVE: CleverAge.OdfConverter.Spreadsheet.OoxCommentsPostProcessor:WriteEndAttribute () . LEAVE: Mono.Xml.Xsl.XmlWriterEmitter:WriteAttributeString (string,string,string,string) . ENTER: Mono.Xml.Xsl.XmlWriterEmitter:WriteAttributeString (string,string,string,string)(this:0391A600[Mono.Xml.Xsl.XmlWriterEmitter OdfConverterTest.exe], [STRING:00BAADB0:], [STRING:033BC120:t], [STRING:00BAADB0:], [STRING:033BC110:s], ) . . ENTER: CleverAge.OdfConverter.Spreadsheet.OoxCommentsPostProcessor:WriteStartAttribute (string,string,string)(this:038EEED8[CleverAge.OdfConverter.Spreadsheet.OoxCommentsPostProcessor OdfConverterTest.exe], [STRING:00BAADB0:], [STRING:033BC120:t], [STRING:00BAADB0:], ) . . . ENTER: CleverAge.OdfConverter.Spreadsheet.OoxDrawingsPostProcessor:WriteStartAttribute (string,string,string)(this:0392D1C0[CleverAge.OdfConverter.Spreadsheet.OoxDrawingsPostProcessor OdfConverterTest.exe], [STRING:00BAADB0:], [STRING:033BC120:t], [STRING:00BAADB0:], ) . . . . ENTER: CleverAge.OdfConverter.Spreadsheet.OoxHeaderFooterPostProcessor:WriteStartAttribute (string,string,string)(this:0392D1E0[CleverAge.OdfConverter.Spreadsheet.OoxHeaderFooterPostProcessor OdfConverterTest.exe], [STRING:00BAADB0:], [STRING:033BC120:t], [STRING:00BAADB0:], ) . . . . . ENTER: CleverAge.OdfConverter.Spreadsheet.OOXStyleCellPostProcessor:WriteStartAttribute (string,string,string)(this:039C51E0[CleverAge.OdfConverter.Spreadsheet.OOXStyleCellPostProcessor OdfConverterTest.exe], [STRING:00BAADB0:], [STRING:033BC120:t], [STRING:00BAADB0:], ) . . . . . . ENTER: CleverAge.OdfConverter.Spreadsheet.OoxMaximumCellTextPostProcessor:WriteStartAttribute (string,string,string)(this:03D38000[CleverAge.OdfConverter.Spreadsheet.OoxMaximumCellTextPostProcessor OdfConverterTest.exe], [STRING:00BAADB0:], [STRING:033BC120:t], [STRING:00BAADB0:], ) . . . . . . . ENTER: CleverAge.OdfConverter.Spreadsheet.OoxPhysicalPathPostProcessor:WriteStartAttribute (string,string,string)(this:03953B28[CleverAge.OdfConverter.Spreadsheet.OoxPhysicalPathPostProcessor OdfConverterTest.exe], [STRING:00BAADB0:], [STRING:033BC120:t], [STRING:00BAADB0:], ) . . . . . . . . ENTER: CleverAge.OdfConverter.Spreadsheet.OoxPivotCachePostProcessor:WriteStartAttribute (string,string,string)(this:00BA02A0[CleverAge.OdfConverter.Spreadsheet.OoxPivotCachePostProcessor OdfConverterTest.exe], [STRING:00BAADB0:], [STRING:033BC120:t], [STRING:00BAADB0:], ) . . . . . . . . . ENTER: System.Xml.XmlTextWriter:WriteStartAttribute (string,string,string)(this:0332B540[System.Xml.XmlTextWriter OdfConverterTest.exe], [STRING:00BAADB0:], [STRING:033BC120:t], [STRING:00BAADB0:], ) . . . . . . . . . . ENTER: System.Xml.XmlTextWriter:StateError (string)(this:0332B540[System.Xml.XmlTextWriter OdfConverterTest.exe], [STRING:03949E60:Attribute], ) . . . . . . . . . . . ENTER: System.Xml.XmlTextWriter:InvalidOperation (string)(this:0332B540[System.Xml.XmlTextWriter OdfConverterTest.exe], [STRING:0391DCC0:This XmlWriter does not accept Attribute at this state Attribute.], ) . . . . . . . . . . . LEAVE: System.Xml.XmlTextWriter:InvalidOperation (string)[System.InvalidOperationException:03B9E5E8] . . . . . . . . . . LEAVE: System.Xml.XmlTextWriter:StateError (string)[System.InvalidOperationException:03B9E5E8] EXCEPTION handling: InvalidOperationException EXCEPTION: finally clause 0 of CleverAge.OdfConverter.OdfConverterLib.AbstractConverter:_Transform (string,string) As this trace shows, OOXStyleCellPostProcessor is likely the culprit. Here Mono simply calls XmlWriter.WriteAttributeString() which I believe does not cause mismatch invocation of WriteStartAttribute() and WriteEndAttribute(). Things are all happening inside Spreadsheet.dll. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug. _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
