diff --git a/alib2data/src/sax/SaxComposeInterface.cpp b/alib2data/src/sax/SaxComposeInterface.cpp index bc27ecc1a32d3d6507f5a91fbb0bca52a70c0a6a..cdcb51e3f8b9f9f327f64d8e21f6de04c52c84c2 100644 --- a/alib2data/src/sax/SaxComposeInterface.cpp +++ b/alib2data/src/sax/SaxComposeInterface.cpp @@ -52,18 +52,24 @@ void SaxComposeInterface::printStream(std::ostream& out, const std::deque<Token> void SaxComposeInterface::xmlSAXUserPrint(xmlTextWriterPtr writer, const std::deque<Token>& in) { xmlTextWriterStartDocument(writer, NULL, NULL, NULL); - std::deque<Token> stack; + #ifdef DEBUG + std::deque<Token> stack; + #endif for(const Token& token : in) { switch(token.getType()) { case Token::TokenType::START_ELEMENT: xmlTextWriterStartElement(writer, (const xmlChar*) token.getData().c_str()); - stack.push_back(token); + #ifdef DEBUG + stack.push_back(token); + #endif break; case Token::TokenType::END_ELEMENT: - if(stack.empty() || stack.back().getData() != token.getData() || stack.back().getType() != Token::TokenType::START_ELEMENT) { - throw ComposerException(Token(stack.back().getData(), Token::TokenType::END_ELEMENT), token); - } - stack.pop_back(); + #ifdef DEBUG + if(stack.empty() || stack.back().getData() != token.getData() || stack.back().getType() != Token::TokenType::START_ELEMENT) { + throw ComposerException(Token(stack.back().getData(), Token::TokenType::END_ELEMENT), token); + } + stack.pop_back(); + #endif xmlTextWriterEndElement(writer); break; case Token::TokenType::CHARACTER: @@ -71,13 +77,17 @@ void SaxComposeInterface::xmlSAXUserPrint(xmlTextWriterPtr writer, const std::de break; case Token::TokenType::START_ATTRIBUTE: xmlTextWriterStartAttribute(writer, (const xmlChar*) token.getData().c_str()); - stack.push_back(token); + #ifdef DEBUG + stack.push_back(token); + #endif break; case Token::TokenType::END_ATTRIBUTE: - if(stack.empty() || stack.back().getData() != token.getData() || stack.back().getType() != Token::TokenType::START_ATTRIBUTE) { - throw ComposerException(Token(stack.back().getData(), Token::TokenType::END_ATTRIBUTE), token); - } - stack.pop_back(); + #ifdef DEBUG + if(stack.empty() || stack.back().getData() != token.getData() || stack.back().getType() != Token::TokenType::START_ATTRIBUTE) { + throw ComposerException(Token(stack.back().getData(), Token::TokenType::END_ATTRIBUTE), token); + } + stack.pop_back(); + #endif xmlTextWriterEndAttribute(writer); break; }