SOL9 2.0 Class: XSLTemplate

 SOL9 C++ Class Library  SOL9 Samples  SOL9 Tutorial  SOL9 FAQ  SOL9 ClassTree 

Source code

/*
 * 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();
    }
};


}

Last modified: 1 Feb 2012

Copyright (c) 2009-2012 Antillia.com ALL RIGHTS RESERVED.