X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=source%2Fxml%2FParser.cpp;h=b2d1e5119240f7f9f593c2863b4832e08aa618d7;hb=5a6cba5fde2b2f538a7515f8293cc0a8d9589dfa;hp=30c2909bb9274b646293bb9c03870e3110d8cfb3;hpb=5256cb543a9d35b610df19bd227cde977186aef0;p=anna.git diff --git a/source/xml/Parser.cpp b/source/xml/Parser.cpp index 30c2909..b2d1e51 100644 --- a/source/xml/Parser.cpp +++ b/source/xml/Parser.cpp @@ -1,37 +1,9 @@ -// ANNA - Anna is Not Nothingness Anymore -// -// (c) Copyright 2005-2014 Eduardo Ramos Testillano & Francisco Ruiz Rayo -// -// http://redmine.teslayout.com/projects/anna-suite -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of the copyright holder nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Authors: eduardo.ramos.testillano@gmail.com -// cisco.tierra@gmail.com +// ANNA - Anna is Not Nothingness Anymore // +// // +// (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo // +// // +// See project site at http://redmine.teslayout.com/projects/anna-suite // +// See accompanying file LICENSE or copy at http://www.teslayout.com/projects/public/anna.LICENSE // #include @@ -75,7 +47,7 @@ Parser::~Parser() { } const Node* Parser::apply(const Document& document) -throw(RuntimeException) { +noexcept(false) { LOGMETHOD(TraceMethod tf("anna::xml::Parser", "apply(Document)", ANNA_FILE_LOCATION)); Guard guard(*this); reset(); @@ -84,7 +56,7 @@ throw(RuntimeException) { } const Node* Parser::apply(const Document& document, const DTD& dtd) -throw(RuntimeException) { +noexcept(false) { LOGMETHOD(TraceMethod tf("anna::xml::Parser", "apply(Document,DTD)", ANNA_FILE_LOCATION)); Guard guard(*this); reset(); @@ -94,7 +66,7 @@ throw(RuntimeException) { } void Parser::apply(_xmlDoc* document) -throw(RuntimeException) { +noexcept(false) { LOGMETHOD(TraceMethod tf("anna::xml::Parser", "apply (_xmlDoc)", ANNA_FILE_LOCATION)); xmlNode* root; @@ -119,7 +91,7 @@ throw(RuntimeException) { } void Parser::children(Node* node, xmlNode* xmlNode) -throw(RuntimeException) { +noexcept(false) { Node* child; bool isSeparator; const char* w; @@ -161,7 +133,7 @@ throw(RuntimeException) { } void Parser::attributes(Node* node, xmlAttr* attribute) -throw(RuntimeException) { +noexcept(false) { const char* value; const Namespace* ns = NULL; @@ -175,7 +147,7 @@ throw(RuntimeException) { /* static */ void Parser::errorHandler(void *ctx, const char *msg, ...) -throw() { +{ va_list ap; va_start(ap, msg); vsprintf(st_text, msg, ap); @@ -190,7 +162,7 @@ throw() { /* static */ void Parser::warningHandler(void *ctx, const char *msg, ...) -throw() { +{ va_list ap; if(Logger::isActive(Logger::Warning)) { @@ -208,13 +180,13 @@ throw() { // La metodo que invoque a este debe hacerlo con una secci�n cr�tica activa. void Parser::reset() -throw() { +{ if(a_root != NULL) a_root->clear(); } void Parser::setupEncoding(_xmlDoc* document) -throw() { +{ if(document->encoding != NULL) { a_encoding = true; @@ -233,7 +205,7 @@ throw() { } const char* Parser::decode(const unsigned char* source) -throw() { +{ if(a_encoding == false) return (const char*) source;