blob: 81c9faaa4cd43bf2e4bb73690392b425daeca063 [file] [log] [blame]
/*
* 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
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*
* $Id$
*/
// ---------------------------------------------------------------------------
// Includes
// ---------------------------------------------------------------------------
#include <xercesc/util/XMLInitializer.hpp>
#include <xercesc/util/PlatformUtils.hpp>
namespace XERCES_CPP_NAMESPACE {
// ---------------------------------------------------------------------------
// XMLInitializer: Initialization methods
// ---------------------------------------------------------------------------
void XMLInitializer::initializeStaticData()
{
try
{
// Note that in some cases the order of initialization can be
// important.
//
// Core
//
initializeEncodingValidator();
initializeXMLException();
initializeXMLScanner();
initializeXMLValidator();
// Regex
//
initializeRangeTokenMap();
initializeRegularExpression();
// DTD
//
initializeDTDGrammar();
// Schema
//
initializeXSDErrorReporter();
initializeDatatypeValidatorFactory();
initializeGeneralAttributeCheck();
initializeXSValue();
initializeComplexTypeInfo();
// DOM
//
initializeDOMImplementationRegistry();
initializeDOMImplementationImpl();
initializeDOMDocumentTypeImpl();
initializeDOMNodeListImpl();
initializeDOMNormalizer();
// XInclude
//
initializeXInclude();
}
catch(...) {
XMLPlatformUtils::panic(PanicHandler::Panic_AllStaticInitErr);
}
}
void XMLInitializer::terminateStaticData()
{
// Terminate in the reverse order of initialization. There shouldn't
// be any exceptions and if there are, we can't do anything about them
// since we are no longer initialized (think of it as throwing from
// a destructor).
//
// XInclude
//
terminateXInclude();
// DOM
//
terminateDOMNormalizer();
terminateDOMNodeListImpl();
terminateDOMDocumentTypeImpl();
terminateDOMImplementationImpl();
terminateDOMImplementationRegistry();
// Schema
//
terminateComplexTypeInfo();
terminateXSValue();
terminateGeneralAttributeCheck();
terminateDatatypeValidatorFactory();
terminateXSDErrorReporter();
// DTD
//
terminateDTDGrammar();
// Regex
//
terminateRegularExpression();
terminateRangeTokenMap();
// Core
//
terminateXMLValidator();
terminateXMLScanner();
terminateXMLException();
terminateEncodingValidator();
}
}