/*
* $Id: ImportTextXML.cpp,v 1.5 2006/03/05 05:00:09 ozawa Exp $
*
* Copyright 2005- ONGS Inc. All rights reserved.
*
* author: Masanori OZAWA (ozawa@ongs.co.jp)
* version: $Revision: 1.5 $
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. 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.
*
* THIS SOFTWARE IS PROVIDED BY ONGS INC ``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 ONGS INC 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.
*
* The views and conclusions contained in the software and documentation are
* those of the authors and should not be interpreted as representing official
* policies, either expressed or implied, of the ONGS Inc.
*
*/
#include "xdtp.h"
#include "modules/imports/ImportTextXML.h"
#include "XMLTool.h"
using namespace XDTP;
ImportTextXML::ImportTextXML()
{
}
ImportTextXML::~ImportTextXML()
{
}
/**
* XSL変換後のXML文章を保存する直前に呼び出されます。
*
* @param aDocument XML文章
*/
void ImportTextXML::treatPostDocument(xmlDocPtr aDocument)
{
GLSDImportModuleAdapter::treatPostDocument(aDocument);
int count;
XMLTool tool;
xmlNodePtr root = xmlDocGetRootElement(aDocument);
xmlNodeSetPtr nodes;
xmlXPathObjectPtr obj = tool.getNodeList(root, "//import[@type=\"text/xml\"]");
if (obj) {
nodes = obj->nodesetval;
for (count = 0; count < nodes->nodeNr; count++) {
if (!transform(aDocument, nodes->nodeTab[count])) {
THROW("ImportTextXML: transform failed.");
}
}
xmlXPathFreeObject(obj);
}
}
syntax highlighted by Code2HTML, v. 0.9.1