TYPEMAP

const char *                    T_PV
const XalanDOMChar              T_UV

XalanTransformer *              O_OBJECT
XObjectFactory *                O_OBJECT

const XalanParsedSource*        O_OBJECT
XalanParsedSource*              O_OBJECT
Xalan_XalanParsedSource*        O_OBJECT
const XalanCompiledStylesheet * O_OBJECT
XalanCompiledStylesheet *       O_OBJECT

XalanDocument *                 O_OBJECT
const XalanNamedNodeMap *       O_OBJECT
XalanNamedNodeMap *				O_OBJECT
const XalanNodeList *           O_OBJECT
XalanNodeList *     	        O_OBJECT
XalanElement *                  O_OBJECT
XalanDOMImplementation *        O_OBJECT
XalanDocumentType *             O_OBJECT
XalanText *                     O_OBJECT
XalanComment *                  O_OBJECT
XalanCDATASection *             O_OBJECT
XalanAttr *                     O_OBJECT
XalanProcessingInstruction *    O_OBJECT
XalanDocumentFragment *         O_OBJECT
XalanEntityReference *          O_OBJECT
XalanEntity *					O_OBJECT
XalanNode *                     O_OBJECT
XalanCharacterData *			O_OBJECT
XalanNotation *					O_OBJECT

XString *                       O_OBJECT
XObject *                       O_OBJECT
const XObjectPtr                O_OBJECT
XObjectPtr *					O_OBJECT
XNodeSet *                      O_OBJECT

XalanDocumentBuilder *          O_OBJECT
XalanDefaultDocumentBuilder *   O_OBJECT
XalanSourceTreeContentHandler * O_OBJECT
ContentHandler *                O_OBJECT
DTDHandler *                    O_OBJECT
LexicalHandler *                O_OBJECT

Xalan_XObjectFactory *			O_OBJECT
NodeRefListBase *				O_OBJECT
const NodeRefListBase *			O_OBJECT
XPathExecutionContext *         O_OBJECT

OUTPUT

O_OBJECT
    sv_setref_pv( $arg, CLASS, (void*)$var );

INPUT

O_OBJECT
    if( sv_isobject($arg) && (SvTYPE(SvRV($arg)) == SVt_PVMG) )
        $var = ($type)SvIV((SV*)SvRV( $arg ));
    else{
        warn( \"${Package}::$func_name() -- $var is not a blessed SV reference\" );
        XSRETURN_UNDEF;
    }

