+// Copyright (C) 2006-2022 CEA/DEN, EDF R&D
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library 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
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+
#ifndef _PRESETPARSERS_HXX_
#define _PRESETPARSERS_HXX_
}
virtual void buildAttr(const XML_Char** attr)
{
+ if (!attr)
+ return;
DEBTRACE("presetdatatypeParser::buildAttr");
required("name",attr);
required("type",attr);
virtual void pre ()
{
DEBTRACE("presetdatatypeParser::pre");
- _ref="";
+ _ref="undef";
_param.clear();
}
virtual void value (const std::string& value)
{
DEBTRACE("presetdatatypeParser::post");
//a parameter can have a ref attribute OR one value element
- if(_ref == "")
+ if(_ref == "undef")
mincount("value",1);
else
_param.setProperty("value",_ref);
template <class T>
void presettypeParser<T>::buildAttr(const XML_Char** attr)
{
+ if (!attr)
+ return;
DEBTRACE("presettypeParser::buildAttr");
this->required("name",attr);
for (int i = 0; attr[i]; i += 2)