oox service mess

Noel Power nopower at suse.com
Fri May 31 04:32:08 PDT 2013


On 31/05/13 10:43, Noel Power wrote:
> On 31/05/13 08:16, Stephan Bergmann wrote:
>> On 05/30/2013 07:20 PM, Kohei Yoshida wrote:
>>
> [...]
>> Besides the com.sun.star.sheet.FilterFormulaParser UNOIDL (new-style 
>> marker, i.e., no ctor) service declaration there is indeed also a 
>> com.sun.star.sheet.FormulaParser UNOIDL old-style service 
>> declaration, It appears to be a service that is not available at the 
>> global service manager, but rather something that can be obtained 
>> from some Calc-local manager (ScServiceProvider::MakeInstance handing 
>> out ScFormulaParserObj instances under the 
>> "com.sun.star.sheet.FormulaParser" key)
>
> like I mentioned I begin to also feel uneasy that we are missing 
> something here ( especially regarding ScParserFactoryMap)
>
> http://opengrok.libreoffice.org/xref/core/sc/source/core/tool/compiler.cxx#3944 
> & 
> http://opengrok.libreoffice.org/xref/core/sc/source/filter/xml/xmlimprt.cxx#338 
> would appear to suggest that service(s) ( perhaps the oox one ) should 
> in fact be avaialble. I am not sure about what scerario should trigger 
> this my formula knowledge is poor. What namespaces should map 
> instances of which services? I think I still have an old 3.5 tree 
> hanging about, I will try to check what at least that 
> ScFormulaParserPool used contain
Seems there is only one ( the oox one ) which takes care of namespace 
""http://schemas.microsoft.com/office/excel/formula" Is it possible then 
that we can have microsoft formula saved in ods ? But.. the 
ScParserFactoryMap/Pool stuff seems to provide some extensible way of 
mapping specific parsers, no idea if this is really needed or not ( I 
guess Eike/Kohei ) would know.

Noel


More information about the LibreOffice mailing list