/*
* XSLTemplate.h
* Copyright (c) 2011 Antillia.com TOSHIYUKI ARAI. ALL RIGHTS RESERVED.
*/
// SOL9
// 2011/01/23
#pragma once
#include <sol/xml/XMLObject.h>
namespace SOL {
class XSLTemplate : public XMLObject
{
private:
MSXML2::IXSLTemplatePtr pTemplate;
public:
XSLTemplate()
:pTemplate(NULL)
{
HRESULT hr = pTemplate.CreateInstance(__uuidof(MSXML2::XSLTemplate60));
if (FAILED(hr)) {
hr = pTemplate.CreateInstance(__uuidof(MSXML2::XSLTemplate40));
if (FAILED(hr)) {
hr = pTemplate.CreateInstance(__uuidof(MSXML2::XSLTemplate30));
throw hr;
}
}
}
public:
~XSLTemplate()
{
pTemplate = NULL;
}
private:
MSXML2::IXSLTemplatePtr getTemplatePtr()
{
return pTemplate;
}
public:
void putRefStylesheet(struct MSXML2::IXMLDOMNode * stylesheet)
{
getTemplatePtr()->PutRefstylesheet(stylesheet);
}
MSXML2::IXMLDOMNodePtr getStylesheet()
{
return getTemplatePtr()->Getstylesheet();
}
MSXML2::IXSLProcessorPtr createProcessor()
{
return getTemplatePtr()->createProcessor();
}
};
}
|