LCOV - code coverage report
Current view: top level - sc/source/filter/xml - xmlimprt.hxx (source / functions) Hit Total Coverage
Test: commit 0e63ca4fde4e446f346e35849c756a30ca294aab Lines: 30 35 85.7 %
Date: 2014-04-11 Functions: 24 27 88.9 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2             : /*
       3             :  * This file is part of the LibreOffice project.
       4             :  *
       5             :  * This Source Code Form is subject to the terms of the Mozilla Public
       6             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       7             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       8             :  *
       9             :  * This file incorporates work covered by the following license notice:
      10             :  *
      11             :  *   Licensed to the Apache Software Foundation (ASF) under one or more
      12             :  *   contributor license agreements. See the NOTICE file distributed
      13             :  *   with this work for additional information regarding copyright
      14             :  *   ownership. The ASF licenses this file to you under the Apache
      15             :  *   License, Version 2.0 (the "License"); you may not use this file
      16             :  *   except in compliance with the License. You may obtain a copy of
      17             :  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
      18             :  */
      19             : 
      20             : #ifndef SC_XMLIMPRT_HXX
      21             : #define SC_XMLIMPRT_HXX
      22             : 
      23             : #include <rsc/rscsfx.hxx>
      24             : #include <xmloff/xmlictxt.hxx>
      25             : #include <xmloff/xmlimp.hxx>
      26             : #include <xmloff/xmltkmap.hxx>
      27             : #include <xmloff/xmlaustp.hxx>
      28             : #include <xmloff/xmlstyle.hxx>
      29             : #include <com/sun/star/frame/XModel.hpp>
      30             : #include <com/sun/star/util/DateTime.hpp>
      31             : #include "xmlsubti.hxx"
      32             : #include "global.hxx"
      33             : #include "formula/grammar.hxx"
      34             : #include "compiler.hxx"
      35             : 
      36             : #include "xmlstyle.hxx"
      37             : #include "XMLDetectiveContext.hxx"
      38             : #include <com/sun/star/sheet/ValidationAlertStyle.hpp>
      39             : #include <com/sun/star/sheet/ValidationType.hpp>
      40             : #include <com/sun/star/sheet/ConditionOperator.hpp>
      41             : #include <com/sun/star/table/CellAddress.hpp>
      42             : #include <com/sun/star/beans/XPropertySet.hpp>
      43             : #include <com/sun/star/util/XNumberFormatTypes.hpp>
      44             : #include <com/sun/star/sheet/XSheetCellRangeContainer.hpp>
      45             : 
      46             : #include <vector>
      47             : #include <boost/unordered_map.hpp>
      48             : #include <boost/ptr_container/ptr_list.hpp>
      49             : #include <boost/ptr_container/ptr_map.hpp>
      50             : #include <boost/noncopyable.hpp>
      51             : #include <boost/scoped_ptr.hpp>
      52             : 
      53             : class ScMyStyleNumberFormats;
      54             : class XMLNumberFormatAttributesExportHelper;
      55             : class ScEditEngineDefaulter;
      56             : class ScDocumentImport;
      57             : 
      58             : namespace sc {
      59             : 
      60             : struct ImportPostProcessData;
      61             : struct PivotTableSources;
      62             : 
      63             : }
      64             : 
      65             : enum ScXMLDocTokens
      66             : {
      67             :     XML_TOK_DOC_FONTDECLS,
      68             :     XML_TOK_DOC_STYLES,
      69             :     XML_TOK_DOC_AUTOSTYLES,
      70             :     XML_TOK_DOC_MASTERSTYLES,
      71             :     XML_TOK_DOC_META,
      72             :     XML_TOK_DOC_SCRIPTS,
      73             :     XML_TOK_DOC_BODY,
      74             :     XML_TOK_DOC_SETTINGS,
      75             :     XML_TOK_OFFICE_END=XML_TOK_UNKNOWN
      76             : };
      77             : 
      78             : enum ScXMLStylesTokens
      79             : {
      80             :     XML_TOK_STYLES_STYLE
      81             : };
      82             : 
      83             : enum ScXMLStylesAttrTokens
      84             : {
      85             :     XML_TOK_STYLES_STYLE_NAME,
      86             :     XML_TOK_STYLES_STYLE_FAMILY,
      87             :     XML_TOK_STYLES_STYLE_PARENT_STYLE_NAME
      88             : };
      89             : 
      90             : enum ScXMLStyleTokens
      91             : {
      92             :     XML_TOK_STYLE_PROPERTIES
      93             : };
      94             : 
      95             : enum ScXMLBodyTokens
      96             : {
      97             :     XML_TOK_BODY_TRACKED_CHANGES,
      98             :     XML_TOK_BODY_CALCULATION_SETTINGS,
      99             :     XML_TOK_BODY_CONTENT_VALIDATIONS,
     100             :     XML_TOK_BODY_LABEL_RANGES,
     101             :     XML_TOK_BODY_TABLE,
     102             :     XML_TOK_BODY_NAMED_EXPRESSIONS,
     103             :     XML_TOK_BODY_DATABASE_RANGES,
     104             :     XML_TOK_BODY_DATABASE_RANGE,
     105             :     XML_TOK_BODY_DATA_PILOT_TABLES,
     106             :     XML_TOK_BODY_CONSOLIDATION,
     107             :     XML_TOK_BODY_DDE_LINKS,
     108             :     XML_TOK_BODY_DATA_STREAM_SOURCE
     109             : };
     110             : 
     111             : enum ScXMLContentValidationsElemTokens
     112             : {
     113             :     XML_TOK_CONTENT_VALIDATION
     114             : };
     115             : 
     116             : enum ScXMLContentValidationElemTokens
     117             : {
     118             :     XML_TOK_CONTENT_VALIDATION_ELEM_HELP_MESSAGE,
     119             :     XML_TOK_CONTENT_VALIDATION_ELEM_ERROR_MESSAGE,
     120             :     XML_TOK_CONTENT_VALIDATION_ELEM_ERROR_MACRO,
     121             :     XML_TOK_CONTENT_VALIDATION_ELEM_EVENT_LISTENERS
     122             : };
     123             : 
     124             : enum ScXMLContentValidationAttrTokens
     125             : {
     126             :     XML_TOK_CONTENT_VALIDATION_NAME,
     127             :     XML_TOK_CONTENT_VALIDATION_CONDITION,
     128             :     XML_TOK_CONTENT_VALIDATION_BASE_CELL_ADDRESS,
     129             :     XML_TOK_CONTENT_VALIDATION_ALLOW_EMPTY_CELL,
     130             :     XML_TOK_CONTENT_VALIDATION_DISPLAY_LIST
     131             : };
     132             : 
     133             : enum ScXMLContentValidationMessageElemTokens
     134             : {
     135             :     XML_TOK_P
     136             : };
     137             : 
     138             : enum ScXMLContentValidationHelpMessageAttrTokens
     139             : {
     140             :     XML_TOK_HELP_MESSAGE_ATTR_TITLE,
     141             :     XML_TOK_HELP_MESSAGE_ATTR_DISPLAY
     142             : };
     143             : 
     144             : enum ScXMLContentValidationErrorMessageAttrTokens
     145             : {
     146             :     XML_TOK_ERROR_MESSAGE_ATTR_TITLE,
     147             :     XML_TOK_ERROR_MESSAGE_ATTR_DISPLAY,
     148             :     XML_TOK_ERROR_MESSAGE_ATTR_MESSAGE_TYPE
     149             : };
     150             : 
     151             : enum ScXMLContentValidationErrorMacroAttrTokens
     152             : {
     153             :     XML_TOK_ERROR_MACRO_ATTR_NAME,
     154             :     XML_TOK_ERROR_MACRO_ATTR_EXECUTE
     155             : };
     156             : 
     157             : enum ScXMLCondFormatsTokens
     158             : {
     159             :     XML_TOK_CONDFORMATS_CONDFORMAT
     160             : };
     161             : 
     162             : enum ScXMLCondFormatTokens
     163             : {
     164             :     XML_TOK_CONDFORMAT_COLORSCALE,
     165             :     XML_TOK_CONDFORMAT_DATABAR,
     166             :     XML_TOK_CONDFORMAT_CONDITION,
     167             :     XML_TOK_CONDFORMAT_ICONSET,
     168             :     XML_TOK_CONDFORMAT_DATE
     169             : };
     170             : 
     171             : enum ScXMLCondFormatAttrTokens
     172             : {
     173             :     XML_TOK_CONDFORMAT_TARGET_RANGE
     174             : };
     175             : 
     176             : enum ScXMLCondDateAttrTokens
     177             : {
     178             :     XML_TOK_COND_DATE_VALUE,
     179             :     XML_TOK_COND_DATE_STYLE
     180             : };
     181             : 
     182             : enum ScXMLConditionAttrTokens
     183             : {
     184             :     XML_TOK_CONDITION_VALUE,
     185             :     XML_TOK_CONDITION_APPLY_STYLE_NAME,
     186             :     XML_TOK_CONDITION_BASE_CELL_ADDRESS
     187             : };
     188             : 
     189             : enum ScXMLColorScaleFormatTokens
     190             : {
     191             :     XML_TOK_COLORSCALE_COLORSCALEENTRY
     192             : };
     193             : 
     194             : enum ScXMLColorScaleEntryAttrTokens
     195             : {
     196             :     XML_TOK_COLORSCALEENTRY_TYPE,
     197             :     XML_TOK_COLORSCALEENTRY_VALUE,
     198             :     XML_TOK_COLORSCALEENTRY_COLOR
     199             : };
     200             : 
     201             : enum ScXMLFormattingFormatTokens
     202             : {
     203             :     XML_TOK_DATABAR_DATABARENTRY,
     204             :     XML_TOK_FORMATTING_ENTRY
     205             : };
     206             : 
     207             : enum ScXMLDataBarAttrTokens
     208             : {
     209             :     XML_TOK_DATABAR_POSITIVE_COLOR,
     210             :     XML_TOK_DATABAR_NEGATIVE_COLOR,
     211             :     XML_TOK_DATABAR_GRADIENT,
     212             :     XML_TOK_DATABAR_AXISPOSITION,
     213             :     XML_TOK_DATABAR_SHOWVALUE,
     214             :     XML_TOK_DATABAR_AXISCOLOR
     215             : };
     216             : 
     217             : enum ScXMLDataBarEntryAttrTokens
     218             : {
     219             :     XML_TOK_DATABARENTRY_TYPE,
     220             :     XML_TOK_DATABARENTRY_VALUE
     221             : };
     222             : 
     223             : enum ScXMLIconSetAttrTokens
     224             : {
     225             :     XML_TOK_ICONSET_TYPE,
     226             :     XML_TOK_ICONSET_SHOWVALUE
     227             : };
     228             : 
     229             : enum ScXMLLabelRangesElemTokens
     230             : {
     231             :     XML_TOK_LABEL_RANGE_ELEM
     232             : };
     233             : 
     234             : enum ScXMLLabelRangeAttrTokens
     235             : {
     236             :     XML_TOK_LABEL_RANGE_ATTR_LABEL_RANGE,
     237             :     XML_TOK_LABEL_RANGE_ATTR_DATA_RANGE,
     238             :     XML_TOK_LABEL_RANGE_ATTR_ORIENTATION
     239             : };
     240             : 
     241             : enum ScXMLTableTokens
     242             : {
     243             :     XML_TOK_TABLE_NAMED_EXPRESSIONS,
     244             :     XML_TOK_TABLE_COL_GROUP,
     245             :     XML_TOK_TABLE_HEADER_COLS,
     246             :     XML_TOK_TABLE_COLS,
     247             :     XML_TOK_TABLE_COL,
     248             :     XML_TOK_TABLE_ROW_GROUP,
     249             :     XML_TOK_TABLE_HEADER_ROWS,
     250             :     XML_TOK_TABLE_PROTECTION,
     251             :     XML_TOK_TABLE_PROTECTION_EXT,
     252             :     XML_TOK_TABLE_ROWS,
     253             :     XML_TOK_TABLE_ROW,
     254             :     XML_TOK_TABLE_SOURCE,
     255             :     XML_TOK_TABLE_SCENARIO,
     256             :     XML_TOK_TABLE_SHAPES,
     257             :     XML_TOK_TABLE_FORMS,
     258             :     XML_TOK_TABLE_EVENT_LISTENERS,
     259             :     XML_TOK_TABLE_EVENT_LISTENERS_EXT,
     260             :     XML_TOK_TABLE_CONDFORMATS
     261             : };
     262             : 
     263             : enum ScXMLTokenProtectionTokens
     264             : {
     265             :     XML_TOK_TABLE_SELECT_PROTECTED_CELLS,
     266             :     XML_TOK_TABLE_SELECT_UNPROTECTED_CELLS,
     267             :     XML_TOK_TABLE_SELECT_PROTECTED_CELLS_EXT,
     268             :     XML_TOK_TABLE_SELECT_UNPROTECTED_CELLS_EXT
     269             : };
     270             : 
     271             : enum ScXMLTableRowsTokens
     272             : {
     273             :     XML_TOK_TABLE_ROWS_ROW_GROUP,
     274             :     XML_TOK_TABLE_ROWS_HEADER_ROWS,
     275             :     XML_TOK_TABLE_ROWS_ROWS,
     276             :     XML_TOK_TABLE_ROWS_ROW
     277             : };
     278             : 
     279             : enum ScXMLTableColsTokens
     280             : {
     281             :     XML_TOK_TABLE_COLS_COL_GROUP,
     282             :     XML_TOK_TABLE_COLS_HEADER_COLS,
     283             :     XML_TOK_TABLE_COLS_COLS,
     284             :     XML_TOK_TABLE_COLS_COL
     285             : };
     286             : 
     287             : enum ScXMLTableAttrTokens
     288             : {
     289             :     XML_TOK_TABLE_NAME,
     290             :     XML_TOK_TABLE_STYLE_NAME,
     291             :     XML_TOK_TABLE_PROTECTED,
     292             :     XML_TOK_TABLE_PRINT_RANGES,
     293             :     XML_TOK_TABLE_PASSWORD,
     294             :     XML_TOK_TABLE_PASSHASH,
     295             :     XML_TOK_TABLE_PASSHASH_2,
     296             :     XML_TOK_TABLE_PRINT
     297             : };
     298             : 
     299             : enum ScXMLTableScenarioAttrTokens
     300             : {
     301             :     XML_TOK_TABLE_SCENARIO_ATTR_DISPLAY_BORDER,
     302             :     XML_TOK_TABLE_SCENARIO_ATTR_BORDER_COLOR,
     303             :     XML_TOK_TABLE_SCENARIO_ATTR_COPY_BACK,
     304             :     XML_TOK_TABLE_SCENARIO_ATTR_COPY_STYLES,
     305             :     XML_TOK_TABLE_SCENARIO_ATTR_COPY_FORMULAS,
     306             :     XML_TOK_TABLE_SCENARIO_ATTR_IS_ACTIVE,
     307             :     XML_TOK_TABLE_SCENARIO_ATTR_SCENARIO_RANGES,
     308             :     XML_TOK_TABLE_SCENARIO_ATTR_COMMENT,
     309             :     XML_TOK_TABLE_SCENARIO_ATTR_PROTECTED
     310             : };
     311             : 
     312             : enum ScXMLTableColAttrTokens
     313             : {
     314             :     XML_TOK_TABLE_COL_ATTR_STYLE_NAME,
     315             :     XML_TOK_TABLE_COL_ATTR_REPEATED,
     316             :     XML_TOK_TABLE_COL_ATTR_VISIBILITY,
     317             :     XML_TOK_TABLE_COL_ATTR_DEFAULT_CELL_STYLE_NAME
     318             : };
     319             : 
     320             : enum ScXMLTableRowTokens
     321             : {
     322             :     XML_TOK_TABLE_ROW_CELL,
     323             :     XML_TOK_TABLE_ROW_COVERED_CELL
     324             : };
     325             : 
     326             : enum ScXMLTableRowAttrTokens
     327             : {
     328             :     XML_TOK_TABLE_ROW_ATTR_STYLE_NAME,
     329             :     XML_TOK_TABLE_ROW_ATTR_VISIBILITY,
     330             :     XML_TOK_TABLE_ROW_ATTR_REPEATED,
     331             :     XML_TOK_TABLE_ROW_ATTR_DEFAULT_CELL_STYLE_NAME
     332             : //  XML_TOK_TABLE_ROW_ATTR_USE_OPTIMAL_HEIGHT
     333             : };
     334             : 
     335             : enum ScXMLTableRowCellTokens
     336             : {
     337             :     XML_TOK_TABLE_ROW_CELL_P,
     338             :     XML_TOK_TABLE_ROW_CELL_TABLE,
     339             :     XML_TOK_TABLE_ROW_CELL_ANNOTATION,
     340             :     XML_TOK_TABLE_ROW_CELL_DETECTIVE,
     341             :     XML_TOK_TABLE_ROW_CELL_CELL_RANGE_SOURCE
     342             : };
     343             : 
     344             : enum ScXMLTableRowCellAttrTokens
     345             : {
     346             :     XML_TOK_TABLE_ROW_CELL_ATTR_STYLE_NAME,
     347             :     XML_TOK_TABLE_ROW_CELL_ATTR_CONTENT_VALIDATION_NAME,
     348             :     XML_TOK_TABLE_ROW_CELL_ATTR_SPANNED_ROWS,
     349             :     XML_TOK_TABLE_ROW_CELL_ATTR_SPANNED_COLS,
     350             :     XML_TOK_TABLE_ROW_CELL_ATTR_SPANNED_MATRIX_COLS,
     351             :     XML_TOK_TABLE_ROW_CELL_ATTR_SPANNED_MATRIX_ROWS,
     352             :     XML_TOK_TABLE_ROW_CELL_ATTR_REPEATED,
     353             :     XML_TOK_TABLE_ROW_CELL_ATTR_VALUE_TYPE,
     354             :     XML_TOK_TABLE_ROW_CELL_ATTR_NEW_VALUE_TYPE,
     355             :     XML_TOK_TABLE_ROW_CELL_ATTR_VALUE,
     356             :     XML_TOK_TABLE_ROW_CELL_ATTR_DATE_VALUE,
     357             :     XML_TOK_TABLE_ROW_CELL_ATTR_TIME_VALUE,
     358             :     XML_TOK_TABLE_ROW_CELL_ATTR_STRING_VALUE,
     359             :     XML_TOK_TABLE_ROW_CELL_ATTR_BOOLEAN_VALUE,
     360             :     XML_TOK_TABLE_ROW_CELL_ATTR_FORMULA,
     361             :     XML_TOK_TABLE_ROW_CELL_ATTR_CURRENCY
     362             : };
     363             : 
     364             : enum ScXMLAnnotationAttrTokens
     365             : {
     366             :     XML_TOK_TABLE_ANNOTATION_ATTR_AUTHOR,
     367             :     XML_TOK_TABLE_ANNOTATION_ATTR_CREATE_DATE,
     368             :     XML_TOK_TABLE_ANNOTATION_ATTR_CREATE_DATE_STRING,
     369             :     XML_TOK_TABLE_ANNOTATION_ATTR_DISPLAY,
     370             :     XML_TOK_TABLE_ANNOTATION_ATTR_X,
     371             :     XML_TOK_TABLE_ANNOTATION_ATTR_Y
     372             : };
     373             : 
     374             : enum ScXMLDetectiveElemTokens
     375             : {
     376             :     XML_TOK_DETECTIVE_ELEM_HIGHLIGHTED,
     377             :     XML_TOK_DETECTIVE_ELEM_OPERATION
     378             : };
     379             : 
     380             : enum ScXMLDetectiveHighlightedAttrTokens
     381             : {
     382             :     XML_TOK_DETECTIVE_HIGHLIGHTED_ATTR_CELL_RANGE,
     383             :     XML_TOK_DETECTIVE_HIGHLIGHTED_ATTR_DIRECTION,
     384             :     XML_TOK_DETECTIVE_HIGHLIGHTED_ATTR_CONTAINS_ERROR,
     385             :     XML_TOK_DETECTIVE_HIGHLIGHTED_ATTR_MARKED_INVALID
     386             : };
     387             : 
     388             : enum ScXMLDetectiveOperationAttrTokens
     389             : {
     390             :     XML_TOK_DETECTIVE_OPERATION_ATTR_NAME,
     391             :     XML_TOK_DETECTIVE_OPERATION_ATTR_INDEX
     392             : };
     393             : 
     394             : enum ScXMLCellRangeSourceAttrTokens
     395             : {
     396             :     XML_TOK_TABLE_CELL_RANGE_SOURCE_ATTR_NAME,
     397             :     XML_TOK_TABLE_CELL_RANGE_SOURCE_ATTR_HREF,
     398             :     XML_TOK_TABLE_CELL_RANGE_SOURCE_ATTR_FILTER_NAME,
     399             :     XML_TOK_TABLE_CELL_RANGE_SOURCE_ATTR_FILTER_OPTIONS,
     400             :     XML_TOK_TABLE_CELL_RANGE_SOURCE_ATTR_LAST_COLUMN,
     401             :     XML_TOK_TABLE_CELL_RANGE_SOURCE_ATTR_LAST_ROW,
     402             :     XML_TOK_TABLE_CELL_RANGE_SOURCE_ATTR_REFRESH_DELAY
     403             : };
     404             : 
     405             : enum ScXMLNamedExpressionsTokens
     406             : {
     407             :     XML_TOK_NAMED_EXPRESSIONS_NAMED_RANGE,
     408             :     XML_TOK_NAMED_EXPRESSIONS_NAMED_EXPRESSION
     409             : };
     410             : 
     411             : enum ScXMLNamedRangeAttrTokens
     412             : {
     413             :     XML_TOK_NAMED_RANGE_ATTR_NAME,
     414             :     XML_TOK_NAMED_RANGE_ATTR_CELL_RANGE_ADDRESS,
     415             :     XML_TOK_NAMED_RANGE_ATTR_BASE_CELL_ADDRESS,
     416             :     XML_TOK_NAMED_RANGE_ATTR_RANGE_USABLE_AS
     417             : };
     418             : 
     419             : enum ScXMLNamedExpressionAttrTokens
     420             : {
     421             :     XML_TOK_NAMED_EXPRESSION_ATTR_NAME,
     422             :     XML_TOK_NAMED_EXPRESSION_ATTR_BASE_CELL_ADDRESS,
     423             :     XML_TOK_NAMED_EXPRESSION_ATTR_EXPRESSION
     424             : };
     425             : 
     426             : enum ScXMLDatabaseRangesTokens
     427             : {
     428             :     XML_TOK_DATABASE_RANGE
     429             : };
     430             : 
     431             : enum ScXMLDatabaseRangeTokens
     432             : {
     433             :     XML_TOK_DATABASE_RANGE_SOURCE_SQL,
     434             :     XML_TOK_DATABASE_RANGE_SOURCE_TABLE,
     435             :     XML_TOK_DATABASE_RANGE_SOURCE_QUERY,
     436             :     XML_TOK_FILTER,
     437             :     XML_TOK_SORT,
     438             :     XML_TOK_DATABASE_RANGE_SUBTOTAL_RULES
     439             : };
     440             : 
     441             : enum ScXMLDatabaseRangeAttrTokens
     442             : {
     443             :     XML_TOK_DATABASE_RANGE_ATTR_NAME,
     444             :     XML_TOK_DATABASE_RANGE_ATTR_IS_SELECTION,
     445             :     XML_TOK_DATABASE_RANGE_ATTR_ON_UPDATE_KEEP_STYLES,
     446             :     XML_TOK_DATABASE_RANGE_ATTR_ON_UPDATE_KEEP_SIZE,
     447             :     XML_TOK_DATABASE_RANGE_ATTR_HAS_PERSISTENT_DATA,
     448             :     XML_TOK_DATABASE_RANGE_ATTR_ORIENTATION,
     449             :     XML_TOK_DATABASE_RANGE_ATTR_CONTAINS_HEADER,
     450             :     XML_TOK_DATABASE_RANGE_ATTR_DISPLAY_FILTER_BUTTONS,
     451             :     XML_TOK_DATABASE_RANGE_ATTR_TARGET_RANGE_ADDRESS,
     452             :     XML_TOK_DATABASE_RANGE_ATTR_REFRESH_DELAY
     453             : };
     454             : 
     455             : enum ScXMLDatabaseRangeSourceSQLAttrTokens
     456             : {
     457             :     XML_TOK_SOURCE_SQL_ATTR_DATABASE_NAME,
     458             :     XML_TOK_SOURCE_SQL_ATTR_HREF,
     459             :     XML_TOK_SOURCE_SQL_ATTR_CONNECTION_RESOURCE,
     460             :     XML_TOK_SOURCE_SQL_ATTR_SQL_STATEMENT,
     461             :     XML_TOK_SOURCE_SQL_ATTR_PARSE_SQL_STATEMENT
     462             : };
     463             : 
     464             : enum ScXMLDatabaseRangeSourceTableAttrTokens
     465             : {
     466             :     XML_TOK_SOURCE_TABLE_ATTR_DATABASE_NAME,
     467             :     XML_TOK_SOURCE_TABLE_ATTR_HREF,
     468             :     XML_TOK_SOURCE_TABLE_ATTR_CONNECTION_RESOURCE,
     469             :     XML_TOK_SOURCE_TABLE_ATTR_TABLE_NAME
     470             : };
     471             : 
     472             : enum ScXMLDatabaseRangeSourceQueryAttrTokens
     473             : {
     474             :     XML_TOK_SOURCE_QUERY_ATTR_DATABASE_NAME,
     475             :     XML_TOK_SOURCE_QUERY_ATTR_HREF,
     476             :     XML_TOK_SOURCE_QUERY_ATTR_CONNECTION_RESOURCE,
     477             :     XML_TOK_SOURCE_QUERY_ATTR_QUERY_NAME
     478             : };
     479             : 
     480             : enum ScXMLFilterTokens
     481             : {
     482             :     XML_TOK_FILTER_AND,
     483             :     XML_TOK_FILTER_OR,
     484             :     XML_TOK_FILTER_CONDITION
     485             : };
     486             : 
     487             : enum ScXMLFilterAttrTokens
     488             : {
     489             :     XML_TOK_FILTER_ATTR_TARGET_RANGE_ADDRESS,
     490             :     XML_TOK_FILTER_ATTR_CONDITION_SOURCE_RANGE_ADDRESS,
     491             :     XML_TOK_FILTER_ATTR_CONDITION_SOURCE,
     492             :     XML_TOK_FILTER_ATTR_DISPLAY_DUPLICATES
     493             : };
     494             : 
     495             : enum ScXMLFilterConditionElemTokens
     496             : {
     497             :     XML_TOK_CONDITION_FILTER_SET_ITEM
     498             : };
     499             : 
     500             : enum ScXMLFilterConditionAttrTokens
     501             : {
     502             :     XML_TOK_CONDITION_ATTR_FIELD_NUMBER,
     503             :     XML_TOK_CONDITION_ATTR_CASE_SENSITIVE,
     504             :     XML_TOK_CONDITION_ATTR_DATA_TYPE,
     505             :     XML_TOK_CONDITION_ATTR_VALUE,
     506             :     XML_TOK_CONDITION_ATTR_OPERATOR
     507             : };
     508             : 
     509             : enum ScXMLFilterSetItemAttrTokens
     510             : {
     511             :     XML_TOK_FILTER_SET_ITEM_ATTR_VALUE
     512             : };
     513             : 
     514             : enum ScXMLSortTokens
     515             : {
     516             :     XML_TOK_SORT_SORT_BY
     517             : };
     518             : 
     519             : enum ScXMLSortAttrTokens
     520             : {
     521             :     XML_TOK_SORT_ATTR_BIND_STYLES_TO_CONTENT,
     522             :     XML_TOK_SORT_ATTR_TARGET_RANGE_ADDRESS,
     523             :     XML_TOK_SORT_ATTR_CASE_SENSITIVE,
     524             :     XML_TOK_SORT_ATTR_RFC_LANGUAGE_TAG,
     525             :     XML_TOK_SORT_ATTR_LANGUAGE,
     526             :     XML_TOK_SORT_ATTR_SCRIPT,
     527             :     XML_TOK_SORT_ATTR_COUNTRY,
     528             :     XML_TOK_SORT_ATTR_ALGORITHM
     529             : };
     530             : 
     531             : enum ScXMLSortSortByAttrTokens
     532             : {
     533             :     XML_TOK_SORT_BY_ATTR_FIELD_NUMBER,
     534             :     XML_TOK_SORT_BY_ATTR_DATA_TYPE,
     535             :     XML_TOK_SORT_BY_ATTR_ORDER
     536             : };
     537             : 
     538             : enum ScXMLDatabaseRangeSubTotalRulesTokens
     539             : {
     540             :     XML_TOK_SUBTOTAL_RULES_SORT_GROUPS,
     541             :     XML_TOK_SUBTOTAL_RULES_SUBTOTAL_RULE
     542             : };
     543             : 
     544             : enum ScXMLDatabaseRangeSubTotalRulesAttrTokens
     545             : {
     546             :     XML_TOK_SUBTOTAL_RULES_ATTR_BIND_STYLES_TO_CONTENT,
     547             :     XML_TOK_SUBTOTAL_RULES_ATTR_CASE_SENSITIVE,
     548             :     XML_TOK_SUBTOTAL_RULES_ATTR_PAGE_BREAKS_ON_GROUP_CHANGE
     549             : };
     550             : 
     551             : enum ScXMLSubTotalRulesSortGroupsAttrTokens
     552             : {
     553             :     XML_TOK_SORT_GROUPS_ATTR_DATA_TYPE,
     554             :     XML_TOK_SORT_GROUPS_ATTR_ORDER
     555             : };
     556             : 
     557             : enum ScXMLSubTotalRulesSubTotalRuleTokens
     558             : {
     559             :     XML_TOK_SUBTOTAL_RULE_SUBTOTAL_FIELD
     560             : };
     561             : 
     562             : enum ScXMLSubTotalRulesSubTotalRuleAttrTokens
     563             : {
     564             :     XML_TOK_SUBTOTAL_RULE_ATTR_GROUP_BY_FIELD_NUMBER
     565             : };
     566             : 
     567             : enum ScXMLSubTotalRuleSubTotalField
     568             : {
     569             :     XML_TOK_SUBTOTAL_FIELD_ATTR_FIELD_NUMBER,
     570             :     XML_TOK_SUBTOTAL_FIELD_ATTR_FUNCTION
     571             : };
     572             : 
     573             : enum ScXMLDataPilotTablesElemTokens
     574             : {
     575             :     XML_TOK_DATA_PILOT_TABLE
     576             : };
     577             : 
     578             : enum ScXMLDataPilotTableAttrTokens
     579             : {
     580             :     XML_TOK_DATA_PILOT_TABLE_ATTR_NAME,
     581             :     XML_TOK_DATA_PILOT_TABLE_ATTR_APPLICATION_DATA,
     582             :     XML_TOK_DATA_PILOT_TABLE_ATTR_GRAND_TOTAL,
     583             :     XML_TOK_DATA_PILOT_TABLE_ATTR_IGNORE_EMPTY_ROWS,
     584             :     XML_TOK_DATA_PILOT_TABLE_ATTR_IDENTIFY_CATEGORIES,
     585             :     XML_TOK_DATA_PILOT_TABLE_ATTR_TARGET_RANGE_ADDRESS,
     586             :     XML_TOK_DATA_PILOT_TABLE_ATTR_BUTTONS,
     587             :     XML_TOK_DATA_PILOT_TABLE_ATTR_SHOW_FILTER_BUTTON,
     588             :     XML_TOK_DATA_PILOT_TABLE_ATTR_DRILL_DOWN,
     589             :     XML_TOK_DATA_PILOT_TABLE_ATTR_HEADER_GRID_LAYOUT
     590             : };
     591             : 
     592             : enum ScXMLDataPilotTableElemTokens
     593             : {
     594             :     XML_TOK_DATA_PILOT_TABLE_ELEM_SOURCE_SQL,
     595             :     XML_TOK_DATA_PILOT_TABLE_ELEM_SOURCE_TABLE,
     596             :     XML_TOK_DATA_PILOT_TABLE_ELEM_GRAND_TOTAL,
     597             :     XML_TOK_DATA_PILOT_TABLE_ELEM_GRAND_TOTAL_EXT,
     598             :     XML_TOK_DATA_PILOT_TABLE_ELEM_SOURCE_QUERY,
     599             :     XML_TOK_DATA_PILOT_TABLE_ELEM_SOURCE_SERVICE,
     600             :     XML_TOK_DATA_PILOT_TABLE_ELEM_SOURCE_CELL_RANGE,
     601             :     XML_TOK_DATA_PILOT_TABLE_ELEM_DATA_PILOT_FIELD
     602             : };
     603             : 
     604             : enum ScXMLDataPilotTableSourceServiceAttrTokens
     605             : {
     606             :     XML_TOK_SOURCE_SERVICE_ATTR_NAME,
     607             :     XML_TOK_SOURCE_SERVICE_ATTR_SOURCE_NAME,
     608             :     XML_TOK_SOURCE_SERVICE_ATTR_OBJECT_NAME,
     609             :     XML_TOK_SOURCE_SERVICE_ATTR_USER_NAME,
     610             :     XML_TOK_SOURCE_SERVICE_ATTR_PASSWORD
     611             : };
     612             : 
     613             : enum ScXMLDataPilotGrandTotalAttrTokens
     614             : {
     615             :     XML_TOK_DATA_PILOT_GRAND_TOTAL_ATTR_DISPLAY,
     616             :     XML_TOK_DATA_PILOT_GRAND_TOTAL_ATTR_ORIENTATION,
     617             :     XML_TOK_DATA_PILOT_GRAND_TOTAL_ATTR_DISPLAY_NAME,
     618             :     XML_TOK_DATA_PILOT_GRAND_TOTAL_ATTR_DISPLAY_NAME_EXT
     619             : };
     620             : 
     621             : enum ScXMLDataPilotTableSourceCellRangeElemTokens
     622             : {
     623             :     XML_TOK_SOURCE_CELL_RANGE_ELEM_FILTER
     624             : };
     625             : 
     626             : enum ScXMLDataPilotTableSourceCellRangeAttrTokens
     627             : {
     628             :     XML_TOK_SOURCE_CELL_RANGE_ATTR_CELL_RANGE_ADDRESS,
     629             :     XML_TOK_SOURCE_CELL_RANGE_ATTR_NAME
     630             : };
     631             : 
     632             : enum ScXMLDataPilotFieldAttrTokens
     633             : {
     634             :     XML_TOK_DATA_PILOT_FIELD_ATTR_SOURCE_FIELD_NAME,
     635             :     XML_TOK_DATA_PILOT_FIELD_ATTR_DISPLAY_NAME,
     636             :     XML_TOK_DATA_PILOT_FIELD_ATTR_DISPLAY_NAME_EXT,
     637             :     XML_TOK_DATA_PILOT_FIELD_ATTR_IS_DATA_LAYOUT_FIELD,
     638             :     XML_TOK_DATA_PILOT_FIELD_ATTR_FUNCTION,
     639             :     XML_TOK_DATA_PILOT_FIELD_ATTR_ORIENTATION,
     640             :     XML_TOK_DATA_PILOT_FIELD_ATTR_SELECTED_PAGE,
     641             :     XML_TOK_DATA_PILOT_FIELD_ATTR_USED_HIERARCHY
     642             : };
     643             : 
     644             : enum ScXMLDataPilotFieldElemTokens
     645             : {
     646             :     XML_TOK_DATA_PILOT_FIELD_ELEM_DATA_PILOT_LEVEL,
     647             :     XML_TOK_DATA_PILOT_FIELD_ELEM_DATA_PILOT_REFERENCE,
     648             :     XML_TOK_DATA_PILOT_FIELD_ELEM_DATA_PILOT_GROUPS
     649             : };
     650             : 
     651             : enum ScXMLDataPilotLevelAttrTokens
     652             : {
     653             :     XML_TOK_DATA_PILOT_LEVEL_ATTR_SHOW_EMPTY
     654             : };
     655             : 
     656             : enum ScXMLDataPilotLevelElemTokens
     657             : {
     658             :     XML_TOK_DATA_PILOT_LEVEL_ELEM_DATA_PILOT_SUBTOTALS,
     659             :     XML_TOK_DATA_PILOT_LEVEL_ELEM_DATA_PILOT_MEMBERS,
     660             :     XML_TOK_DATA_PILOT_FIELD_ELEM_DATA_PILOT_DISPLAY_INFO,
     661             :     XML_TOK_DATA_PILOT_FIELD_ELEM_DATA_PILOT_SORT_INFO,
     662             :     XML_TOK_DATA_PILOT_FIELD_ELEM_DATA_PILOT_LAYOUT_INFO
     663             : };
     664             : 
     665             : enum ScXMLDataPilotSubTotalsElemTokens
     666             : {
     667             :     XML_TOK_DATA_PILOT_SUBTOTALS_ELEM_DATA_PILOT_SUBTOTAL
     668             : };
     669             : 
     670             : enum ScXMLDataPilotSubTotalAttrTokens
     671             : {
     672             :     XML_TOK_DATA_PILOT_SUBTOTAL_ATTR_FUNCTION,
     673             :     XML_TOK_DATA_PILOT_SUBTOTAL_ATTR_DISPLAY_NAME,
     674             :     XML_TOK_DATA_PILOT_SUBTOTAL_ATTR_DISPLAY_NAME_EXT
     675             : };
     676             : 
     677             : enum ScXMLDataPilotMembersElemTokens
     678             : {
     679             :     XML_TOK_DATA_PILOT_MEMBERS_ELEM_DATA_PILOT_MEMBER
     680             : };
     681             : 
     682             : enum ScXMLDataPilotMemberAttrTokens
     683             : {
     684             :     XML_TOK_DATA_PILOT_MEMBER_ATTR_NAME,
     685             :     XML_TOK_DATA_PILOT_MEMBER_ATTR_DISPLAY_NAME,
     686             :     XML_TOK_DATA_PILOT_MEMBER_ATTR_DISPLAY_NAME_EXT,
     687             :     XML_TOK_DATA_PILOT_MEMBER_ATTR_DISPLAY,
     688             :     XML_TOK_DATA_PILOT_MEMBER_ATTR_SHOW_DETAILS
     689             : };
     690             : 
     691             : enum ScXMLConsolidationAttrTokens
     692             : {
     693             :     XML_TOK_CONSOLIDATION_ATTR_FUNCTION,
     694             :     XML_TOK_CONSOLIDATION_ATTR_SOURCE_RANGES,
     695             :     XML_TOK_CONSOLIDATION_ATTR_TARGET_ADDRESS,
     696             :     XML_TOK_CONSOLIDATION_ATTR_USE_LABEL,
     697             :     XML_TOK_CONSOLIDATION_ATTR_LINK_TO_SOURCE
     698             : };
     699             : 
     700             : /**
     701             :  * Tokens for elements that come under <text:p>
     702             :  */
     703             : enum ScXMLCellTextParaElemTokens
     704             : {
     705             :     XML_TOK_CELL_TEXT_S,
     706             :     XML_TOK_CELL_TEXT_SPAN,
     707             :     XML_TOK_CELL_TEXT_SHEET_NAME,
     708             :     XML_TOK_CELL_TEXT_DATE,
     709             :     XML_TOK_CELL_TEXT_TITLE,
     710             :     XML_TOK_CELL_TEXT_URL
     711             : };
     712             : 
     713             : /**
     714             :  * Tokens for elements that come under <text:span>
     715             :  */
     716             : enum ScXMLCellTextSpanElemTokens
     717             : {
     718             :     XML_TOK_CELL_TEXT_SPAN_ELEM_SHEET_NAME,
     719             :     XML_TOK_CELL_TEXT_SPAN_ELEM_DATE,
     720             :     XML_TOK_CELL_TEXT_SPAN_ELEM_TITLE,
     721             :     XML_TOK_CELL_TEXT_SPAN_ELEM_URL,
     722             :     XML_TOK_CELL_TEXT_SPAN_ELEM_S
     723             : };
     724             : 
     725             : /**
     726             :  * Tokens for attributes for <text:span>
     727             :  */
     728             : enum ScXMLCellTextSpanAttrTokens
     729             : {
     730             :     XML_TOK_CELL_TEXT_SPAN_ATTR_STYLE_NAME
     731             : };
     732             : 
     733             : enum ScXMLCellTextURLAttrTokens
     734             : {
     735             :     XML_TOK_CELL_TEXT_URL_ATTR_UREF,
     736             :     XML_TOK_CELL_TEXT_URL_ATTR_TYPE,
     737             : };
     738             : 
     739             : /**
     740             :  * Tokens for attributes for <text:s>
     741             :  */
     742             : enum ScXMLCellTextSAttrTokens
     743             : {
     744             :     XML_TOK_CELL_TEXT_S_ATTR_C
     745             : };
     746             : 
     747             : /**
     748             :  * Attribute tokens for <calcext:data-stream-source>.
     749             :  */
     750             : enum ScXMLDataStreamAttrTokens
     751             : {
     752             :     XML_TOK_DATA_STREAM_ATTR_URL,
     753             :     XML_TOK_DATA_STREAM_ATTR_RANGE,
     754             :     XML_TOK_DATA_STREAM_ATTR_EMPTY_LINE_REFRESH,
     755             :     XML_TOK_DATA_STREAM_ATTR_INSERTION_POSITION
     756             : };
     757             : 
     758             : class SvXMLTokenMap;
     759             : class XMLShapeImportHelper;
     760             : class ScXMLChangeTrackingImportHelper;
     761             : class SolarMutexGuard;
     762             : 
     763             : struct tScMyCellRange
     764             : {
     765             :     SCTAB Sheet;
     766             :     sal_Int32 StartColumn, EndColumn;
     767             :     sal_Int32 StartRow, EndRow;
     768             : };
     769             : 
     770         124 : struct ScMyNamedExpression
     771             : {
     772             :     OUString      sName;
     773             :     OUString      sContent;
     774             :     OUString      sContentNmsp;
     775             :     OUString      sBaseCellAddress;
     776             :     OUString      sRangeType;
     777             :     formula::FormulaGrammar::Grammar eGrammar;
     778             :     bool               bIsExpression;
     779             : };
     780             : 
     781             : typedef ::boost::ptr_list<ScMyNamedExpression> ScMyNamedExpressions;
     782             : 
     783           0 : struct ScMyLabelRange
     784             : {
     785             :     OUString   sLabelRangeStr;
     786             :     OUString   sDataRangeStr;
     787             :     bool            bColumnOrientation;
     788             : };
     789             : 
     790             : typedef std::list<const ScMyLabelRange*> ScMyLabelRanges;
     791             : 
     792          52 : struct ScMyImportValidation
     793             : {
     794             :     OUString                                   sName;
     795             :     OUString                                   sImputTitle;
     796             :     OUString                                   sImputMessage;
     797             :     OUString                                   sErrorTitle;
     798             :     OUString                                   sErrorMessage;
     799             :     OUString                                   sFormula1;
     800             :     OUString                                   sFormula2;
     801             :     OUString                                   sFormulaNmsp1;
     802             :     OUString                                   sFormulaNmsp2;
     803             :     OUString                                   sBaseCellAddress;   // string is used directly
     804             :     com::sun::star::sheet::ValidationAlertStyle     aAlertStyle;
     805             :     com::sun::star::sheet::ValidationType           aValidationType;
     806             :     com::sun::star::sheet::ConditionOperator        aOperator;
     807             :     formula::FormulaGrammar::Grammar                eGrammar1;
     808             :     formula::FormulaGrammar::Grammar                eGrammar2;
     809             :     sal_Int16                                       nShowList;
     810             :     bool                                            bShowErrorMessage;
     811             :     bool                                            bShowImputMessage;
     812             :     bool                                            bIgnoreBlanks;
     813             : };
     814             : 
     815             : typedef std::vector<ScMyImportValidation>           ScMyImportValidations;
     816             : typedef std::list<SvXMLImportContext*>              ScMyViewContextList;
     817             : class ScMyStylesImportHelper;
     818             : class ScXMLEditAttributeMap;
     819             : 
     820             : class ScXMLImport: public SvXMLImport, boost::noncopyable
     821             : {
     822             :     typedef ::boost::unordered_map< OUString, sal_Int16, OUStringHash >   CellTypeMap;
     823             :     typedef ::boost::ptr_map<SCTAB, ScMyNamedExpressions> SheetNamedExpMap;
     824             : 
     825             :     CellTypeMap             aCellTypeMap;
     826             : 
     827             :     ScDocument*             pDoc;
     828             :     boost::scoped_ptr<ScDocumentImport> mpDocImport;
     829             :     boost::scoped_ptr<ScCompiler> mpComp; // For error-checking of cached string cell values.
     830             :     boost::scoped_ptr<ScEditEngineDefaulter> mpEditEngine;
     831             :     boost::scoped_ptr<sc::PivotTableSources> mpPivotSources;
     832             : 
     833             :     mutable boost::scoped_ptr<ScXMLEditAttributeMap> mpEditAttrMap;
     834             :     ScXMLChangeTrackingImportHelper*    pChangeTrackingImportHelper;
     835             :     ScMyViewContextList                 aViewContextList;
     836             :     ScMyStylesImportHelper*             pStylesImportHelper;
     837             :     OUString                       sNumberFormat;
     838             :     OUString                       sLocale;
     839             :     OUString                       sCellStyle;
     840             :     OUString                       sStandardFormat;
     841             :     OUString                       sType;
     842             : 
     843             :     UniReference < XMLPropertyHandlerFactory >  xScPropHdlFactory;
     844             :     UniReference < XMLPropertySetMapper >       xCellStylesPropertySetMapper;
     845             :     UniReference < XMLPropertySetMapper >       xColumnStylesPropertySetMapper;
     846             :     UniReference < XMLPropertySetMapper >       xRowStylesPropertySetMapper;
     847             :     UniReference < XMLPropertySetMapper >       xTableStylesPropertySetMapper;
     848             : 
     849             :     SvXMLTokenMap           *pDocElemTokenMap;
     850             :     SvXMLTokenMap           *pStylesElemTokenMap;
     851             :     SvXMLTokenMap           *pStylesAttrTokenMap;
     852             :     SvXMLTokenMap           *pStyleElemTokenMap;
     853             :     SvXMLTokenMap           *pBodyElemTokenMap;
     854             :     SvXMLTokenMap           *pContentValidationsElemTokenMap;
     855             :     SvXMLTokenMap           *pContentValidationElemTokenMap;
     856             :     SvXMLTokenMap           *pContentValidationAttrTokenMap;
     857             :     SvXMLTokenMap           *pContentValidationMessageElemTokenMap;
     858             :     SvXMLTokenMap           *pContentValidationHelpMessageAttrTokenMap;
     859             :     SvXMLTokenMap           *pContentValidationErrorMessageAttrTokenMap;
     860             :     SvXMLTokenMap           *pContentValidationErrorMacroAttrTokenMap;
     861             :     SvXMLTokenMap           *pCondFormatsTokenMap;
     862             :     SvXMLTokenMap           *pCondFormatTokenMap;
     863             :     SvXMLTokenMap           *pCondFormatAttrMap;
     864             :     SvXMLTokenMap           *pCondDateAttrMap;
     865             :     SvXMLTokenMap           *pConditionAttrMap;
     866             :     SvXMLTokenMap           *pColorScaleTokenMap;
     867             :     SvXMLTokenMap           *pColorScaleEntryAttrTokenMap;
     868             :     SvXMLTokenMap           *pDataBarTokenMap;
     869             :     SvXMLTokenMap           *pDataBarAttrMap;
     870             :     SvXMLTokenMap           *pFormattingEntryAttrMap;
     871             :     SvXMLTokenMap           *pIconSetAttrMap;
     872             :     SvXMLTokenMap           *pLabelRangesElemTokenMap;
     873             :     SvXMLTokenMap           *pLabelRangeAttrTokenMap;
     874             :     SvXMLTokenMap           *pTableElemTokenMap;
     875             :     SvXMLTokenMap           *pTableProtectionElemTokenMap;
     876             :     SvXMLTokenMap           *pTableRowsElemTokenMap;
     877             :     SvXMLTokenMap           *pTableColsElemTokenMap;
     878             :     SvXMLTokenMap           *pTableScenarioAttrTokenMap;
     879             :     SvXMLTokenMap           *pTableAttrTokenMap;
     880             :     SvXMLTokenMap           *pTableColAttrTokenMap;
     881             :     SvXMLTokenMap           *pTableRowElemTokenMap;
     882             :     SvXMLTokenMap           *pTableRowAttrTokenMap;
     883             :     SvXMLTokenMap           *pTableRowCellElemTokenMap;
     884             :     SvXMLTokenMap           *pTableRowCellAttrTokenMap;
     885             :     SvXMLTokenMap           *pTableAnnotationAttrTokenMap;
     886             :     SvXMLTokenMap           *pDetectiveElemTokenMap;
     887             :     SvXMLTokenMap           *pDetectiveHighlightedAttrTokenMap;
     888             :     SvXMLTokenMap           *pDetectiveOperationAttrTokenMap;
     889             :     SvXMLTokenMap           *pTableCellRangeSourceAttrTokenMap;
     890             :     SvXMLTokenMap           *pNamedExpressionsElemTokenMap;
     891             :     SvXMLTokenMap           *pNamedRangeAttrTokenMap;
     892             :     SvXMLTokenMap           *pNamedExpressionAttrTokenMap;
     893             :     SvXMLTokenMap           *pDatabaseRangesElemTokenMap;
     894             :     SvXMLTokenMap           *pDatabaseRangeElemTokenMap;
     895             :     SvXMLTokenMap           *pDatabaseRangeAttrTokenMap;
     896             :     SvXMLTokenMap           *pDatabaseRangeSourceSQLAttrTokenMap;
     897             :     SvXMLTokenMap           *pDatabaseRangeSourceTableAttrTokenMap;
     898             :     SvXMLTokenMap           *pDatabaseRangeSourceQueryAttrTokenMap;
     899             :     SvXMLTokenMap           *pFilterElemTokenMap;
     900             :     SvXMLTokenMap           *pFilterAttrTokenMap;
     901             :     SvXMLTokenMap           *pFilterConditionElemTokenMap;
     902             :     SvXMLTokenMap           *pFilterConditionAttrTokenMap;
     903             :     SvXMLTokenMap           *pFilterSetItemAttrTokenMap;
     904             :     SvXMLTokenMap           *pSortElemTokenMap;
     905             :     SvXMLTokenMap           *pSortAttrTokenMap;
     906             :     SvXMLTokenMap           *pSortSortByAttrTokenMap;
     907             :     SvXMLTokenMap           *pDatabaseRangeSubTotalRulesElemTokenMap;
     908             :     SvXMLTokenMap           *pDatabaseRangeSubTotalRulesAttrTokenMap;
     909             :     SvXMLTokenMap           *pSubTotalRulesSortGroupsAttrTokenMap;
     910             :     SvXMLTokenMap           *pSubTotalRulesSubTotalRuleElemTokenMap;
     911             :     SvXMLTokenMap           *pSubTotalRulesSubTotalRuleAttrTokenMap;
     912             :     SvXMLTokenMap           *pSubTotalRuleSubTotalFieldAttrTokenMap;
     913             :     SvXMLTokenMap           *pDataPilotTablesElemTokenMap;
     914             :     SvXMLTokenMap           *pDataPilotTableAttrTokenMap;
     915             :     SvXMLTokenMap           *pDataPilotTableElemTokenMap;
     916             :     SvXMLTokenMap           *pDataPilotTableSourceServiceAttrTokenMap;
     917             :     SvXMLTokenMap           *pDataPilotGrandTotalAttrTokenMap;
     918             :     SvXMLTokenMap           *pDataPilotTableSourceCellRangeElemTokenMap;
     919             :     SvXMLTokenMap           *pDataPilotTableSourceCellRangeAttrTokenMap;
     920             :     SvXMLTokenMap           *pDataPilotFieldAttrTokenMap;
     921             :     SvXMLTokenMap           *pDataPilotFieldElemTokenMap;
     922             :     SvXMLTokenMap           *pDataPilotLevelAttrTokenMap;
     923             :     SvXMLTokenMap           *pDataPilotLevelElemTokenMap;
     924             :     SvXMLTokenMap           *pDataPilotSubTotalsElemTokenMap;
     925             :     SvXMLTokenMap           *pDataPilotSubTotalAttrTokenMap;
     926             :     SvXMLTokenMap           *pDataPilotMembersElemTokenMap;
     927             :     SvXMLTokenMap           *pDataPilotMemberAttrTokenMap;
     928             :     SvXMLTokenMap           *pConsolidationAttrTokenMap;
     929             :     SvXMLTokenMap           *pCellTextParaElemTokenMap;
     930             :     SvXMLTokenMap           *pCellTextSpanElemTokenMap;
     931             :     SvXMLTokenMap           *pCellTextSpanAttrTokenMap;
     932             :     SvXMLTokenMap           *pCellTextURLAttrTokenMap;
     933             :     SvXMLTokenMap           *pCellTextSAttrTokenMap;
     934             :     SvXMLTokenMap           *pDataStreamAttrTokenMap;
     935             : 
     936             :     sc::ImportPostProcessData* mpPostProcessData; /// Lift cycle managed elsewhere, no need to delete.
     937             : 
     938             :     ScMyTables              aTables;
     939             : 
     940             :     ScMyNamedExpressions*   pMyNamedExpressions;
     941             :     SheetNamedExpMap maSheetNamedExpressions;
     942             : 
     943             :     ScMyLabelRanges*        pMyLabelRanges;
     944             :     ScMyImportValidations*  pValidations;
     945             :     ScMyImpDetectiveOpArray*    pDetectiveOpArray;
     946             :     SolarMutexGuard*        pSolarMutexGuard;
     947             : 
     948             :     std::vector<OUString>          aTableStyles;
     949             :     XMLNumberFormatAttributesExportHelper* pNumberFormatAttributesExportHelper;
     950             :     ScMyStyleNumberFormats* pStyleNumberFormats;
     951             :     com::sun::star::uno::Reference <com::sun::star::util::XNumberFormats> xNumberFormats;
     952             :     com::sun::star::uno::Reference <com::sun::star::util::XNumberFormatTypes> xNumberFormatTypes;
     953             : 
     954             :     com::sun::star::uno::Reference <com::sun::star::sheet::XSheetCellRangeContainer> xSheetCellRanges;
     955             : 
     956             :     OUString           sEmpty;
     957             :     OUString           sPrevStyleName;
     958             :     OUString           sPrevCurrency;
     959             :     sal_uInt32              nSolarMutexLocked;
     960             :     sal_Int32               nProgressCount;
     961             :     sal_uInt16              nStyleFamilyMask;// Mask of styles to load
     962             :     sal_Int16               nPrevCellType;
     963             :     bool                    bLoadDoc;   // Load doc or styles only
     964             :     bool                    bRemoveLastChar;
     965             :     bool                    bNullDateSetted;
     966             :     bool                    bSelfImportingXMLSet;
     967             :     bool                    bFromWrapper;           // called from ScDocShell / ScXMLImportWrapper?
     968             :     bool mbHasNewCondFormatData;
     969             : 
     970             : 
     971             : protected:
     972             : 
     973             :     // This method is called after the namespace map has been updated, but
     974             :     // before a context for the current element has been pushed.
     975             :     virtual SvXMLImportContext *CreateContext(sal_uInt16 nPrefix,
     976             :                                       const OUString& rLocalName,
     977             :                                       const ::com::sun::star::uno::Reference<
     978             :                                           ::com::sun::star::xml::sax::XAttributeList>& xAttrList ) SAL_OVERRIDE;
     979             :     virtual XMLShapeImportHelper* CreateShapeImport() SAL_OVERRIDE;
     980             : 
     981             : public:
     982             :     // #110680#
     983             :     ScXMLImport(
     984             :         const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > xContext,
     985             :         OUString const & implementationName, sal_uInt16 nImportFlag);
     986             : 
     987             :     virtual ~ScXMLImport() throw();
     988             : 
     989             :     // namespace office
     990             :     // NB: in contrast to other CreateFooContexts, this particular one handles
     991             :     //     the root element (i.e. office:document-meta)
     992             :     SvXMLImportContext *CreateMetaContext(
     993             :                                     const OUString& rLocalName );
     994             :     SvXMLImportContext *CreateFontDeclsContext(const sal_uInt16 nPrefix, const OUString& rLocalName,
     995             :                                      const com::sun::star::uno::Reference<com::sun::star::xml::sax::XAttributeList>& xAttrList);
     996             :     SvXMLImportContext *CreateScriptContext(
     997             :                                     const OUString& rLocalName );
     998             :     SvXMLImportContext *CreateStylesContext(const OUString& rLocalName,
     999             :                                      const com::sun::star::uno::Reference<com::sun::star::xml::sax::XAttributeList>& xAttrList, bool bAutoStyles );
    1000             :     SvXMLImportContext *CreateBodyContext(
    1001             :                                     const OUString& rLocalName,
    1002             :                                     const ::com::sun::star::uno::Reference<com::sun::star::xml::sax::XAttributeList>& xAttrList );
    1003             : 
    1004             :     virtual void SetStatistics(
    1005             :         const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue> & i_rStats) SAL_OVERRIDE;
    1006             : 
    1007             :     ScDocumentImport& GetDoc();
    1008             : 
    1009       15867 :     inline ScDocument*          GetDocument()           { return pDoc; }
    1010          91 :     inline const ScDocument*    GetDocument() const     { return pDoc; }
    1011             : 
    1012       47307 :     ScMyTables& GetTables() { return aTables; }
    1013             : 
    1014             :     sal_uInt16 GetStyleFamilyMask() const { return nStyleFamilyMask; }
    1015         202 :     bool IsStylesOnlyMode() const { return !bLoadDoc; }
    1016             : 
    1017             :     sal_Int16 GetCellType(const OUString& rStrValue) const;
    1018             : 
    1019         142 :     UniReference < XMLPropertySetMapper > GetCellStylesPropertySetMapper() const { return xCellStylesPropertySetMapper; }
    1020         107 :     UniReference < XMLPropertySetMapper > GetColumnStylesPropertySetMapper() const { return xColumnStylesPropertySetMapper; }
    1021         107 :     UniReference < XMLPropertySetMapper > GetRowStylesPropertySetMapper() const { return xRowStylesPropertySetMapper; }
    1022         107 :     UniReference < XMLPropertySetMapper > GetTableStylesPropertySetMapper() const { return xTableStylesPropertySetMapper; }
    1023             : 
    1024             :     const SvXMLTokenMap& GetDocElemTokenMap();
    1025             :     const SvXMLTokenMap& GetBodyElemTokenMap();
    1026             :     const SvXMLTokenMap& GetContentValidationsElemTokenMap();
    1027             :     const SvXMLTokenMap& GetContentValidationElemTokenMap();
    1028             :     const SvXMLTokenMap& GetContentValidationAttrTokenMap();
    1029             :     const SvXMLTokenMap& GetContentValidationMessageElemTokenMap();
    1030             :     const SvXMLTokenMap& GetContentValidationHelpMessageAttrTokenMap();
    1031             :     const SvXMLTokenMap& GetContentValidationErrorMessageAttrTokenMap();
    1032             :     const SvXMLTokenMap& GetContentValidationErrorMacroAttrTokenMap();
    1033             :     const SvXMLTokenMap& GetCondFormatsTokenMap();
    1034             :     const SvXMLTokenMap& GetCondFormatTokenMap();
    1035             :     const SvXMLTokenMap& GetCondFormatAttrMap();
    1036             :     const SvXMLTokenMap& GetCondDateAttrMap();
    1037             :     const SvXMLTokenMap& GetConditionAttrMap();
    1038             :     const SvXMLTokenMap& GetColorScaleTokenMap();
    1039             :     const SvXMLTokenMap& GetColorScaleEntryAttrMap();
    1040             :     const SvXMLTokenMap& GetFormattingTokenMap();
    1041             :     const SvXMLTokenMap& GetDataBarAttrMap();
    1042             :     const SvXMLTokenMap& GetDataBarEntryAttrMap();
    1043             :     const SvXMLTokenMap& GetIconSetAttrMap();
    1044             :     const SvXMLTokenMap& GetLabelRangesElemTokenMap();
    1045             :     const SvXMLTokenMap& GetLabelRangeAttrTokenMap();
    1046             :     const SvXMLTokenMap& GetTableElemTokenMap();
    1047             :     const SvXMLTokenMap& GetTableProtectionAttrTokenMap();
    1048             :     const SvXMLTokenMap& GetTableRowsElemTokenMap();
    1049             :     const SvXMLTokenMap& GetTableColsElemTokenMap();
    1050             :     const SvXMLTokenMap& GetTableAttrTokenMap();
    1051             :     const SvXMLTokenMap& GetTableScenarioAttrTokenMap();
    1052             :     const SvXMLTokenMap& GetTableColAttrTokenMap();
    1053             :     const SvXMLTokenMap& GetTableRowElemTokenMap();
    1054             :     const SvXMLTokenMap& GetTableRowAttrTokenMap();
    1055             :     const SvXMLTokenMap& GetTableRowCellElemTokenMap();
    1056             :     const SvXMLTokenMap& GetTableRowCellAttrTokenMap();
    1057             :     const SvXMLTokenMap& GetTableAnnotationAttrTokenMap();
    1058             :     const SvXMLTokenMap& GetDetectiveElemTokenMap();
    1059             :     const SvXMLTokenMap& GetDetectiveHighlightedAttrTokenMap();
    1060             :     const SvXMLTokenMap& GetDetectiveOperationAttrTokenMap();
    1061             :     const SvXMLTokenMap& GetTableCellRangeSourceAttrTokenMap();
    1062             :     const SvXMLTokenMap& GetNamedExpressionsElemTokenMap();
    1063             :     const SvXMLTokenMap& GetNamedRangeAttrTokenMap();
    1064             :     const SvXMLTokenMap& GetNamedExpressionAttrTokenMap();
    1065             :     const SvXMLTokenMap& GetDatabaseRangesElemTokenMap();
    1066             :     const SvXMLTokenMap& GetDatabaseRangeElemTokenMap();
    1067             :     const SvXMLTokenMap& GetDatabaseRangeAttrTokenMap();
    1068             :     const SvXMLTokenMap& GetDatabaseRangeSourceSQLAttrTokenMap();
    1069             :     const SvXMLTokenMap& GetDatabaseRangeSourceTableAttrTokenMap();
    1070             :     const SvXMLTokenMap& GetDatabaseRangeSourceQueryAttrTokenMap();
    1071             :     const SvXMLTokenMap& GetFilterElemTokenMap();
    1072             :     const SvXMLTokenMap& GetFilterAttrTokenMap();
    1073             :     const SvXMLTokenMap& GetFilterConditionElemTokenMap();
    1074             :     const SvXMLTokenMap& GetFilterConditionAttrTokenMap();
    1075             :     const SvXMLTokenMap& GetFilterSetItemAttrTokenMap();
    1076             :     const SvXMLTokenMap& GetSortElemTokenMap();
    1077             :     const SvXMLTokenMap& GetSortAttrTokenMap();
    1078             :     const SvXMLTokenMap& GetSortSortByAttrTokenMap();
    1079             :     const SvXMLTokenMap& GetDatabaseRangeSubTotalRulesElemTokenMap();
    1080             :     const SvXMLTokenMap& GetDatabaseRangeSubTotalRulesAttrTokenMap();
    1081             :     const SvXMLTokenMap& GetSubTotalRulesSortGroupsAttrTokenMap();
    1082             :     const SvXMLTokenMap& GetSubTotalRulesSubTotalRuleElemTokenMap();
    1083             :     const SvXMLTokenMap& GetSubTotalRulesSubTotalRuleAttrTokenMap();
    1084             :     const SvXMLTokenMap& GetSubTotalRuleSubTotalFieldAttrTokenMap();
    1085             :     const SvXMLTokenMap& GetDataPilotTablesElemTokenMap();
    1086             :     const SvXMLTokenMap& GetDataPilotTableAttrTokenMap();
    1087             :     const SvXMLTokenMap& GetDataPilotTableElemTokenMap();
    1088             :     const SvXMLTokenMap& GetDataPilotTableSourceServiceAttrTokenMap();
    1089             :     const SvXMLTokenMap& GetDataPilotGrandTotalAttrTokenMap();
    1090             :     const SvXMLTokenMap& GetDataPilotTableSourceCellRangeElemTokenMap();
    1091             :     const SvXMLTokenMap& GetDataPilotTableSourceCellRangeAttrTokenMap();
    1092             :     const SvXMLTokenMap& GetDataPilotFieldAttrTokenMap();
    1093             :     const SvXMLTokenMap& GetDataPilotFieldElemTokenMap();
    1094             :     const SvXMLTokenMap& GetDataPilotLevelAttrTokenMap();
    1095             :     const SvXMLTokenMap& GetDataPilotLevelElemTokenMap();
    1096             :     const SvXMLTokenMap& GetDataPilotSubTotalsElemTokenMap();
    1097             :     const SvXMLTokenMap& GetDataPilotSubTotalAttrTokenMap();
    1098             :     const SvXMLTokenMap& GetDataPilotMembersElemTokenMap();
    1099             :     const SvXMLTokenMap& GetDataPilotMemberAttrTokenMap();
    1100             :     const SvXMLTokenMap& GetConsolidationAttrTokenMap();
    1101             :     const SvXMLTokenMap& GetCellTextParaElemTokenMap();
    1102             :     const SvXMLTokenMap& GetCellTextSpanElemTokenMap();
    1103             :     const SvXMLTokenMap& GetCellTextSpanAttrTokenMap();
    1104             :     const SvXMLTokenMap& GetCellTextURLAttrTokenMap();
    1105             :     const SvXMLTokenMap& GetCellTextSAttrTokenMap();
    1106             :     const SvXMLTokenMap& GetDataStreamAttrTokenMap();
    1107             : 
    1108             :     void SetPostProcessData( sc::ImportPostProcessData* p );
    1109             :     sc::ImportPostProcessData* GetPostProcessData();
    1110             : 
    1111             :     sc::PivotTableSources& GetPivotTableSources();
    1112             : 
    1113          56 :     void AddNamedExpression(ScMyNamedExpression* pMyNamedExpression)
    1114             :     {
    1115          56 :         if (!pMyNamedExpressions)
    1116          11 :             pMyNamedExpressions = new ScMyNamedExpressions();
    1117          56 :         pMyNamedExpressions->push_back(pMyNamedExpression);
    1118          56 :     }
    1119             : 
    1120         107 :     ScMyNamedExpressions* GetNamedExpressions() { return pMyNamedExpressions; }
    1121             : 
    1122             :     void AddNamedExpression(SCTAB nTab, ScMyNamedExpression* pNamedExp);
    1123             : 
    1124           0 :     void    AddLabelRange(const ScMyLabelRange* pMyLabelRange) {
    1125           0 :         if (!pMyLabelRanges)
    1126           0 :             pMyLabelRanges = new ScMyLabelRanges();
    1127           0 :         pMyLabelRanges->push_back(pMyLabelRange); }
    1128         107 :     ScMyLabelRanges* GetLabelRanges() { return pMyLabelRanges; }
    1129             : 
    1130           2 :     void AddValidation(const ScMyImportValidation& rValidation) {
    1131           2 :         if (!pValidations)
    1132           1 :             pValidations = new ScMyImportValidations();
    1133           2 :         pValidations->push_back(rValidation); }
    1134             :     bool GetValidation(const OUString& sName, ScMyImportValidation& aValidation);
    1135             : 
    1136         107 :     inline ScMyImpDetectiveOpArray* GetDetectiveOpArray()   {
    1137         107 :         if (!pDetectiveOpArray)
    1138         107 :             pDetectiveOpArray = new ScMyImpDetectiveOpArray();
    1139         107 :         return pDetectiveOpArray; }
    1140             : 
    1141        8860 :     void SetRemoveLastChar(bool bValue) { bRemoveLastChar = bValue; }
    1142             :     bool GetRemoveLastChar() { return bRemoveLastChar; }
    1143             : 
    1144             :     ScXMLChangeTrackingImportHelper* GetChangeTrackingImportHelper();
    1145             :     void AddViewContext(SvXMLImportContext* pContext) { aViewContextList.push_back(pContext); }
    1146             :     void InsertStyles();
    1147             : 
    1148             :     void SetChangeTrackingViewSettings(const com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>& rChangeProps);
    1149             :     virtual void SetViewSettings(const com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>& aViewProps) SAL_OVERRIDE;
    1150             :     virtual void SetConfigurationSettings(const com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>& aConfigProps) SAL_OVERRIDE;
    1151             : 
    1152         221 :     void SetTableStyle(const OUString& rValue) { aTableStyles.push_back(rValue); }
    1153             :     std::vector<OUString> GetTableStyle() { return aTableStyles; }
    1154       28083 :     ScMyStylesImportHelper* GetStylesImportHelper() { return pStylesImportHelper; }
    1155             :     sal_Int32 SetCurrencySymbol(const sal_Int32 nKey, const OUString& rCurrency);
    1156             :     bool IsCurrencySymbol(const sal_Int32 nNumberFormat, const OUString& sCurrencySymbol, const OUString& sBankSymbol);
    1157             :     void SetType(com::sun::star::uno::Reference <com::sun::star::beans::XPropertySet>& rProperties,
    1158             :         sal_Int32& rNumberFormat,
    1159             :         const sal_Int16 nCellType,
    1160             :         const OUString& rCurrency);
    1161             : 
    1162             :     void ProgressBarIncrement(bool bEditCell, sal_Int32 nInc = 1);
    1163             : 
    1164          13 :     void SetNewCondFormatData() { mbHasNewCondFormatData = true; }
    1165           9 :     bool HasNewCondFormatData() { return mbHasNewCondFormatData; }
    1166             : 
    1167             : private:
    1168             :     void AddStyleRange(const com::sun::star::table::CellRangeAddress& rCellRange);
    1169             :     void SetStyleToRanges();
    1170             : 
    1171             :     void ExamineDefaultStyle();
    1172             : public:
    1173             :     void SetStyleToRange(const ScRange& rRange, const OUString* pStyleName,
    1174             :         const sal_Int16 nCellType, const OUString* pCurrency);
    1175             :     bool SetNullDateOnUnitConverter();
    1176             :     XMLNumberFormatAttributesExportHelper* GetNumberFormatAttributesExportHelper();
    1177             :     ScMyStyleNumberFormats* GetStyleNumberFormats();
    1178             : 
    1179             :     void SetStylesToRangesFinished();
    1180             : 
    1181             :     // XImporter
    1182             :     virtual void SAL_CALL setTargetDocument( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XComponent >& xDoc ) throw(::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
    1183             : 
    1184             :     virtual void SAL_CALL startDocument(void)
    1185             :         throw( ::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
    1186             :     virtual void SAL_CALL endDocument()
    1187             :         throw(::com::sun::star::xml::sax::SAXException,
    1188             :               ::com::sun::star::uno::RuntimeException,
    1189             :               std::exception) SAL_OVERRIDE;
    1190             : 
    1191             :     virtual void DisposingModel() SAL_OVERRIDE;
    1192             : 
    1193             :     /**
    1194             :      * Use this class to manage solar mutex locking instead of calling
    1195             :      * LockSolarMutex() and UnlockSolarMutex() directly.
    1196             :      */
    1197             :     class MutexGuard
    1198             :     {
    1199             :     public:
    1200             :         explicit MutexGuard(ScXMLImport& rImport);
    1201             :         ~MutexGuard();
    1202             :     private:
    1203             :         ScXMLImport& mrImport;
    1204             :     };
    1205             :     void LockSolarMutex();
    1206             :     void UnlockSolarMutex();
    1207             : 
    1208             :     sal_Int32 GetByteOffset();
    1209             : 
    1210             :     void SetRangeOverflowType(sal_uInt32 nType);
    1211             : 
    1212             :     sal_Int32   GetRangeType(const OUString& sRangeType) const;
    1213             :     void SetNamedRanges();
    1214             :     void SetSheetNamedRanges();
    1215             :     void SetLabelRanges();
    1216             :     void AddDefaultNote( const com::sun::star::table::CellAddress& aCell );
    1217             : 
    1218             :     /** Extracts the formula string, the formula grammar namespace URL, and a
    1219             :         grammar enum value from the passed formula attribute value.
    1220             : 
    1221             :         @param rFormula
    1222             :             (out-parameter) Returns the plain formula string with the leading
    1223             :             equality sign if existing.
    1224             : 
    1225             :         @param rFormulaNmsp
    1226             :             (out-parameter) Returns the URL of the formula grammar namespace if
    1227             :             the attribute value contains the prefix of an unknown namespace.
    1228             : 
    1229             :         @param reGrammar
    1230             :             (out-parameter) Returns the exact formula grammar if the formula
    1231             :             is in a supported ODF format (e.g. FormulaGrammar::GRAM_PODF for
    1232             :             ODF 1.0/1.1 formulas, or FormulaGrammar::GRAM_ODFF for ODF 1.2
    1233             :             formulas a.k.a. OpenFormula). Returns the default storage grammar,
    1234             :             if the attribute value does not contain a namespace prefix. Returns
    1235             :             the special value FormulaGrammar::GRAM_EXTERNAL, if an unknown
    1236             :             namespace could be extracted from the formula which will be
    1237             :             contained in the parameter rFormulaNmsp then.
    1238             : 
    1239             :         @param rAttrValue
    1240             :             The value of the processed formula attribute.
    1241             : 
    1242             :         @param bRestrictToExternalNmsp
    1243             :             If set to true, only namespaces of external formula grammars will
    1244             :             be recognized. Internal namespace prefixes (e.g. 'oooc:' or 'of:'
    1245             :             will be considered to be part of the formula, e.g. an expression
    1246             :             with range operator.
    1247             :      */
    1248             :     void ExtractFormulaNamespaceGrammar(
    1249             :             OUString& rFormula,
    1250             :             OUString& rFormulaNmsp,
    1251             :             ::formula::FormulaGrammar::Grammar& reGrammar,
    1252             :             const OUString& rAttrValue,
    1253             :             bool bRestrictToExternalNmsp = false ) const;
    1254             : 
    1255             :     bool IsFormulaErrorConstant( const OUString& rStr ) const;
    1256             : 
    1257             :     ScEditEngineDefaulter* GetEditEngine();
    1258             :     const ScXMLEditAttributeMap& GetEditAttributeMap() const;
    1259             :     virtual void NotifyEmbeddedFontRead() SAL_OVERRIDE;
    1260             : };
    1261             : 
    1262             : #endif
    1263             : 
    1264             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10