The enum types XMLElemTransformerAction and XMLAttrTransformerAction use the same integer values so a mixture of values from these 2 in one switch is very suspicious. In the various *ActionTable arrays in OOo2Oasis/Oasis2OOo there is just one such array that mixes values from the 2 enums, and that is just the values that coverity complains about. The XML_ETACTION_EXTRACT_CHARACTERS was added at a later date in commits 8d374c039e7d349141befe3c9ef97f82f42bfa72685b93a6a
7d2405a54d
c276550e07
...but it turns out that the XMLAttrTransformerAction ones are handled in StartElement() and ProcessAttrs() methods but the XMLElemTransformerAction ones are handled in CreateChildContext() methods so probably the XML_ATACTION_MOVE_FROM_ELEM* values are in the wrong enum. Change-Id: Ib1791f6eafac4fb1e99334f41c17a90cfb076359
97 lines
5.7 KiB
C++
97 lines
5.7 KiB
C++
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
/*
|
|
* This file is part of the LibreOffice project.
|
|
*
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
*
|
|
* This file incorporates work covered by the following license notice:
|
|
*
|
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
* contributor license agreements. See the NOTICE file distributed
|
|
* with this work for additional information regarding copyright
|
|
* ownership. The ASF licenses this file to you under the Apache
|
|
* License, Version 2.0 (the "License"); you may not use this file
|
|
* except in compliance with the License. You may obtain a copy of
|
|
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
|
*/
|
|
|
|
#ifndef INCLUDED_XMLOFF_SOURCE_TRANSFORM_ELEMTRANSFORMERACTION_HXX
|
|
#define INCLUDED_XMLOFF_SOURCE_TRANSFORM_ELEMTRANSFORMERACTION_HXX
|
|
|
|
#include "TransformerAction.hxx"
|
|
|
|
enum XMLElemTransformerAction
|
|
{
|
|
XML_ETACTION_EOT=XML_TACTION_EOT, // uses for initialization only
|
|
XML_ETACTION_COPY, // copy all (default)
|
|
// for persistent elements: keep
|
|
// elem content
|
|
XML_ETACTION_COPY_TEXT, // copy all
|
|
// for persistent elements: keep
|
|
// text content
|
|
XML_ETACTION_COPY_CONTENT, // ignore elem, process content
|
|
XML_ETACTION_RENAME_ELEM, // rename element:
|
|
// - param1: namespace +
|
|
// token of local name
|
|
XML_ETACTION_RENAME_ELEM_PROC_ATTRS,// rename element and proc attr:
|
|
// - param1: elem namespace +
|
|
// token of local name
|
|
// - param2: attr acation map
|
|
XML_ETACTION_RENAME_ELEM_ADD_ATTR, // rename element and add attr:
|
|
// - param1: elem namespace +
|
|
// token of local name
|
|
// - param2: attr namespace +
|
|
// token of local name
|
|
// - param3: attr value
|
|
XML_ETACTION_RENAME_ELEM_ADD_PROC_ATTR, // rename element and add attr:
|
|
// - param1: elem namespace +
|
|
// token of local name
|
|
// - param2: attr namespace +
|
|
// token of local name
|
|
// - param3: attr value (low)
|
|
// attr action map (high)
|
|
XML_ETACTION_RENAME_ELEM_COND, // rename element if child of another:
|
|
// - param1: namespace +
|
|
// token of new local name
|
|
// - param2: namespace +
|
|
// token of parent element
|
|
XML_ETACTION_RENAME_ELEM_PROC_ATTRS_COND,// rename element and proc attr
|
|
// if child of another:
|
|
// - param1: elem namespace +
|
|
// token of new local name
|
|
// - param2: attr acation map
|
|
// - param3: namespace +
|
|
// token of parent element
|
|
XML_ETACTION_PROC_ATTRS, // proc attr:
|
|
// - param1: attr acation map
|
|
XML_ETACTION_MOVE_ATTRS_TO_ELEMS, // turn some attributes into elems
|
|
// - param1: action map specifying
|
|
// the attrs that shall be moved
|
|
XML_ETACTION_MOVE_ELEMS_TO_ATTRS, // turn some elems into attrs
|
|
// - param1: action map specifying
|
|
// the elems that shall be moved
|
|
XML_ETACTION_PROC_ATTRS_COND, // proc attr if child of another:
|
|
// - param1: namespace +
|
|
// token of parent element
|
|
// - param2: attr acation map
|
|
XML_ETACTION_EXTRACT_CHARACTERS, // takes the characters of the current
|
|
// element and all child elements
|
|
// and put them together into the
|
|
// current element
|
|
// the child elements are removed
|
|
XML_ETACTION_MOVE_TO_ATTR, // turn elem into an attr:
|
|
// - param1: namespace +
|
|
// token of local name
|
|
XML_ETACTION_MOVE_TO_ATTR_RNG2ISO_DATETIME, // turn elem into an attr and convert . to , in datetimes
|
|
// - param1: namespace +
|
|
// token of local name
|
|
XML_ETACTION_USER_DEFINED=0x40000000,// user defined actions start here
|
|
XML_ETACTION_END=XML_TACTION_END
|
|
};
|
|
|
|
#endif // INCLUDED_XMLOFF_SOURCE_TRANSFORM_ELEMTRANSFORMERACTION_HXX
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|