/* xls2xml: Converts from Microsoft Excel files to XML. Copyright 1999 Roberto Arturo Tena Sanchez This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /* Roberto Arturo Tena Sanchez */ /* This file is highly speculative. */ for content in cell tag: sss means a string =sss means a formula ="sss" means a formula with that uses a string --- XML output is coded using UTF8: (I got this from gnome-xml/encoding.c) From rfc2044: encoding of the Unicode values on UTF-8: UCS-2 range UTF-8 octet sequence (hex) (binary) 0000 to 007F 0xxxxxxx 0080 to 07FF 110xxxxx 10xxxxxx 0800 to FFFF 1110xxxx 10xxxxxx 10xxxxxx --- Symbols: dddieee = float point number, converted from IEEE double precision number fffieee = float point number, converted from IEEE single precision number nnn = number nnnlist = numbers separated by comma: nnn,nnn,nnn,... (vg. 0,1,2,3) ppp = number in 1/20th of a point (to get points, divide by 20) ttt = number in 1/1000 (to get ratio [percent], divide by 1000) sss = UTF8 string xxxx ? = xxxx has zero or one instance xxxx * = xxxx has zero, one or many instances xxxx + = xxxx has one or many instances xxxx ?(1) has one instance if specified EXTRACT_ALL, otherwise it has zero xxxx ?(1) ? has zero or one instance if specified EXTRACT_ALL, otherwise it has zero fil_spreadsheet children = defaults children = tabsstate children = order ? content (it's zero-based) nnnlist they are sheets refnum list) top content = (tab nnnth of sheetnumber is displayed at top) nnn first content = (tab nnnth of sheetnumber is displayed first in bottom list) nnn howmanyselected content = nnn widthratiovshorizscrollbar content = ttt (Ratio of the width of the workbook tabs list vs the width of the horizontal scroll bar) build ?(1) children = appid ?(1) content = nnn appyear ?(1) content = nnn lasteditedWin ?(1) ? lasteditedRISC ?(1) ? lasteditedBeta ?(1) ? evereditedWin ?(1) ? evereditedMac ?(1) ? vereditedBeta ?(1) ? evereditedRISC ?(1) ? windowstate = children = metrics children = xpos content = ppp ypos content = ppp width = content = ppp height content = ppp display hidden content = yes|no (if main window is hidden or not) iconic content = yes|no (if main window is iconified or not) horizscrollbar content = yes|no (if horizontal scrollbar is displayed or not) vertscrollbar content = yes|no (if vertical scrollbar is displayed or not) tabs content = yes|no (if sheets' tabs are displayed or not) ui children = (reserved) codepage ? (USELESS BECAUSE ALL WILL BE UNICODE UTF8 ENCODED) content = nnn username content = sss backup content = yes|no showobjects content = yes|placeholders|no precisionasdisplayed content = yes|no fonts ? children = font + attrib = refnum content = nnn children = height content = nnn italic content = yes|no strikeout content = yes|no outline content = yes|no shadow content = yes|no bold attrib = type content = numeric|yesno content = nnn | (if type=numeric) yes|no (if type=yesno) pos content = normal|superscript|subscript underline content = yes|no family attrib = type content = numeric|word content = nnn | (if type=numeric) sss (if type=word) name content = sss sheets children = sheet attrib = refnum content = nnn children = cells children = cell * attrib = volatile ? (if cell contains formula) content = yes|no coord content = Annn|RnnnCnnn content ? = dddieee|fffieee|=sss|sss children = formatting * attrib = fontrefnum content = nnn content = sss name content = sss hidden content = no|yes|very calculationmode content = auto|manual|autoexcepttables maxiterations content = nnn referencemode content = a1|r1c1 takeiterationoptions content = no iterationdelta content = dddieee