Sophie

Sophie

distrib > Mandriva > 2010.0 > x86_64 > by-pkgid > 6d54acda680c50cc4dfba24075d2a90c > files > 163

lib64xmlsec1-devel-1.2.13-1mdv2010.0.x86_64.rpm

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>transforms</title>
<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7">
<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html">
<link rel="PREVIOUS" title="templates" href="xmlsec-templates.html">
<link rel="NEXT" title="version" href="xmlsec-version.html">
<meta name="GENERATOR" content="GTK-Doc V1.2 (SGML mode)">
<style type="text/css">.synopsis, .classsynopsis {
    background: #eeeeee;
    border: solid 1px #aaaaaa;
    padding: 0.5em;
}
.programlisting {
    background: #eeeeff;
    border: solid 1px #aaaaff;
    padding: 0.5em;
}
.variablelist {
    padding: 4px;
    margin-left: 3em;
}
.navigation {
    background: #ffeeee;
    border: solid 1px #ffaaaa;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}
.navigation a {
    color: #770000;
}
.navigation a:visited {
    color: #550000;
}
.navigation .title {
    font-size: 200%;
}</style>
</head>
<body><table witdh="100%" valign="top"><tr valign="top">
<td valign="top" align="left" width="210">
<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p>
<ul>
<li><a href="../index.html">Home</a></li>
<li><a href="../download.html">Download</a></li>
<li><a href="../news.html">News</a></li>
<li><a href="../documentation.html">Documentation</a></li>
<ul>
<li><a href="../faq.html">FAQ</a></li>
<li><a href="../api/xmlsec-notes.html">Tutorial</a></li>
<li><a href="../api/xmlsec-reference.html">API reference</a></li>
<li><a href="../api/xmlsec-examples.html">Examples</a></li>
</ul>
<li><a href="../xmldsig.html">XML Digital Signature</a></li>
<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul>
<li><a href="../xmlenc.html">XML Encryption</a></li>
<li><a href="../c14n.html">XML Canonicalization</a></li>
<li><a href="../bugs.html">Reporting Bugs</a></li>
<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li>
<li><a href="../related.html">Related</a></li>
<li><a href="../authors.html">Authors</a></li>
</ul>
<table width="100%">
<tr>
<td width="15"></td>
<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td>
</tr>
<tr>
<td width="15"></td>
<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td>
</tr>
<tr>
<td width="15"></td>
<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td>
</tr>
<!--Links - start--><!--Links - end-->
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="xmlsec-templates.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">XML Security Library Reference Manual</th>
<td><a accesskey="n" href="xmlsec-version.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr></table>
<h1>
<a name="XMLSEC-TRANSFORMS"></a>transforms</h1>
<div class="REFNAMEDIV">
<a name="AEN14359"></a><h2>Name</h2>transforms--Transform object definition.</div>
<div class="REFSYNOPSISDIV">
<a name="AEN14362"></a><h2>Synopsis</h2>
<pre class="SYNOPSIS">

#define     <a href="xmlsec-transforms.html#XMLSEC-TRANSFORM-BINARY-CHUNK-CAPS">XMLSEC_TRANSFORM_BINARY_CHUNK</a>
<a href="xmlsec-list.html#XMLSECPTRLIST">xmlSecPtrListPtr</a> <a href="xmlsec-transforms.html#XMLSECTRANSFORMIDSGET">xmlSecTransformIdsGet</a>      (void);
<font>int</font>         <a href="xmlsec-transforms.html#XMLSECTRANSFORMIDSINIT">xmlSecTransformIdsInit</a>          (void);
<font>void</font>        <a href="xmlsec-transforms.html#XMLSECTRANSFORMIDSSHUTDOWN">xmlSecTransformIdsShutdown</a>      (void);
<font>int</font>         <a href="xmlsec-transforms.html#XMLSECTRANSFORMIDSREGISTERDEFAULT">xmlSecTransformIdsRegisterDefault</a>
                                            (void);
<font>int</font>         <a href="xmlsec-transforms.html#XMLSECTRANSFORMIDSREGISTER">xmlSecTransformIdsRegister</a>      (<font>xmlSecTransformId</font> id);
enum        <a href="xmlsec-transforms.html#XMLSECTRANSFORMSTATUS">xmlSecTransformStatus</a>;
enum        <a href="xmlsec-transforms.html#XMLSECTRANSFORMMODE">xmlSecTransformMode</a>;
enum        <a href="xmlsec-transforms.html#XMLSECTRANSFORMOPERATION">xmlSecTransformOperation</a>;
typedef     <a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPE">xmlSecTransformUriType</a>;
#define     <a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPENONE">xmlSecTransformUriTypeNone</a>
#define     <a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPEEMPTY">xmlSecTransformUriTypeEmpty</a>
#define     <a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPESAMEDOCUMENT">xmlSecTransformUriTypeSameDocument</a>
#define     <a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPELOCAL">xmlSecTransformUriTypeLocal</a>
#define     <a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPEREMOTE">xmlSecTransformUriTypeRemote</a>
#define     <a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPEANY">xmlSecTransformUriTypeAny</a>
<font>int</font>         <a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPECHECK">xmlSecTransformUriTypeCheck</a>     (<a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPE">xmlSecTransformUriType</a> type,
                                             const <font>xmlChar</font> *uri);
typedef     <a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE">xmlSecTransformDataType</a>;
#define     <a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPEUNKNOWN">xmlSecTransformDataTypeUnknown</a>
#define     <a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPEBIN">xmlSecTransformDataTypeBin</a>
#define     <a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPEXML">xmlSecTransformDataTypeXml</a>
typedef     <a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE">xmlSecTransformUsage</a>;
#define     <a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGEUNKNOWN">xmlSecTransformUsageUnknown</a>
#define     <a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGEDSIGTRANSFORM">xmlSecTransformUsageDSigTransform</a>
#define     <a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGEC14NMETHOD">xmlSecTransformUsageC14NMethod</a>
#define     <a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGEDIGESTMETHOD">xmlSecTransformUsageDigestMethod</a>
#define     <a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGESIGNATUREMETHOD">xmlSecTransformUsageSignatureMethod</a>
#define     <a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGEENCRYPTIONMETHOD">xmlSecTransformUsageEncryptionMethod</a>
#define     <a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGEANY">xmlSecTransformUsageAny</a>
<font>int</font>         (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXPREEXECUTECALLBACK">*xmlSecTransformCtxPreExecuteCallback</a>)
                                            (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);
#define     <a href="xmlsec-transforms.html#XMLSEC-TRANSFORMCTX-FLAGS-USE-VISA3D-HACK-CAPS">XMLSEC_TRANSFORMCTX_FLAGS_USE_VISA3D_HACK</a>
struct      <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtx</a>;
<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXCREATE">xmlSecTransformCtxCreate</a>
                                            (void);
<font>void</font>        <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXDESTROY">xmlSecTransformCtxDestroy</a>       (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> ctx);
<font>int</font>         <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXINITIALIZE">xmlSecTransformCtxInitialize</a>    (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> ctx);
<font>void</font>        <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXFINALIZE">xmlSecTransformCtxFinalize</a>      (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> ctx);
<font>void</font>        <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXRESET">xmlSecTransformCtxReset</a>         (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> ctx);
<font>int</font>         <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXCOPYUSERPREF">xmlSecTransformCtxCopyUserPref</a>  (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> dst,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> src);
<font>int</font>         <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXSETURI">xmlSecTransformCtxSetUri</a>        (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> ctx,
                                             const <font>xmlChar</font> *uri,
                                             <font>xmlNodePtr</font> hereNode);
<font>int</font>         <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXAPPEND">xmlSecTransformCtxAppend</a>        (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> ctx,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform);
<font>int</font>         <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXPREPEND">xmlSecTransformCtxPrepend</a>       (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> ctx,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform);
<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXCREATEANDAPPEND">xmlSecTransformCtxCreateAndAppend</a>
                                            (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> ctx,
                                             <font>xmlSecTransformId</font> id);
<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXCREATEANDPREPEND">xmlSecTransformCtxCreateAndPrepend</a>
                                            (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> ctx,
                                             <font>xmlSecTransformId</font> id);
<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXNODEREAD">xmlSecTransformCtxNodeRead</a>
                                            (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> ctx,
                                             <font>xmlNodePtr</font> node,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE">xmlSecTransformUsage</a> usage);
<font>int</font>         <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXNODESLISTREAD">xmlSecTransformCtxNodesListRead</a> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> ctx,
                                             <font>xmlNodePtr</font> node,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE">xmlSecTransformUsage</a> usage);
<font>int</font>         <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXPREPARE">xmlSecTransformCtxPrepare</a>       (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> ctx,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE">xmlSecTransformDataType</a> inputDataType);
<font>int</font>         <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXBINARYEXECUTE">xmlSecTransformCtxBinaryExecute</a> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> ctx,
                                             const <a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a> *data,
                                             <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> dataSize);
<font>int</font>         <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXURIEXECUTE">xmlSecTransformCtxUriExecute</a>    (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> ctx,
                                             const <font>xmlChar</font> *uri);
<font>int</font>         <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXXMLEXECUTE">xmlSecTransformCtxXmlExecute</a>    (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> ctx,
                                             <a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSetPtr</a> nodes);
<font>int</font>         <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXEXECUTE">xmlSecTransformCtxExecute</a>       (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> ctx,
                                             <font>xmlDocPtr</font> doc);
<font>void</font>        <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXDEBUGDUMP">xmlSecTransformCtxDebugDump</a>     (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> ctx,
                                             <font>FILE</font> *output);
<font>void</font>        <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXDEBUGXMLDUMP">xmlSecTransformCtxDebugXmlDump</a>  (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> ctx,
                                             <font>FILE</font> *output);
struct      <a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransform</a>;
<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> <a href="xmlsec-transforms.html#XMLSECTRANSFORMCREATE">xmlSecTransformCreate</a>    (<font>xmlSecTransformId</font> id);
<font>void</font>        <a href="xmlsec-transforms.html#XMLSECTRANSFORMDESTROY">xmlSecTransformDestroy</a>          (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform);
<font>xmlSecTransformPtr</font> <a href="xmlsec-transforms.html#XMLSECTRANSFORMNODEREAD">xmlSecTransformNodeRead</a>  (<font>xmlNodePtr</font> node,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE">xmlSecTransformUsage</a> usage,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);
<font>int</font>         <a href="xmlsec-transforms.html#XMLSECTRANSFORMPUMP">xmlSecTransformPump</a>             (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> left,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> right,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);
<font>int</font>         <a href="xmlsec-transforms.html#XMLSECTRANSFORMSETKEY">xmlSecTransformSetKey</a>           (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key);
<font>int</font>         <a href="xmlsec-transforms.html#XMLSECTRANSFORMSETKEYREQ">xmlSecTransformSetKeyReq</a>        (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> keyReq);
<font>int</font>         <a href="xmlsec-transforms.html#XMLSECTRANSFORMVERIFY">xmlSecTransformVerify</a>           (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             const <a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a> *data,
                                             <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> dataSize,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);
<font>int</font>         <a href="xmlsec-transforms.html#XMLSECTRANSFORMVERIFYNODECONTENT">xmlSecTransformVerifyNodeContent</a>
                                            (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <font>xmlNodePtr</font> node,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);
<a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE">xmlSecTransformDataType</a> <a href="xmlsec-transforms.html#XMLSECTRANSFORMGETDATATYPE">xmlSecTransformGetDataType</a>
                                            (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMMODE">xmlSecTransformMode</a> mode,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);
<font>int</font>         <a href="xmlsec-transforms.html#XMLSECTRANSFORMPUSHBIN">xmlSecTransformPushBin</a>          (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             const <a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a> *data,
                                             <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> dataSize,
                                             <font>int</font> final,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);
<font>int</font>         <a href="xmlsec-transforms.html#XMLSECTRANSFORMPOPBIN">xmlSecTransformPopBin</a>           (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a> *data,
                                             <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> maxDataSize,
                                             <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> *dataSize,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);
<font>int</font>         <a href="xmlsec-transforms.html#XMLSECTRANSFORMPUSHXML">xmlSecTransformPushXml</a>          (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSetPtr</a> nodes,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);
<font>int</font>         <a href="xmlsec-transforms.html#XMLSECTRANSFORMPOPXML">xmlSecTransformPopXml</a>           (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSetPtr</a> *nodes,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);
<font>int</font>         <a href="xmlsec-transforms.html#XMLSECTRANSFORMEXECUTE">xmlSecTransformExecute</a>          (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <font>int</font> last,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);
<font>void</font>        <a href="xmlsec-transforms.html#XMLSECTRANSFORMDEBUGDUMP">xmlSecTransformDebugDump</a>        (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <font>FILE</font> *output);
<font>void</font>        <a href="xmlsec-transforms.html#XMLSECTRANSFORMDEBUGXMLDUMP">xmlSecTransformDebugXmlDump</a>     (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <font>FILE</font> *output);
#define     <a href="xmlsec-transforms.html#XMLSECTRANSFORMGETNAME">xmlSecTransformGetName</a>          (transform)
#define     <a href="xmlsec-transforms.html#XMLSECTRANSFORMISVALID">xmlSecTransformIsValid</a>          (transform)
#define     <a href="xmlsec-transforms.html#XMLSECTRANSFORMCHECKTYPE">xmlSecTransformCheckType</a>        (transform, t)
#define     <a href="xmlsec-transforms.html#XMLSECTRANSFORMCHECKID">xmlSecTransformCheckId</a>          (transform, i)
#define     <a href="xmlsec-transforms.html#XMLSECTRANSFORMCHECKSIZE">xmlSecTransformCheckSize</a>        (transform, size)
<font>int</font>         <a href="xmlsec-transforms.html#XMLSECTRANSFORMCONNECT">xmlSecTransformConnect</a>          (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> left,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> right,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);
<font>void</font>        <a href="xmlsec-transforms.html#XMLSECTRANSFORMREMOVE">xmlSecTransformRemove</a>           (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform);
<a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE">xmlSecTransformDataType</a> <a href="xmlsec-transforms.html#XMLSECTRANSFORMDEFAULTGETDATATYPE">xmlSecTransformDefaultGetDataType</a>
                                            (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMMODE">xmlSecTransformMode</a> mode,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);
<font>int</font>         <a href="xmlsec-transforms.html#XMLSECTRANSFORMDEFAULTPUSHBIN">xmlSecTransformDefaultPushBin</a>   (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             const <a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a> *data,
                                             <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> dataSize,
                                             <font>int</font> final,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);
<font>int</font>         <a href="xmlsec-transforms.html#XMLSECTRANSFORMDEFAULTPOPBIN">xmlSecTransformDefaultPopBin</a>    (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a> *data,
                                             <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> maxDataSize,
                                             <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> *dataSize,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);
<font>int</font>         <a href="xmlsec-transforms.html#XMLSECTRANSFORMDEFAULTPUSHXML">xmlSecTransformDefaultPushXml</a>   (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSetPtr</a> nodes,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);
<font>int</font>         <a href="xmlsec-transforms.html#XMLSECTRANSFORMDEFAULTPOPXML">xmlSecTransformDefaultPopXml</a>    (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSetPtr</a> *nodes,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);
<font>xmlOutputBufferPtr</font> <a href="xmlsec-transforms.html#XMLSECTRANSFORMCREATEOUTPUTBUFFER">xmlSecTransformCreateOutputBuffer</a>
                                            (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);
<font>xmlParserInputBufferPtr</font> <a href="xmlsec-transforms.html#XMLSECTRANSFORMCREATEINPUTBUFFER">xmlSecTransformCreateInputBuffer</a>
                                            (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);
<font>int</font>         (<a href="xmlsec-transforms.html#XMLSECTRANSFORMINITIALIZEMETHOD">*xmlSecTransformInitializeMethod</a>)
                                            (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform);
<font>void</font>        (<a href="xmlsec-transforms.html#XMLSECTRANSFORMFINALIZEMETHOD">*xmlSecTransformFinalizeMethod</a>)
                                            (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform);
<a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE">xmlSecTransformDataType</a> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMGETDATATYPEMETHOD">*xmlSecTransformGetDataTypeMethod</a>)
                                            (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMMODE">xmlSecTransformMode</a> mode,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);
<font>int</font>         (<a href="xmlsec-transforms.html#XMLSECTRANSFORMNODEREADMETHOD">*xmlSecTransformNodeReadMethod</a>)
                                            (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <font>xmlNodePtr</font> node,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);
<font>int</font>         (<a href="xmlsec-transforms.html#XMLSECTRANSFORMNODEWRITEMETHOD">*xmlSecTransformNodeWriteMethod</a>)
                                            (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <font>xmlNodePtr</font> node,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);
<font>int</font>         (<a href="xmlsec-transforms.html#XMLSECTRANSFORMSETKEYREQUIREMENTSMETHOD">*xmlSecTransformSetKeyRequirementsMethod</a>)
                                            (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> keyReq);
<font>int</font>         (<a href="xmlsec-transforms.html#XMLSECTRANSFORMSETKEYMETHOD">*xmlSecTransformSetKeyMethod</a>)  (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key);
<font>int</font>         (<a href="xmlsec-transforms.html#XMLSECTRANSFORMVERIFYMETHOD">*xmlSecTransformVerifyMethod</a>)  (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             const <a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a> *data,
                                             <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> dataSize,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);
<font>int</font>         (<a href="xmlsec-transforms.html#XMLSECTRANSFORMPUSHBINMETHOD">*xmlSecTransformPushBinMethod</a>) (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             const <a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a> *data,
                                             <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> dataSize,
                                             <font>int</font> final,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);
<font>int</font>         (<a href="xmlsec-transforms.html#XMLSECTRANSFORMPOPBINMETHOD">*xmlSecTransformPopBinMethod</a>)  (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a> *data,
                                             <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> maxDataSize,
                                             <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> *dataSize,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);
<font>int</font>         (<a href="xmlsec-transforms.html#XMLSECTRANSFORMPUSHXMLMETHOD">*xmlSecTransformPushXmlMethod</a>) (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSetPtr</a> nodes,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);
<font>int</font>         (<a href="xmlsec-transforms.html#XMLSECTRANSFORMPOPXMLMETHOD">*xmlSecTransformPopXmlMethod</a>)  (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSetPtr</a> *nodes,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);
<font>int</font>         (<a href="xmlsec-transforms.html#XMLSECTRANSFORMEXECUTEMETHOD">*xmlSecTransformExecuteMethod</a>) (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <font>int</font> last,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);
struct      <a href="xmlsec-transforms.html#XMLSECTRANSFORMKLASS">xmlSecTransformKlass</a>;
#define     <a href="xmlsec-transforms.html#XMLSECTRANSFORMKLASSGETNAME">xmlSecTransformKlassGetName</a>     (klass)
#define     <a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTID">xmlSecTransformIdListId</a>
<font>xmlSecPtrListId</font> <a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTGETKLASS">xmlSecTransformIdListGetKlass</a>
                                            (void);
<font>int</font>         <a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTFIND">xmlSecTransformIdListFind</a>       (<a href="xmlsec-list.html#XMLSECPTRLIST">xmlSecPtrListPtr</a> list,
                                             <font>xmlSecTransformId</font> transformId);
<font>xmlSecTransformId</font> <a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTFINDBYHREF">xmlSecTransformIdListFindByHref</a>
                                            (<a href="xmlsec-list.html#XMLSECPTRLIST">xmlSecPtrListPtr</a> list,
                                             const <font>xmlChar</font> *href,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE">xmlSecTransformUsage</a> usage);
<font>xmlSecTransformId</font> <a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTFINDBYNAME">xmlSecTransformIdListFindByName</a>
                                            (<a href="xmlsec-list.html#XMLSECPTRLIST">xmlSecPtrListPtr</a> list,
                                             const <font>xmlChar</font> *name,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE">xmlSecTransformUsage</a> usage);
<font>void</font>        <a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTDEBUGDUMP">xmlSecTransformIdListDebugDump</a>  (<a href="xmlsec-list.html#XMLSECPTRLIST">xmlSecPtrListPtr</a> list,
                                             <font>FILE</font> *output);
<font>void</font>        <a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTDEBUGXMLDUMP">xmlSecTransformIdListDebugXmlDump</a>
                                            (<a href="xmlsec-list.html#XMLSECPTRLIST">xmlSecPtrListPtr</a> list,
                                             <font>FILE</font> *output);
#define     <a href="xmlsec-transforms.html#XMLSECTRANSFORMIDUNKNOWN">xmlSecTransformIdUnknown</a>
#define     <a href="xmlsec-transforms.html#XMLSECTRANSFORMBASE64ID">xmlSecTransformBase64Id</a>
<font>xmlSecTransformId</font> <a href="xmlsec-transforms.html#XMLSECTRANSFORMBASE64GETKLASS">xmlSecTransformBase64GetKlass</a>
                                            (void);
<font>void</font>        <a href="xmlsec-transforms.html#XMLSECTRANSFORMBASE64SETLINESIZE">xmlSecTransformBase64SetLineSize</a>
                                            (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> lineSize);
#define     <a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14NID">xmlSecTransformInclC14NId</a>
<font>xmlSecTransformId</font> <a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14NGETKLASS">xmlSecTransformInclC14NGetKlass</a>
                                            (void);
#define     <a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14NWITHCOMMENTSID">xmlSecTransformInclC14NWithCommentsId</a>
<font>xmlSecTransformId</font> <a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14NWITHCOMMENTSGETKLASS">xmlSecTransformInclC14NWithCommentsGetKlass</a>
                                            (void);
#define     <a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14N11ID">xmlSecTransformInclC14N11Id</a>
<font>xmlSecTransformId</font> <a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14N11GETKLASS">xmlSecTransformInclC14N11GetKlass</a>
                                            (void);
#define     <a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14N11WITHCOMMENTSID">xmlSecTransformInclC14N11WithCommentsId</a>
<font>xmlSecTransformId</font> <a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14N11WITHCOMMENTSGETKLASS">xmlSecTransformInclC14N11WithCommentsGetKlass</a>
                                            (void);
#define     <a href="xmlsec-transforms.html#XMLSECTRANSFORMEXCLC14NID">xmlSecTransformExclC14NId</a>
<font>xmlSecTransformId</font> <a href="xmlsec-transforms.html#XMLSECTRANSFORMEXCLC14NGETKLASS">xmlSecTransformExclC14NGetKlass</a>
                                            (void);
#define     <a href="xmlsec-transforms.html#XMLSECTRANSFORMEXCLC14NWITHCOMMENTSID">xmlSecTransformExclC14NWithCommentsId</a>
<font>xmlSecTransformId</font> <a href="xmlsec-transforms.html#XMLSECTRANSFORMEXCLC14NWITHCOMMENTSGETKLASS">xmlSecTransformExclC14NWithCommentsGetKlass</a>
                                            (void);
#define     <a href="xmlsec-transforms.html#XMLSECTRANSFORMENVELOPEDID">xmlSecTransformEnvelopedId</a>
<font>xmlSecTransformId</font> <a href="xmlsec-transforms.html#XMLSECTRANSFORMENVELOPEDGETKLASS">xmlSecTransformEnvelopedGetKlass</a>
                                            (void);
#define     <a href="xmlsec-transforms.html#XMLSECTRANSFORMXPATHID">xmlSecTransformXPathId</a>
<font>xmlSecTransformId</font> <a href="xmlsec-transforms.html#XMLSECTRANSFORMXPATHGETKLASS">xmlSecTransformXPathGetKlass</a>
                                            (void);
#define     <a href="xmlsec-transforms.html#XMLSECTRANSFORMXPATH2ID">xmlSecTransformXPath2Id</a>
<font>xmlSecTransformId</font> <a href="xmlsec-transforms.html#XMLSECTRANSFORMXPATH2GETKLASS">xmlSecTransformXPath2GetKlass</a>
                                            (void);
#define     <a href="xmlsec-transforms.html#XMLSECTRANSFORMXPOINTERID">xmlSecTransformXPointerId</a>
<font>xmlSecTransformId</font> <a href="xmlsec-transforms.html#XMLSECTRANSFORMXPOINTERGETKLASS">xmlSecTransformXPointerGetKlass</a>
                                            (void);
<font>int</font>         <a href="xmlsec-transforms.html#XMLSECTRANSFORMXPOINTERSETEXPR">xmlSecTransformXPointerSetExpr</a>  (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             const <font>xmlChar</font> *expr,
                                             <a href="xmlsec-nodeset.html#XMLSECNODESETTYPE">xmlSecNodeSetType</a> nodeSetType,
                                             <font>xmlNodePtr</font> hereNode);
#define     <a href="xmlsec-transforms.html#XMLSECTRANSFORMXSLTID">xmlSecTransformXsltId</a>
<font>xmlSecTransformId</font> <a href="xmlsec-transforms.html#XMLSECTRANSFORMXSLTGETKLASS">xmlSecTransformXsltGetKlass</a>
                                            (void);
#define     <a href="xmlsec-transforms.html#XMLSECTRANSFORMREMOVEXMLTAGSC14NID">xmlSecTransformRemoveXmlTagsC14NId</a>
<font>xmlSecTransformId</font> <a href="xmlsec-transforms.html#XMLSECTRANSFORMREMOVEXMLTAGSC14NGETKLASS">xmlSecTransformRemoveXmlTagsC14NGetKlass</a>
                                            (void);
#define     <a href="xmlsec-transforms.html#XMLSECTRANSFORMVISA3DHACKID">xmlSecTransformVisa3DHackId</a>
<font>xmlSecTransformId</font> <a href="xmlsec-transforms.html#XMLSECTRANSFORMVISA3DHACKGETKLASS">xmlSecTransformVisa3DHackGetKlass</a>
                                            (void);
<font>int</font>         <a href="xmlsec-transforms.html#XMLSECTRANSFORMVISA3DHACKSETID">xmlSecTransformVisa3DHackSetID</a>  (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             const <font>xmlChar</font> *id);</pre>
</div>
<div class="REFSECT1">
<a name="AEN14762"></a><h2>Description</h2>
<p>Transform object definition.</p>
</div>
<div class="REFSECT1">
<a name="AEN14765"></a><h2>Details</h2>
<div class="REFSECT2">
<a name="AEN14767"></a><h3>
<a name="XMLSEC-TRANSFORM-BINARY-CHUNK-CAPS"></a>XMLSEC_TRANSFORM_BINARY_CHUNK</h3>
<pre class="PROGRAMLISTING">#define XMLSEC_TRANSFORM_BINARY_CHUNK			64</pre>
<p>The binary data chunks size. XMLSec processes binary data one chunk 
at a time. Changing this impacts xmlsec memory usage and performance.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN14775"></a><h3>
<a name="XMLSECTRANSFORMIDSGET"></a>xmlSecTransformIdsGet ()</h3>
<pre class="PROGRAMLISTING"><a href="xmlsec-list.html#XMLSECPTRLIST">xmlSecPtrListPtr</a> xmlSecTransformIdsGet      (void);</pre>
<p>Gets global registered transform klasses list.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN14785"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>the pointer to list of all registered transform klasses.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN14790"></a><h3>
<a name="XMLSECTRANSFORMIDSINIT"></a>xmlSecTransformIdsInit ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecTransformIdsInit          (void);</pre>
<p>Initializes the transform klasses. This function is called from the 
<a href="xmlsec-xmlsec.html#XMLSECINIT"><span class="TYPE">xmlSecInit</span></a> function and the application should not call it directly.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN14802"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value if an error occurs.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN14807"></a><h3>
<a name="XMLSECTRANSFORMIDSSHUTDOWN"></a>xmlSecTransformIdsShutdown ()</h3>
<pre class="PROGRAMLISTING"><font>void</font>        xmlSecTransformIdsShutdown      (void);</pre>
<p>Shuts down the keys data klasses. This function is called from the 
<a href="xmlsec-xmlsec.html#XMLSECSHUTDOWN"><span class="TYPE">xmlSecShutdown</span></a> function and the application should not call it directly.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN14818"></a><h3>
<a name="XMLSECTRANSFORMIDSREGISTERDEFAULT"></a>xmlSecTransformIdsRegisterDefault ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecTransformIdsRegisterDefault
                                            (void);</pre>
<p>Registers default (implemented by XML Security Library)
transform klasses: XPath transform, Base64 transform, ...</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN14828"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value if an error occurs.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN14833"></a><h3>
<a name="XMLSECTRANSFORMIDSREGISTER"></a>xmlSecTransformIdsRegister ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecTransformIdsRegister      (<font>xmlSecTransformId</font> id);</pre>
<p>Registers <var class="PARAMETER">id</var> in the global list of transform klasses.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN14845"><span style="white-space: nowrap"><var class="PARAMETER">id</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>			the transform klass.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN14850"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN14855"></a><h3>
<a name="XMLSECTRANSFORMSTATUS"></a>enum xmlSecTransformStatus</h3>
<pre class="PROGRAMLISTING">typedef enum  {
    xmlSecTransformStatusNone = 0,
    xmlSecTransformStatusWorking,
    xmlSecTransformStatusFinished,
    xmlSecTransformStatusOk,
    xmlSecTransformStatusFail
} xmlSecTransformStatus;</pre>
<p>The transform execution status.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN14864"><span style="white-space: nowrap"><var class="LITERAL">xmlSecTransformStatusNone</var></span></a></td>
<td align="LEFT" valign="TOP"><p> 		the status unknown.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN14869"><span style="white-space: nowrap"><var class="LITERAL">xmlSecTransformStatusWorking</var></span></a></td>
<td align="LEFT" valign="TOP"><p> 	the transform is executed.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN14874"><span style="white-space: nowrap"><var class="LITERAL">xmlSecTransformStatusFinished</var></span></a></td>
<td align="LEFT" valign="TOP"><p> 	the transform finished</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN14879"><span style="white-space: nowrap"><var class="LITERAL">xmlSecTransformStatusOk</var></span></a></td>
<td align="LEFT" valign="TOP"><p> 		the transform succeeded.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN14884"><span style="white-space: nowrap"><var class="LITERAL">xmlSecTransformStatusFail</var></span></a></td>
<td align="LEFT" valign="TOP"><p> 		the transform failed (an error occur).</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN14889"></a><h3>
<a name="XMLSECTRANSFORMMODE"></a>enum xmlSecTransformMode</h3>
<pre class="PROGRAMLISTING">typedef enum  {
    xmlSecTransformModeNone = 0,
    xmlSecTransformModePush,
    xmlSecTransformModePop
} xmlSecTransformMode;</pre>
<p>The transform operation mode</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN14898"><span style="white-space: nowrap"><var class="LITERAL">xmlSecTransformModeNone</var></span></a></td>
<td align="LEFT" valign="TOP"><p> 		the mode is unknown.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN14903"><span style="white-space: nowrap"><var class="LITERAL">xmlSecTransformModePush</var></span></a></td>
<td align="LEFT" valign="TOP"><p> 		pushing data thru transform. </p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN14908"><span style="white-space: nowrap"><var class="LITERAL">xmlSecTransformModePop</var></span></a></td>
<td align="LEFT" valign="TOP"><p> 		popping data from transform.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN14913"></a><h3>
<a name="XMLSECTRANSFORMOPERATION"></a>enum xmlSecTransformOperation</h3>
<pre class="PROGRAMLISTING">typedef enum  {
    xmlSecTransformOperationNone = 0,
    xmlSecTransformOperationEncode,
    xmlSecTransformOperationDecode,
    xmlSecTransformOperationSign,
    xmlSecTransformOperationVerify,
    xmlSecTransformOperationEncrypt,
    xmlSecTransformOperationDecrypt
} xmlSecTransformOperation;</pre>
<p>The transform operation.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN14922"><span style="white-space: nowrap"><var class="LITERAL">xmlSecTransformOperationNone</var></span></a></td>
<td align="LEFT" valign="TOP"><p>	the operation is unknown.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN14927"><span style="white-space: nowrap"><var class="LITERAL">xmlSecTransformOperationEncode</var></span></a></td>
<td align="LEFT" valign="TOP"><p>	the encode operation (for base64 transform).	</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN14932"><span style="white-space: nowrap"><var class="LITERAL">xmlSecTransformOperationDecode</var></span></a></td>
<td align="LEFT" valign="TOP"><p>	the decode operation (for base64 transform).</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN14937"><span style="white-space: nowrap"><var class="LITERAL">xmlSecTransformOperationSign</var></span></a></td>
<td align="LEFT" valign="TOP"><p>	the sign or digest operation.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN14942"><span style="white-space: nowrap"><var class="LITERAL">xmlSecTransformOperationVerify</var></span></a></td>
<td align="LEFT" valign="TOP"><p>	the verification of signature or digest operation.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN14947"><span style="white-space: nowrap"><var class="LITERAL">xmlSecTransformOperationEncrypt</var></span></a></td>
<td align="LEFT" valign="TOP"><p>	the encryption operation.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN14952"><span style="white-space: nowrap"><var class="LITERAL">xmlSecTransformOperationDecrypt</var></span></a></td>
<td align="LEFT" valign="TOP"><p>	the decryption operation.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN14957"></a><h3>
<a name="XMLSECTRANSFORMURITYPE"></a>xmlSecTransformUriType</h3>
<pre class="PROGRAMLISTING">typedef unsigned int				xmlSecTransformUriType;</pre>
<p>URI transform type bit mask.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN14965"></a><h3>
<a name="XMLSECTRANSFORMURITYPENONE"></a>xmlSecTransformUriTypeNone</h3>
<pre class="PROGRAMLISTING">#define xmlSecTransformUriTypeNone		0x0000</pre>
<p>The URI type is unknown or not set.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN14973"></a><h3>
<a name="XMLSECTRANSFORMURITYPEEMPTY"></a>xmlSecTransformUriTypeEmpty</h3>
<pre class="PROGRAMLISTING">#define xmlSecTransformUriTypeEmpty		0x0001</pre>
<p>The empty URI ("") type.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN14981"></a><h3>
<a name="XMLSECTRANSFORMURITYPESAMEDOCUMENT"></a>xmlSecTransformUriTypeSameDocument</h3>
<pre class="PROGRAMLISTING">#define xmlSecTransformUriTypeSameDocument	0x0002		</pre>
<p>The smae document ("#...") but not empty ("") URI type.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN14989"></a><h3>
<a name="XMLSECTRANSFORMURITYPELOCAL"></a>xmlSecTransformUriTypeLocal</h3>
<pre class="PROGRAMLISTING">#define xmlSecTransformUriTypeLocal		0x0004</pre>
<p>The local URI ("file:///....") type.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN14997"></a><h3>
<a name="XMLSECTRANSFORMURITYPEREMOTE"></a>xmlSecTransformUriTypeRemote</h3>
<pre class="PROGRAMLISTING">#define xmlSecTransformUriTypeRemote		0x0008</pre>
<p>The remote URI type.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN15005"></a><h3>
<a name="XMLSECTRANSFORMURITYPEANY"></a>xmlSecTransformUriTypeAny</h3>
<pre class="PROGRAMLISTING">#define xmlSecTransformUriTypeAny		0xFFFF</pre>
<p>Any URI type.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN15013"></a><h3>
<a name="XMLSECTRANSFORMURITYPECHECK"></a>xmlSecTransformUriTypeCheck ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecTransformUriTypeCheck     (<a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPE">xmlSecTransformUriType</a> type,
                                             const <font>xmlChar</font> *uri);</pre>
<p>Checks if <var class="PARAMETER">uri</var> matches expected type <var class="PARAMETER">type</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15027"><span style="white-space: nowrap"><var class="PARAMETER">type</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the expected URI type.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15032"><span style="white-space: nowrap"><var class="PARAMETER">uri</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the uri for checking.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15037"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>1 if <var class="PARAMETER">uri</var> matches <var class="PARAMETER">type</var>, 0 if not or a negative value
if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN15044"></a><h3>
<a name="XMLSECTRANSFORMDATATYPE"></a>xmlSecTransformDataType</h3>
<pre class="PROGRAMLISTING">typedef xmlSecByte				xmlSecTransformDataType;</pre>
<p>Transform data type bit mask.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN15052"></a><h3>
<a name="XMLSECTRANSFORMDATATYPEUNKNOWN"></a>xmlSecTransformDataTypeUnknown</h3>
<pre class="PROGRAMLISTING">#define xmlSecTransformDataTypeUnknown		0x0000</pre>
<p>The transform data type is unknown or nor data expected.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN15060"></a><h3>
<a name="XMLSECTRANSFORMDATATYPEBIN"></a>xmlSecTransformDataTypeBin</h3>
<pre class="PROGRAMLISTING">#define xmlSecTransformDataTypeBin		0x0001</pre>
<p>The binary transform data.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN15068"></a><h3>
<a name="XMLSECTRANSFORMDATATYPEXML"></a>xmlSecTransformDataTypeXml</h3>
<pre class="PROGRAMLISTING">#define xmlSecTransformDataTypeXml		0x0002</pre>
<p>The xml transform data.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN15076"></a><h3>
<a name="XMLSECTRANSFORMUSAGE"></a>xmlSecTransformUsage</h3>
<pre class="PROGRAMLISTING">typedef unsigned int				xmlSecTransformUsage;</pre>
<p>The transform usage bit mask.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN15084"></a><h3>
<a name="XMLSECTRANSFORMUSAGEUNKNOWN"></a>xmlSecTransformUsageUnknown</h3>
<pre class="PROGRAMLISTING">#define xmlSecTransformUsageUnknown		0x0000</pre>
<p>Transforms usage is unknown or undefined.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN15092"></a><h3>
<a name="XMLSECTRANSFORMUSAGEDSIGTRANSFORM"></a>xmlSecTransformUsageDSigTransform</h3>
<pre class="PROGRAMLISTING">#define xmlSecTransformUsageDSigTransform	0x0001</pre>
<p>Transform could be used in &lt;dsig:Transform&gt;.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN15100"></a><h3>
<a name="XMLSECTRANSFORMUSAGEC14NMETHOD"></a>xmlSecTransformUsageC14NMethod</h3>
<pre class="PROGRAMLISTING">#define xmlSecTransformUsageC14NMethod		0x0002</pre>
<p>Transform could be used in &lt;dsig:CanonicalizationMethod&gt;.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN15108"></a><h3>
<a name="XMLSECTRANSFORMUSAGEDIGESTMETHOD"></a>xmlSecTransformUsageDigestMethod</h3>
<pre class="PROGRAMLISTING">#define xmlSecTransformUsageDigestMethod	0x0004</pre>
<p>Transform could be used in &lt;dsig:DigestMethod&gt;.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN15116"></a><h3>
<a name="XMLSECTRANSFORMUSAGESIGNATUREMETHOD"></a>xmlSecTransformUsageSignatureMethod</h3>
<pre class="PROGRAMLISTING">#define xmlSecTransformUsageSignatureMethod	0x0008</pre>
<p>Transform could be used in &lt;dsig:SignatureMethod&gt;.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN15124"></a><h3>
<a name="XMLSECTRANSFORMUSAGEENCRYPTIONMETHOD"></a>xmlSecTransformUsageEncryptionMethod</h3>
<pre class="PROGRAMLISTING">#define xmlSecTransformUsageEncryptionMethod	0x0010</pre>
<p>Transform could be used in &lt;enc:EncryptionMethod&gt;.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN15132"></a><h3>
<a name="XMLSECTRANSFORMUSAGEANY"></a>xmlSecTransformUsageAny</h3>
<pre class="PROGRAMLISTING">#define xmlSecTransformUsageAny			0xFFFF</pre>
<p>Transform could be used for operation.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN15140"></a><h3>
<a name="XMLSECTRANSFORMCTXPREEXECUTECALLBACK"></a>xmlSecTransformCtxPreExecuteCallback ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         (*xmlSecTransformCtxPreExecuteCallback)
                                            (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);</pre>
<p>The callback called after creating transforms chain but before
starting data processing. Application can use this callback to
do additional transforms chain verification or modification and
aborting transforms execution (if necessary).</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15151"><span style="white-space: nowrap"><var class="PARAMETER">transformCtx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>	the pointer to transform's context. </p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15156"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success and a negative value otherwise (in this case,
transforms chain will not be executed and xmlsec processing stops).</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN15161"></a><h3>
<a name="XMLSEC-TRANSFORMCTX-FLAGS-USE-VISA3D-HACK-CAPS"></a>XMLSEC_TRANSFORMCTX_FLAGS_USE_VISA3D_HACK</h3>
<pre class="PROGRAMLISTING">#define XMLSEC_TRANSFORMCTX_FLAGS_USE_VISA3D_HACK		0x00000001</pre>
<p>If this flag is set then URI ID references are resolved directly
without using XPointers. This allows one to sign/verify Visa3D
documents that don't follow XML, XPointer and XML DSig specifications.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN15169"></a><h3>
<a name="XMLSECTRANSFORMCTX"></a>struct xmlSecTransformCtx</h3>
<pre class="PROGRAMLISTING">struct xmlSecTransformCtx {

    /* user settings */
    void*					userData;
    unsigned int				flags;
    unsigned int				flags2;
    xmlSecTransformUriType			enabledUris;
    xmlSecPtrList				enabledTransforms;
    xmlSecTransformCtxPreExecuteCallback	preExecCallback;
    
    /* results */
    xmlSecBufferPtr				result;
    xmlSecTransformStatus			status;
    xmlChar*					uri;
    xmlChar*					xptrExpr;
    xmlSecTransformPtr				first;
    xmlSecTransformPtr				last;

    /* for the future */
    void*					reserved0;
    void*					reserved1;
};</pre>
<p>The transform execution context.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15178"><span style="white-space: nowrap"><font>void</font> *<code class="STRUCTFIELD">userData</code></span></a></td>
<td align="LEFT" valign="TOP"><p> 		the pointer to user data (xmlsec and xmlsec-crypto never 
		touch this).</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15184"><span style="white-space: nowrap">unsigned <font>int</font> <code class="STRUCTFIELD">flags</code></span></a></td>
<td align="LEFT" valign="TOP"><p> 		the bit mask flags to control transforms execution 
		(reserved for the future).</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15190"><span style="white-space: nowrap">unsigned <font>int</font> <code class="STRUCTFIELD">flags2</code></span></a></td>
<td align="LEFT" valign="TOP"><p> 		the bit mask flags to control transforms execution 
			(reserved for the future).</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15196"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPE">xmlSecTransformUriType</a> <code class="STRUCTFIELD">enabledUris</code></span></a></td>
<td align="LEFT" valign="TOP"><p> 	the allowed transform data source uri types.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15202"><span style="white-space: nowrap"><a href="xmlsec-list.html#XMLSECPTRLIST">xmlSecPtrList</a> <code class="STRUCTFIELD">enabledTransforms</code></span></a></td>
<td align="LEFT" valign="TOP"><p> 	the list of enabled transforms; if list is empty (default)
		then all registered transforms are enabled.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15208"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXPREEXECUTECALLBACK">xmlSecTransformCtxPreExecuteCallback</a> <code class="STRUCTFIELD">preExecCallback</code></span></a></td>
<td align="LEFT" valign="TOP"><p>	the callback called after preparing transform chain
		and right before actual data processing; application
		can use this callback to change transforms parameters,
		insert additional transforms in the chain or do
		additional validation (and abort transform execution 
		if needed).</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15214"><span style="white-space: nowrap"><a href="xmlsec-buffer.html#XMLSECBUFFER">xmlSecBufferPtr</a> <code class="STRUCTFIELD">result</code></span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transforms result buffer.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15220"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMSTATUS">xmlSecTransformStatus</a> <code class="STRUCTFIELD">status</code></span></a></td>
<td align="LEFT" valign="TOP"><p>		the transforms chain processng status.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15226"><span style="white-space: nowrap"><font>xmlChar</font> *<code class="STRUCTFIELD">uri</code></span></a></td>
<td align="LEFT" valign="TOP"><p>		the data source URI without xpointer expression.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15232"><span style="white-space: nowrap"><font>xmlChar</font> *<code class="STRUCTFIELD">xptrExpr</code></span></a></td>
<td align="LEFT" valign="TOP"><p>		the xpointer expression from data source URI (if any).</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15238"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> <code class="STRUCTFIELD">first</code></span></a></td>
<td align="LEFT" valign="TOP"><p>		the first transform in the chain.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15244"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> <code class="STRUCTFIELD">last</code></span></a></td>
<td align="LEFT" valign="TOP"><p>		the last transform in the chain.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15250"><span style="white-space: nowrap"><font>void</font> *<code class="STRUCTFIELD">reserved0</code></span></a></td>
<td align="LEFT" valign="TOP"><p>		reserved for the future.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15256"><span style="white-space: nowrap"><font>void</font> *<code class="STRUCTFIELD">reserved1</code></span></a></td>
<td align="LEFT" valign="TOP"><p>		reserved for the future.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN15262"></a><h3>
<a name="XMLSECTRANSFORMCTXCREATE"></a>xmlSecTransformCtxCreate ()</h3>
<pre class="PROGRAMLISTING"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> xmlSecTransformCtxCreate
                                            (void);</pre>
<p>Creates transforms chain processing context.
The caller is responsible for destroying returend object by calling 
<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXDESTROY"><span class="TYPE">xmlSecTransformCtxDestroy</span></a> function.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN15274"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>pointer to newly allocated context object or NULL if an error
occurs.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN15279"></a><h3>
<a name="XMLSECTRANSFORMCTXDESTROY"></a>xmlSecTransformCtxDestroy ()</h3>
<pre class="PROGRAMLISTING"><font>void</font>        xmlSecTransformCtxDestroy       (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> ctx);</pre>
<p>Destroy context object created with <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXCREATE"><span class="TYPE">xmlSecTransformCtxCreate</span></a> function.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN15292"><span style="white-space: nowrap"><var class="PARAMETER">ctx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transforms chain processing context.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN15297"></a><h3>
<a name="XMLSECTRANSFORMCTXINITIALIZE"></a>xmlSecTransformCtxInitialize ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecTransformCtxInitialize    (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> ctx);</pre>
<p>Initializes transforms chain processing context.
The caller is responsible for cleaing up returend object by calling 
<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXFINALIZE"><span class="TYPE">xmlSecTransformCtxFinalize</span></a> function.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15310"><span style="white-space: nowrap"><var class="PARAMETER">ctx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transforms chain processing context.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15315"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN15320"></a><h3>
<a name="XMLSECTRANSFORMCTXFINALIZE"></a>xmlSecTransformCtxFinalize ()</h3>
<pre class="PROGRAMLISTING"><font>void</font>        xmlSecTransformCtxFinalize      (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> ctx);</pre>
<p>Cleans up <var class="PARAMETER">ctx</var> object initialized with <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXINITIALIZE"><span class="TYPE">xmlSecTransformCtxInitialize</span></a> function.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN15334"><span style="white-space: nowrap"><var class="PARAMETER">ctx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transforms chain processing context.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN15339"></a><h3>
<a name="XMLSECTRANSFORMCTXRESET"></a>xmlSecTransformCtxReset ()</h3>
<pre class="PROGRAMLISTING"><font>void</font>        xmlSecTransformCtxReset         (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> ctx);</pre>
<p>Resets transfroms context for new processing.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN15350"><span style="white-space: nowrap"><var class="PARAMETER">ctx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transforms chain processing context.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN15355"></a><h3>
<a name="XMLSECTRANSFORMCTXCOPYUSERPREF"></a>xmlSecTransformCtxCopyUserPref ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecTransformCtxCopyUserPref  (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> dst,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> src);</pre>
<p>Copies user settings from <var class="PARAMETER">src</var> context to <var class="PARAMETER">dst</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15369"><span style="white-space: nowrap"><var class="PARAMETER">dst</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to destination transforms chain processing context.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15374"><span style="white-space: nowrap"><var class="PARAMETER">src</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to source transforms chain processing context.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15379"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value otherwise.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN15384"></a><h3>
<a name="XMLSECTRANSFORMCTXSETURI"></a>xmlSecTransformCtxSetUri ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecTransformCtxSetUri        (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> ctx,
                                             const <font>xmlChar</font> *uri,
                                             <font>xmlNodePtr</font> hereNode);</pre>
<p>Parses uri and adds xpointer transforms if required.</p>
<p>The following examples demonstrate what the URI attribute identifies and
how it is dereferenced 
(http://www.w3.org/TR/xmldsig-core/<font><span class="TYPE">sec-ReferenceProcessingModel</span></font>):</p>
<p>- URI="http://example.com/bar.xml"
identifies the octets that represent the external resource 
'http://example.com/bar.xml', that is probably an XML document given 
its file extension. </p>
<p>- URI="http://example.com/bar.xml<font><span class="TYPE">chapter1</span></font>"
identifies the element with ID attribute value 'chapter1' of the 
external XML resource 'http://example.com/bar.xml', provided as an 
octet stream. Again, for the sake of interoperability, the element 
identified as 'chapter1' should be obtained using an XPath transform 
rather than a URI fragment (barename XPointer resolution in external 
resources is not REQUIRED in this specification). </p>
<p>- URI=""
identifies the node-set (minus any comment nodes) of the XML resource 
containing the signature </p>
<p>- URI="<font><span class="TYPE">chapter1</span></font>"
identifies a node-set containing the element with ID attribute value 
'chapter1' of the XML resource containing the signature. XML Signature 
(and its applications) modify this node-set to include the element plus 
all descendents including namespaces and attributes -- but not comments.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15408"><span style="white-space: nowrap"><var class="PARAMETER">ctx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transforms chain processing context.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15413"><span style="white-space: nowrap"><var class="PARAMETER">uri</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the URI.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15418"><span style="white-space: nowrap"><var class="PARAMETER">hereNode</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to "here" node required by some 
		XML transforms (may be NULL).</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15423"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value otherwise.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN15428"></a><h3>
<a name="XMLSECTRANSFORMCTXAPPEND"></a>xmlSecTransformCtxAppend ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecTransformCtxAppend        (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> ctx,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform);</pre>
<p>Connects the <var class="PARAMETER">transform</var> to the end of the chain of transforms in the <var class="PARAMETER">ctx</var> 
(see <a href="xmlsec-transforms.html#XMLSECTRANSFORMCONNECT"><span class="TYPE">xmlSecTransformConnect</span></a> function for details).</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15444"><span style="white-space: nowrap"><var class="PARAMETER">ctx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transforms chain processing context.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15449"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to new transform.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15454"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value otherwise.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN15459"></a><h3>
<a name="XMLSECTRANSFORMCTXPREPEND"></a>xmlSecTransformCtxPrepend ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecTransformCtxPrepend       (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> ctx,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform);</pre>
<p>Connects the <var class="PARAMETER">transform</var> to the beggining of the chain of transforms in the <var class="PARAMETER">ctx</var> 
(see <a href="xmlsec-transforms.html#XMLSECTRANSFORMCONNECT"><span class="TYPE">xmlSecTransformConnect</span></a> function for details).</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15475"><span style="white-space: nowrap"><var class="PARAMETER">ctx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transforms chain processing context.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15480"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to new transform.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15485"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value otherwise.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN15490"></a><h3>
<a name="XMLSECTRANSFORMCTXCREATEANDAPPEND"></a>xmlSecTransformCtxCreateAndAppend ()</h3>
<pre class="PROGRAMLISTING"><a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> xmlSecTransformCtxCreateAndAppend
                                            (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> ctx,
                                             <font>xmlSecTransformId</font> id);</pre>
<p>Creaeates new transform and connects it to the end of the chain of 
transforms in the <var class="PARAMETER">ctx</var> (see <a href="xmlsec-transforms.html#XMLSECTRANSFORMCONNECT"><span class="TYPE">xmlSecTransformConnect</span></a> function for details).</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15505"><span style="white-space: nowrap"><var class="PARAMETER">ctx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transforms chain processing context.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15510"><span style="white-space: nowrap"><var class="PARAMETER">id</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>			the new transform klass.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15515"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>pointer to newly created transform or NULL if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN15520"></a><h3>
<a name="XMLSECTRANSFORMCTXCREATEANDPREPEND"></a>xmlSecTransformCtxCreateAndPrepend ()</h3>
<pre class="PROGRAMLISTING"><a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> xmlSecTransformCtxCreateAndPrepend
                                            (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> ctx,
                                             <font>xmlSecTransformId</font> id);</pre>
<p>Creaeates new transform and connects it to the end of the chain of 
transforms in the <var class="PARAMETER">ctx</var> (see <a href="xmlsec-transforms.html#XMLSECTRANSFORMCONNECT"><span class="TYPE">xmlSecTransformConnect</span></a> function for details).</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15535"><span style="white-space: nowrap"><var class="PARAMETER">ctx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transforms chain processing context.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15540"><span style="white-space: nowrap"><var class="PARAMETER">id</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>			the new transform klass.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15545"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>pointer to newly created transform or NULL if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN15550"></a><h3>
<a name="XMLSECTRANSFORMCTXNODEREAD"></a>xmlSecTransformCtxNodeRead ()</h3>
<pre class="PROGRAMLISTING"><a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> xmlSecTransformCtxNodeRead
                                            (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> ctx,
                                             <font>xmlNodePtr</font> node,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE">xmlSecTransformUsage</a> usage);</pre>
<p>Reads the transform from the <var class="PARAMETER">node</var> and appends it to the current chain 
of transforms in <var class="PARAMETER">ctx</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15565"><span style="white-space: nowrap"><var class="PARAMETER">ctx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transforms chain processing context.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15570"><span style="white-space: nowrap"><var class="PARAMETER">node</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transform's node.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15575"><span style="white-space: nowrap"><var class="PARAMETER">usage</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the transform's usage (signature, encryption, etc.).</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15580"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>pointer to newly created transform or NULL if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN15585"></a><h3>
<a name="XMLSECTRANSFORMCTXNODESLISTREAD"></a>xmlSecTransformCtxNodesListRead ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecTransformCtxNodesListRead (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> ctx,
                                             <font>xmlNodePtr</font> node,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE">xmlSecTransformUsage</a> usage);</pre>
<p>Reads transforms from the <a href="http://www.w3.org/TR/xmldsig-core/#sec-Transform" target="_top">&lt;dsig:Transform/&gt;</a> children of the <var class="PARAMETER">node</var> and 
appends them to the current transforms chain in <var class="PARAMETER">ctx</var> object.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15601"><span style="white-space: nowrap"><var class="PARAMETER">ctx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transforms chain processing context.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15606"><span style="white-space: nowrap"><var class="PARAMETER">node</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Transform" target="_top">&lt;dsig:Transform/&gt;</a> nodes parent node.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15612"><span style="white-space: nowrap"><var class="PARAMETER">usage</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the transform's usage (signature, encryption, etc.).</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15617"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value otherwise.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN15622"></a><h3>
<a name="XMLSECTRANSFORMCTXPREPARE"></a>xmlSecTransformCtxPrepare ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecTransformCtxPrepare       (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> ctx,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE">xmlSecTransformDataType</a> inputDataType);</pre>
<p>Prepares the transform context for processing data of <var class="PARAMETER">inputDataType</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15635"><span style="white-space: nowrap"><var class="PARAMETER">ctx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transforms chain processing context.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15640"><span style="white-space: nowrap"><var class="PARAMETER">inputDataType</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>	the expected input type.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15645"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value otherwise.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN15650"></a><h3>
<a name="XMLSECTRANSFORMCTXBINARYEXECUTE"></a>xmlSecTransformCtxBinaryExecute ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecTransformCtxBinaryExecute (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> ctx,
                                             const <a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a> *data,
                                             <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> dataSize);</pre>
<p>Processes binary data using transforms chain in the <var class="PARAMETER">ctx</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15664"><span style="white-space: nowrap"><var class="PARAMETER">ctx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transforms chain processing context.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15669"><span style="white-space: nowrap"><var class="PARAMETER">data</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the input binary data buffer.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15674"><span style="white-space: nowrap"><var class="PARAMETER">dataSize</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the input data size.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15679"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value otherwise.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN15684"></a><h3>
<a name="XMLSECTRANSFORMCTXURIEXECUTE"></a>xmlSecTransformCtxUriExecute ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecTransformCtxUriExecute    (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> ctx,
                                             const <font>xmlChar</font> *uri);</pre>
<p>Process binary data from the URI using transforms chain in <var class="PARAMETER">ctx</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15697"><span style="white-space: nowrap"><var class="PARAMETER">ctx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transforms chain processing context.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15702"><span style="white-space: nowrap"><var class="PARAMETER">uri</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the URI.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15707"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value otherwise.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN15712"></a><h3>
<a name="XMLSECTRANSFORMCTXXMLEXECUTE"></a>xmlSecTransformCtxXmlExecute ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecTransformCtxXmlExecute    (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> ctx,
                                             <a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSetPtr</a> nodes);</pre>
<p>Process <var class="PARAMETER">nodes</var> using transforms in the transforms chain in <var class="PARAMETER">ctx</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15726"><span style="white-space: nowrap"><var class="PARAMETER">ctx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transforms chain processing context.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15731"><span style="white-space: nowrap"><var class="PARAMETER">nodes</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the input node set.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15736"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value otherwise.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN15741"></a><h3>
<a name="XMLSECTRANSFORMCTXEXECUTE"></a>xmlSecTransformCtxExecute ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecTransformCtxExecute       (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> ctx,
                                             <font>xmlDocPtr</font> doc);</pre>
<p>Executes transforms chain in <var class="PARAMETER">ctx</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15754"><span style="white-space: nowrap"><var class="PARAMETER">ctx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transforms chain processing context.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15759"><span style="white-space: nowrap"><var class="PARAMETER">doc</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to input document.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15764"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value otherwise.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN15769"></a><h3>
<a name="XMLSECTRANSFORMCTXDEBUGDUMP"></a>xmlSecTransformCtxDebugDump ()</h3>
<pre class="PROGRAMLISTING"><font>void</font>        xmlSecTransformCtxDebugDump     (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> ctx,
                                             <font>FILE</font> *output);</pre>
<p>Prints transforms context debug information to <var class="PARAMETER">output</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15782"><span style="white-space: nowrap"><var class="PARAMETER">ctx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transforms chain processing context.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15787"><span style="white-space: nowrap"><var class="PARAMETER">output</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to output FILE.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN15792"></a><h3>
<a name="XMLSECTRANSFORMCTXDEBUGXMLDUMP"></a>xmlSecTransformCtxDebugXmlDump ()</h3>
<pre class="PROGRAMLISTING"><font>void</font>        xmlSecTransformCtxDebugXmlDump  (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> ctx,
                                             <font>FILE</font> *output);</pre>
<p>Prints transforms context debug information to <var class="PARAMETER">output</var> in XML format.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15805"><span style="white-space: nowrap"><var class="PARAMETER">ctx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transforms chain processing context.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15810"><span style="white-space: nowrap"><var class="PARAMETER">output</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to output FILE.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN15815"></a><h3>
<a name="XMLSECTRANSFORM"></a>struct xmlSecTransform</h3>
<pre class="PROGRAMLISTING">struct xmlSecTransform {

    xmlSecTransformId 			id; 
    xmlSecTransformOperation		operation;
    xmlSecTransformStatus		status;
    xmlNodePtr				hereNode;

    /* transforms chain */
    xmlSecTransformPtr			next;
    xmlSecTransformPtr			prev;

    /* binary data */
    xmlSecBuffer			inBuf;
    xmlSecBuffer			outBuf;
        
    /* xml data */
    xmlSecNodeSetPtr			inNodes;
    xmlSecNodeSetPtr			outNodes;

    /* reserved for the future */    
    void*				reserved0;
    void*				reserved1;
};</pre>
<p>The transform structure.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15824"><span style="white-space: nowrap"><font>xmlSecTransformId</font> <code class="STRUCTFIELD">id</code></span></a></td>
<td align="LEFT" valign="TOP"><p> 		the transform id (pointer to <font><span class="TYPE">xmlSecTransformId</span></font>).</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15832"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMOPERATION">xmlSecTransformOperation</a> <code class="STRUCTFIELD">operation</code></span></a></td>
<td align="LEFT" valign="TOP"><p>		the transform's opertaion.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15838"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMSTATUS">xmlSecTransformStatus</a> <code class="STRUCTFIELD">status</code></span></a></td>
<td align="LEFT" valign="TOP"><p> 		the current status.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15844"><span style="white-space: nowrap"><font>xmlNodePtr</font> <code class="STRUCTFIELD">hereNode</code></span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transform's <a href="http://www.w3.org/TR/xmldsig-core/#sec-Transform%20" target="_top">&lt;dsig:Transform /&gt;</a> node.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15851"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> <code class="STRUCTFIELD">next</code></span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to next transform in the chain.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15857"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> <code class="STRUCTFIELD">prev</code></span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to previous transform in the chain.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15863"><span style="white-space: nowrap"><a href="xmlsec-buffer.html#XMLSECBUFFER">xmlSecBuffer</a> <code class="STRUCTFIELD">inBuf</code></span></a></td>
<td align="LEFT" valign="TOP"><p>		the input binary data buffer.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15869"><span style="white-space: nowrap"><a href="xmlsec-buffer.html#XMLSECBUFFER">xmlSecBuffer</a> <code class="STRUCTFIELD">outBuf</code></span></a></td>
<td align="LEFT" valign="TOP"><p>		the output binary data buffer.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15875"><span style="white-space: nowrap"><a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSetPtr</a> <code class="STRUCTFIELD">inNodes</code></span></a></td>
<td align="LEFT" valign="TOP"><p>		the input XML nodes.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15881"><span style="white-space: nowrap"><a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSetPtr</a> <code class="STRUCTFIELD">outNodes</code></span></a></td>
<td align="LEFT" valign="TOP"><p> 		the output XML nodes.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15887"><span style="white-space: nowrap"><font>void</font> *<code class="STRUCTFIELD">reserved0</code></span></a></td>
<td align="LEFT" valign="TOP"><p>		reserved for the future.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15893"><span style="white-space: nowrap"><font>void</font> *<code class="STRUCTFIELD">reserved1</code></span></a></td>
<td align="LEFT" valign="TOP"><p>		reserved for the future.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN15899"></a><h3>
<a name="XMLSECTRANSFORMCREATE"></a>xmlSecTransformCreate ()</h3>
<pre class="PROGRAMLISTING"><a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> xmlSecTransformCreate    (<font>xmlSecTransformId</font> id);</pre>
<p>Creates new transform of the <var class="PARAMETER">id</var> klass. The caller is responsible for
destroying returned tansform using <a href="xmlsec-transforms.html#XMLSECTRANSFORMDESTROY"><span class="TYPE">xmlSecTransformDestroy</span></a> function.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15913"><span style="white-space: nowrap"><var class="PARAMETER">id</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p> 		the transform id to create.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15918"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>pointer to newly created transform or NULL if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN15923"></a><h3>
<a name="XMLSECTRANSFORMDESTROY"></a>xmlSecTransformDestroy ()</h3>
<pre class="PROGRAMLISTING"><font>void</font>        xmlSecTransformDestroy          (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform);</pre>
<p>Destroys transform created with <a href="xmlsec-transforms.html#XMLSECTRANSFORMCREATE"><span class="TYPE">xmlSecTransformCreate</span></a> function.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN15936"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p> 		the pointer to transform.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN15941"></a><h3>
<a name="XMLSECTRANSFORMNODEREAD"></a>xmlSecTransformNodeRead ()</h3>
<pre class="PROGRAMLISTING"><font>xmlSecTransformPtr</font> xmlSecTransformNodeRead  (<font>xmlNodePtr</font> node,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE">xmlSecTransformUsage</a> usage,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);</pre>
<p>Reads transform from the <var class="PARAMETER">node</var> as follows:</p>
<p>   1) reads "Algorithm" attribute;</p>
<p>   2) checks the lists of known and allowed transforms;</p>
<p>   3) calls transform's create method;</p>
<p>   4) calls transform's read transform node method.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15959"><span style="white-space: nowrap"><var class="PARAMETER">node</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p> 		the pointer to the transform's node.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15964"><span style="white-space: nowrap"><var class="PARAMETER">usage</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the transform usage (signature, encryption, ...).</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15969"><span style="white-space: nowrap"><var class="PARAMETER">transformCtx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>	the transform's chaing processing context.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15974"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>pointer to newly created transform or NULL if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN15979"></a><h3>
<a name="XMLSECTRANSFORMPUMP"></a>xmlSecTransformPump ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecTransformPump             (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> left,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> right,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);</pre>
<p>Pops data from <var class="PARAMETER">left</var> transform and pushes to <var class="PARAMETER">right</var> transform until
no more data is available.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15994"><span style="white-space: nowrap"><var class="PARAMETER">left</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the source pumping transform.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN15999"><span style="white-space: nowrap"><var class="PARAMETER">right</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the destination pumping transform.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16004"><span style="white-space: nowrap"><var class="PARAMETER">transformCtx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>	the transform's chaing processing context.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16009"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN16014"></a><h3>
<a name="XMLSECTRANSFORMSETKEY"></a>xmlSecTransformSetKey ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecTransformSetKey           (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key);</pre>
<p>Sets the transform's key.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16026"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p> 		the pointer to transform.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16031"><span style="white-space: nowrap"><var class="PARAMETER">key</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p> 		the pointer to key. </p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16036"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value otherwise.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN16041"></a><h3>
<a name="XMLSECTRANSFORMSETKEYREQ"></a>xmlSecTransformSetKeyReq ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecTransformSetKeyReq        (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> keyReq);</pre>
<p>Sets the key requirements for <var class="PARAMETER">transform</var> in the <var class="PARAMETER">keyReq</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16055"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p> 		the pointer to transform.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16060"><span style="white-space: nowrap"><var class="PARAMETER">keyReq</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p> 		the pointer to keys requirements object. </p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16065"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value otherwise.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN16070"></a><h3>
<a name="XMLSECTRANSFORMVERIFY"></a>xmlSecTransformVerify ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecTransformVerify           (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             const <a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a> *data,
                                             <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> dataSize,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);</pre>
<p>Verifies the data with transform's processing results
(for digest, HMAC and signature transforms). The verification
result is stored in the <font><span class="TYPE">status</span></font> member of <a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransform</span></a> object.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16088"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transform.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16093"><span style="white-space: nowrap"><var class="PARAMETER">data</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the binary data for verification.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16098"><span style="white-space: nowrap"><var class="PARAMETER">dataSize</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the data size.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16103"><span style="white-space: nowrap"><var class="PARAMETER">transformCtx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>	the transform's chaing processing context.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16108"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN16113"></a><h3>
<a name="XMLSECTRANSFORMVERIFYNODECONTENT"></a>xmlSecTransformVerifyNodeContent ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecTransformVerifyNodeContent
                                            (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <font>xmlNodePtr</font> node,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);</pre>
<p>Gets the <var class="PARAMETER">node</var> content, base64 decodes it and calls <a href="xmlsec-transforms.html#XMLSECTRANSFORMVERIFY"><span class="TYPE">xmlSecTransformVerify</span></a>
function to verify binary results.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16129"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transform.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16134"><span style="white-space: nowrap"><var class="PARAMETER">node</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to node.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16139"><span style="white-space: nowrap"><var class="PARAMETER">transformCtx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>	the transform's chaing processing context.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16144"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN16149"></a><h3>
<a name="XMLSECTRANSFORMGETDATATYPE"></a>xmlSecTransformGetDataType ()</h3>
<pre class="PROGRAMLISTING"><a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE">xmlSecTransformDataType</a> xmlSecTransformGetDataType
                                            (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMMODE">xmlSecTransformMode</a> mode,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);</pre>
<p>Gets transform input (<var class="PARAMETER">mode</var> is "push") or output (<var class="PARAMETER">mode</var> is "pop") data 
type (binary or XML).</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16164"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transform.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16169"><span style="white-space: nowrap"><var class="PARAMETER">mode</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the data mode (push or pop).</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16174"><span style="white-space: nowrap"><var class="PARAMETER">transformCtx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>	the transform's chaing processing context.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16179"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>the transform's data type for the <var class="PARAMETER">mode</var> operation.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN16185"></a><h3>
<a name="XMLSECTRANSFORMPUSHBIN"></a>xmlSecTransformPushBin ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecTransformPushBin          (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             const <a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a> *data,
                                             <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> dataSize,
                                             <font>int</font> final,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);</pre>
<p>Process binary <var class="PARAMETER">data</var> and pushes results to next transform.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16201"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transform object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16206"><span style="white-space: nowrap"><var class="PARAMETER">data</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the input binary data,</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16211"><span style="white-space: nowrap"><var class="PARAMETER">dataSize</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the input data size.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16216"><span style="white-space: nowrap"><var class="PARAMETER">final</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the flag: if set to 1 then it's the last
		data chunk.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16221"><span style="white-space: nowrap"><var class="PARAMETER">transformCtx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>	the pointer to transform context object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16226"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN16231"></a><h3>
<a name="XMLSECTRANSFORMPOPBIN"></a>xmlSecTransformPopBin ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecTransformPopBin           (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a> *data,
                                             <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> maxDataSize,
                                             <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> *dataSize,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);</pre>
<p>Pops data from previous transform in the chain, processes data and 
returns result in the <var class="PARAMETER">data</var> buffer. The size of returned data is 
placed in the <var class="PARAMETER">dataSize</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16248"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transform object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16253"><span style="white-space: nowrap"><var class="PARAMETER">data</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the buffer to store result data.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16258"><span style="white-space: nowrap"><var class="PARAMETER">maxDataSize</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>	the size of the buffer <font><span class="TYPE">data</span></font>.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16265"><span style="white-space: nowrap"><var class="PARAMETER">dataSize</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to returned data size.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16270"><span style="white-space: nowrap"><var class="PARAMETER">transformCtx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>	the pointer to transform context object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16275"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN16280"></a><h3>
<a name="XMLSECTRANSFORMPUSHXML"></a>xmlSecTransformPushXml ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecTransformPushXml          (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSetPtr</a> nodes,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);</pre>
<p>Processes <var class="PARAMETER">nodes</var> and pushes result to the next transform in the chain.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16294"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transform object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16299"><span style="white-space: nowrap"><var class="PARAMETER">nodes</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the input nodes.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16304"><span style="white-space: nowrap"><var class="PARAMETER">transformCtx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>	the pointer to transform context object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16309"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN16314"></a><h3>
<a name="XMLSECTRANSFORMPOPXML"></a>xmlSecTransformPopXml ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecTransformPopXml           (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSetPtr</a> *nodes,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);</pre>
<p>Pops data from previous transform in the chain, processes the data and 
returns result in <var class="PARAMETER">nodes</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16328"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transform object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16333"><span style="white-space: nowrap"><var class="PARAMETER">nodes</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to store popinter to result nodes.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16338"><span style="white-space: nowrap"><var class="PARAMETER">transformCtx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>	the pointer to transform context object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16343"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN16348"></a><h3>
<a name="XMLSECTRANSFORMEXECUTE"></a>xmlSecTransformExecute ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecTransformExecute          (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <font>int</font> last,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);</pre>
<p>Executes transform (used by default popBin/pushBin/popXml/pushXml methods).</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16361"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transform.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16366"><span style="white-space: nowrap"><var class="PARAMETER">last</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the flag: if set to 1 then it's the last data chunk.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16371"><span style="white-space: nowrap"><var class="PARAMETER">transformCtx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>	the transform's chaing processing context.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16376"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN16381"></a><h3>
<a name="XMLSECTRANSFORMDEBUGDUMP"></a>xmlSecTransformDebugDump ()</h3>
<pre class="PROGRAMLISTING"><font>void</font>        xmlSecTransformDebugDump        (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <font>FILE</font> *output);</pre>
<p>Prints transform's debug information to <var class="PARAMETER">output</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16394"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transform.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16399"><span style="white-space: nowrap"><var class="PARAMETER">output</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to output FILE.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN16404"></a><h3>
<a name="XMLSECTRANSFORMDEBUGXMLDUMP"></a>xmlSecTransformDebugXmlDump ()</h3>
<pre class="PROGRAMLISTING"><font>void</font>        xmlSecTransformDebugXmlDump     (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <font>FILE</font> *output);</pre>
<p>Prints transform's debug information to <var class="PARAMETER">output</var> in XML format.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16417"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transform.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16422"><span style="white-space: nowrap"><var class="PARAMETER">output</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to output FILE.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN16427"></a><h3>
<a name="XMLSECTRANSFORMGETNAME"></a>xmlSecTransformGetName()</h3>
<pre class="PROGRAMLISTING">#define     xmlSecTransformGetName(transform)</pre>
<p>Macro. Returns transform name.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN16436"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transform.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN16441"></a><h3>
<a name="XMLSECTRANSFORMISVALID"></a>xmlSecTransformIsValid()</h3>
<pre class="PROGRAMLISTING">#define     xmlSecTransformIsValid(transform)</pre>
<p>Macro. Returns 1 if the <var class="PARAMETER">transform</var> is valid or 0 otherwise.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN16451"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p> 		the pointer to transform.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN16456"></a><h3>
<a name="XMLSECTRANSFORMCHECKTYPE"></a>xmlSecTransformCheckType()</h3>
<pre class="PROGRAMLISTING">#define     xmlSecTransformCheckType(transform, t)</pre>
<p>Macro. Returns 1 if the <var class="PARAMETER">transform</var> is valid and has specified type <var class="PARAMETER">t</var> 
or 0 otherwise.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16467"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p> 		the pointer to transform.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16472"><span style="white-space: nowrap"><var class="PARAMETER">t</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p> 			the transform type.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN16477"></a><h3>
<a name="XMLSECTRANSFORMCHECKID"></a>xmlSecTransformCheckId()</h3>
<pre class="PROGRAMLISTING">#define     xmlSecTransformCheckId(transform, i)</pre>
<p>Macro. Returns 1 if the <var class="PARAMETER">transform</var> is valid and has specified id <var class="PARAMETER">i</var> 
or 0 otherwise.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16488"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transform.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16493"><span style="white-space: nowrap"><var class="PARAMETER">i</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>			the transform id.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN16498"></a><h3>
<a name="XMLSECTRANSFORMCHECKSIZE"></a>xmlSecTransformCheckSize()</h3>
<pre class="PROGRAMLISTING">#define     xmlSecTransformCheckSize(transform, size)</pre>
<p>Macro. Returns 1 if the <var class="PARAMETER">transform</var> is valid and has at least <var class="PARAMETER">size</var>
bytes or 0 otherwise.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16509"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p> 		the pointer to transform.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16514"><span style="white-space: nowrap"><var class="PARAMETER">size</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p> 		the transform object size.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN16519"></a><h3>
<a name="XMLSECTRANSFORMCONNECT"></a>xmlSecTransformConnect ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecTransformConnect          (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> left,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> right,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);</pre>
<p>If the data object is a node-set and the next transform requires octets, 
the signature application MUST attempt to convert the node-set to an octet 
stream using Canonical XML [XML-C14N].  </p>
<p>The story is different if the right transform is base64 decode
(http://www.w3.org/TR/xmldsig-core/<font><span class="TYPE">sec-Base-64</span></font>):</p>
<p>This transform requires an octet stream for input. If an XPath node-set 
(or sufficiently functional alternative) is given as input, then it is 
converted to an octet stream by performing operations logically equivalent 
to 1) applying an XPath transform with expression self::<font><code class="FUNCTION">text()</code></font>, then 2) 
taking the string-value of the node-set. Thus, if an XML element is 
identified by a barename XPointer in the Reference URI, and its content 
consists solely of base64 encoded character data, then this transform 
automatically strips away the start and end tags of the identified element 
and any of its descendant elements as well as any descendant comments and 
processing instructions. The output of this transform is an octet stream.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16538"><span style="white-space: nowrap"><var class="PARAMETER">left</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to left (prev) transform.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16543"><span style="white-space: nowrap"><var class="PARAMETER">right</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to right (next) transform.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16548"><span style="white-space: nowrap"><var class="PARAMETER">transformCtx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>	the transform's chaing processing context.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16553"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value if an error occurs. </p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN16558"></a><h3>
<a name="XMLSECTRANSFORMREMOVE"></a>xmlSecTransformRemove ()</h3>
<pre class="PROGRAMLISTING"><font>void</font>        xmlSecTransformRemove           (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform);</pre>
<p>Removes <var class="PARAMETER">transform</var> from the chain.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN16570"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to <a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransform</span></a> structure.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN16577"></a><h3>
<a name="XMLSECTRANSFORMDEFAULTGETDATATYPE"></a>xmlSecTransformDefaultGetDataType ()</h3>
<pre class="PROGRAMLISTING"><a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE">xmlSecTransformDataType</a> xmlSecTransformDefaultGetDataType
                                            (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMMODE">xmlSecTransformMode</a> mode,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);</pre>
<p>Gets transform input (<var class="PARAMETER">mode</var> is "push") or output (<var class="PARAMETER">mode</var> is "pop") data 
type (binary or XML) by analyzing available pushBin/popBin/pushXml/popXml
methods.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16592"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transform.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16597"><span style="white-space: nowrap"><var class="PARAMETER">mode</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the data mode (push or pop).</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16602"><span style="white-space: nowrap"><var class="PARAMETER">transformCtx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>	the transform's chaing processing context.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16607"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>the transform's data type for the <var class="PARAMETER">mode</var> operation.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN16613"></a><h3>
<a name="XMLSECTRANSFORMDEFAULTPUSHBIN"></a>xmlSecTransformDefaultPushBin ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecTransformDefaultPushBin   (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             const <a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a> *data,
                                             <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> dataSize,
                                             <font>int</font> final,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);</pre>
<p>Process binary <var class="PARAMETER">data</var> by calling transform's execute method and pushes 
results to next transform.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16629"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transform object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16634"><span style="white-space: nowrap"><var class="PARAMETER">data</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the input binary data,</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16639"><span style="white-space: nowrap"><var class="PARAMETER">dataSize</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the input data size.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16644"><span style="white-space: nowrap"><var class="PARAMETER">final</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the flag: if set to 1 then it's the last
		data chunk.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16649"><span style="white-space: nowrap"><var class="PARAMETER">transformCtx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>	the pointer to transform context object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16654"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN16659"></a><h3>
<a name="XMLSECTRANSFORMDEFAULTPOPBIN"></a>xmlSecTransformDefaultPopBin ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecTransformDefaultPopBin    (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a> *data,
                                             <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> maxDataSize,
                                             <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> *dataSize,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);</pre>
<p>Pops data from previous transform in the chain, processes data by calling
transform's execute method and returns result in the <var class="PARAMETER">data</var> buffer. The 
size of returned data is placed in the <var class="PARAMETER">dataSize</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16676"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transform object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16681"><span style="white-space: nowrap"><var class="PARAMETER">data</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the buffer to store result data.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16686"><span style="white-space: nowrap"><var class="PARAMETER">maxDataSize</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>	the size of the buffer <font><span class="TYPE">data</span></font>.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16693"><span style="white-space: nowrap"><var class="PARAMETER">dataSize</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to returned data size.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16698"><span style="white-space: nowrap"><var class="PARAMETER">transformCtx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>	the pointer to transform context object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16703"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN16708"></a><h3>
<a name="XMLSECTRANSFORMDEFAULTPUSHXML"></a>xmlSecTransformDefaultPushXml ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecTransformDefaultPushXml   (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSetPtr</a> nodes,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);</pre>
<p>Processes <var class="PARAMETER">nodes</var> by calling transform's execute method and pushes 
result to the next transform in the chain.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16722"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transform object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16727"><span style="white-space: nowrap"><var class="PARAMETER">nodes</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the input nodes.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16732"><span style="white-space: nowrap"><var class="PARAMETER">transformCtx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>	the pointer to transform context object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16737"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN16742"></a><h3>
<a name="XMLSECTRANSFORMDEFAULTPOPXML"></a>xmlSecTransformDefaultPopXml ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecTransformDefaultPopXml    (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSetPtr</a> *nodes,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);</pre>
<p>Pops data from previous transform in the chain, processes the data 
by calling transform's execute method and returns result in <var class="PARAMETER">nodes</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16756"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transform object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16761"><span style="white-space: nowrap"><var class="PARAMETER">nodes</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to store popinter to result nodes.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16766"><span style="white-space: nowrap"><var class="PARAMETER">transformCtx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>	the pointer to transform context object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16771"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN16776"></a><h3>
<a name="XMLSECTRANSFORMCREATEOUTPUTBUFFER"></a>xmlSecTransformCreateOutputBuffer ()</h3>
<pre class="PROGRAMLISTING"><font>xmlOutputBufferPtr</font> xmlSecTransformCreateOutputBuffer
                                            (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);</pre>
<p>Creates output buffer to write data to <var class="PARAMETER">transform</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16789"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transform.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16794"><span style="white-space: nowrap"><var class="PARAMETER">transformCtx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>	the pointer to transform context object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16799"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>pointer to new output buffer or NULL if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN16804"></a><h3>
<a name="XMLSECTRANSFORMCREATEINPUTBUFFER"></a>xmlSecTransformCreateInputBuffer ()</h3>
<pre class="PROGRAMLISTING"><font>xmlParserInputBufferPtr</font> xmlSecTransformCreateInputBuffer
                                            (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);</pre>
<p>Creates input buffer to read data from <var class="PARAMETER">transform</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16817"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transform.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16822"><span style="white-space: nowrap"><var class="PARAMETER">transformCtx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>	the pointer to transform context object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16827"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>pointer to new input buffer or NULL if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN16832"></a><h3>
<a name="XMLSECTRANSFORMINITIALIZEMETHOD"></a>xmlSecTransformInitializeMethod ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         (*xmlSecTransformInitializeMethod)
                                            (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform);</pre>
<p>The transform specific initialization method.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16843"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>			the pointer to transform object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16848"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value otherwise.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN16853"></a><h3>
<a name="XMLSECTRANSFORMFINALIZEMETHOD"></a>xmlSecTransformFinalizeMethod ()</h3>
<pre class="PROGRAMLISTING"><font>void</font>        (*xmlSecTransformFinalizeMethod)
                                            (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform);</pre>
<p>The transform specific destroy method.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN16864"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>			the pointer to transform object.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN16869"></a><h3>
<a name="XMLSECTRANSFORMGETDATATYPEMETHOD"></a>xmlSecTransformGetDataTypeMethod ()</h3>
<pre class="PROGRAMLISTING"><a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE">xmlSecTransformDataType</a> (*xmlSecTransformGetDataTypeMethod)
                                            (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMMODE">xmlSecTransformMode</a> mode,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);</pre>
<p>The transform specific method to query information about transform
data type in specified mode <var class="PARAMETER">mode</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16883"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>			the pointer to transform object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16888"><span style="white-space: nowrap"><var class="PARAMETER">mode</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>			the mode.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16893"><span style="white-space: nowrap"><var class="PARAMETER">transformCtx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transform context object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16898"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>transform data type.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN16903"></a><h3>
<a name="XMLSECTRANSFORMNODEREADMETHOD"></a>xmlSecTransformNodeReadMethod ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         (*xmlSecTransformNodeReadMethod)
                                            (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <font>xmlNodePtr</font> node,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);</pre>
<p>The transform specific method to read the transform data from 
the <var class="PARAMETER">node</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16917"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>			the pointer to transform object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16922"><span style="white-space: nowrap"><var class="PARAMETER">node</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>			the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Transform" target="_top">&lt;dsig:Transform/&gt;</a> node.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16928"><span style="white-space: nowrap"><var class="PARAMETER">transformCtx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transform context object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16933"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value otherwise.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN16938"></a><h3>
<a name="XMLSECTRANSFORMNODEWRITEMETHOD"></a>xmlSecTransformNodeWriteMethod ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         (*xmlSecTransformNodeWriteMethod)
                                            (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <font>xmlNodePtr</font> node,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);</pre>
<p>The transform specific method to write transform information to an XML node <var class="PARAMETER">node</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16952"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>			the pointer to transform object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16957"><span style="white-space: nowrap"><var class="PARAMETER">node</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>			the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Transform" target="_top">&lt;dsig:Transform/&gt;</a> node.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16963"><span style="white-space: nowrap"><var class="PARAMETER">transformCtx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transform context object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16968"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value otherwise.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN16973"></a><h3>
<a name="XMLSECTRANSFORMSETKEYREQUIREMENTSMETHOD"></a>xmlSecTransformSetKeyRequirementsMethod ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         (*xmlSecTransformSetKeyRequirementsMethod)
                                            (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> keyReq);</pre>
<p>Transform specific method to set transform's key requirements.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16985"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>			the pointer to transform object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16990"><span style="white-space: nowrap"><var class="PARAMETER">keyReq</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>			the pointer to key requirements structure.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN16995"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value otherwise.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17000"></a><h3>
<a name="XMLSECTRANSFORMSETKEYMETHOD"></a>xmlSecTransformSetKeyMethod ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         (*xmlSecTransformSetKeyMethod)  (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key);</pre>
<p>The transform specific method to set the key for use.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17012"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>			the pointer to transform object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17017"><span style="white-space: nowrap"><var class="PARAMETER">key</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p> 			the pointer to key.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17022"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value otherwise.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17027"></a><h3>
<a name="XMLSECTRANSFORMVERIFYMETHOD"></a>xmlSecTransformVerifyMethod ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         (*xmlSecTransformVerifyMethod)  (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             const <a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a> *data,
                                             <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> dataSize,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);</pre>
<p>The transform specific method to verify transform processing results
(used by digest and signature transforms). This method sets <var class="PARAMETER">status</var>
member of the <a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransform</span></a> structure to either <font><span class="TYPE">xmlSecTransformStatusOk</span></font>
if verification succeeded or <font><span class="TYPE">xmlSecTransformStatusFail</span></font> otherwise.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17048"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>			the pointer to transform object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17053"><span style="white-space: nowrap"><var class="PARAMETER">data</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>			the input buffer.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17058"><span style="white-space: nowrap"><var class="PARAMETER">dataSize</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>			the size of input buffer <var class="PARAMETER">data</var>.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17064"><span style="white-space: nowrap"><var class="PARAMETER">transformCtx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transform context object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17069"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value otherwise.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17074"></a><h3>
<a name="XMLSECTRANSFORMPUSHBINMETHOD"></a>xmlSecTransformPushBinMethod ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         (*xmlSecTransformPushBinMethod) (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             const <a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a> *data,
                                             <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> dataSize,
                                             <font>int</font> final,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);</pre>
<p>The transform specific method to process data from <var class="PARAMETER">data</var> and push
result to the next transform in the chain.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17090"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>			the pointer to transform object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17095"><span style="white-space: nowrap"><var class="PARAMETER">data</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>			the input binary data,</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17100"><span style="white-space: nowrap"><var class="PARAMETER">dataSize</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>			the input data size.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17105"><span style="white-space: nowrap"><var class="PARAMETER">final</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>			the flag: if set to 1 then it's the last
			data chunk.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17110"><span style="white-space: nowrap"><var class="PARAMETER">transformCtx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transform context object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17115"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value otherwise.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17120"></a><h3>
<a name="XMLSECTRANSFORMPOPBINMETHOD"></a>xmlSecTransformPopBinMethod ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         (*xmlSecTransformPopBinMethod)  (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a> *data,
                                             <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> maxDataSize,
                                             <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> *dataSize,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);</pre>
<p>The transform specific method to pop data from previous transform 
in the chain and return result in the <var class="PARAMETER">data</var> buffer. The size of returned
data is placed in the <var class="PARAMETER">dataSize</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17137"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>			the pointer to transform object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17142"><span style="white-space: nowrap"><var class="PARAMETER">data</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>			the buffer to store result data.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17147"><span style="white-space: nowrap"><var class="PARAMETER">maxDataSize</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the size of the buffer <var class="PARAMETER">data</var>.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17153"><span style="white-space: nowrap"><var class="PARAMETER">dataSize</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>			the pointer to returned data size.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17158"><span style="white-space: nowrap"><var class="PARAMETER">transformCtx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transform context object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17163"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value otherwise.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17168"></a><h3>
<a name="XMLSECTRANSFORMPUSHXMLMETHOD"></a>xmlSecTransformPushXmlMethod ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         (*xmlSecTransformPushXmlMethod) (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSetPtr</a> nodes,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);</pre>
<p>The transform specific method to process <var class="PARAMETER">nodes</var> and push result to the next 
transform in the chain.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17182"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>			the pointer to transform object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17187"><span style="white-space: nowrap"><var class="PARAMETER">nodes</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>			the input nodes.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17192"><span style="white-space: nowrap"><var class="PARAMETER">transformCtx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transform context object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17197"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value otherwise.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17202"></a><h3>
<a name="XMLSECTRANSFORMPOPXMLMETHOD"></a>xmlSecTransformPopXmlMethod ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         (*xmlSecTransformPopXmlMethod)  (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSetPtr</a> *nodes,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);</pre>
<p>The transform specific method to pop data from previous transform in the chain,
process the data and return result in <var class="PARAMETER">nodes</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17216"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>			the pointer to transform object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17221"><span style="white-space: nowrap"><var class="PARAMETER">nodes</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>			the pointer to store popinter to result nodes.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17226"><span style="white-space: nowrap"><var class="PARAMETER">transformCtx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transform context object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17231"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value otherwise.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17236"></a><h3>
<a name="XMLSECTRANSFORMEXECUTEMETHOD"></a>xmlSecTransformExecuteMethod ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         (*xmlSecTransformExecuteMethod) (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <font>int</font> last,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> transformCtx);</pre>
<p>Transform specific method to process a chunk of data.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17249"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>			the pointer to transform object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17254"><span style="white-space: nowrap"><var class="PARAMETER">last</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>			the flag: if set to 1 then it's the last data chunk.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17259"><span style="white-space: nowrap"><var class="PARAMETER">transformCtx</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transform context object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17264"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value otherwise.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17269"></a><h3>
<a name="XMLSECTRANSFORMKLASS"></a>struct xmlSecTransformKlass</h3>
<pre class="PROGRAMLISTING">struct xmlSecTransformKlass {

    /* data */
    xmlSecSize				klassSize;
    xmlSecSize				objSize;
    const xmlChar*			name;
    const xmlChar*			href;
    xmlSecTransformUsage		usage;

    /* methods */
    xmlSecTransformInitializeMethod	initialize;
    xmlSecTransformFinalizeMethod	finalize;

    xmlSecTransformNodeReadMethod	readNode;
    xmlSecTransformNodeWriteMethod	writeNode;

    xmlSecTransformSetKeyRequirementsMethod	setKeyReq;
    xmlSecTransformSetKeyMethod		setKey;
    xmlSecTransformVerifyMethod		verify;
    xmlSecTransformGetDataTypeMethod	getDataType;

    xmlSecTransformPushBinMethod	pushBin;
    xmlSecTransformPopBinMethod		popBin;
    xmlSecTransformPushXmlMethod	pushXml;
    xmlSecTransformPopXmlMethod		popXml;
    
    /* low level method */
    xmlSecTransformExecuteMethod	execute;

    /* reserved for future */ 
    void* 				reserved0;
    void* 				reserved1;
};</pre>
<p>The transform klass desccription structure.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17278"><span style="white-space: nowrap"><a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> <code class="STRUCTFIELD">klassSize</code></span></a></td>
<td align="LEFT" valign="TOP"><p>			the transform klass structure size.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17284"><span style="white-space: nowrap"><a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> <code class="STRUCTFIELD">objSize</code></span></a></td>
<td align="LEFT" valign="TOP"><p>			the transform object size.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17290"><span style="white-space: nowrap">const <font>xmlChar</font> *<code class="STRUCTFIELD">name</code></span></a></td>
<td align="LEFT" valign="TOP"><p>			the transform's name.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17296"><span style="white-space: nowrap">const <font>xmlChar</font> *<code class="STRUCTFIELD">href</code></span></a></td>
<td align="LEFT" valign="TOP"><p>			the transform's identification string (href).</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17302"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE">xmlSecTransformUsage</a> <code class="STRUCTFIELD">usage</code></span></a></td>
<td align="LEFT" valign="TOP"><p>			the allowed transforms usages.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17308"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMINITIALIZEMETHOD">xmlSecTransformInitializeMethod</a> <code class="STRUCTFIELD">initialize</code></span></a></td>
<td align="LEFT" valign="TOP"><p>			the initialization method.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17314"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMFINALIZEMETHOD">xmlSecTransformFinalizeMethod</a> <code class="STRUCTFIELD">finalize</code></span></a></td>
<td align="LEFT" valign="TOP"><p>			the finmalization (destroy) function.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17320"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMNODEREADMETHOD">xmlSecTransformNodeReadMethod</a> <code class="STRUCTFIELD">readNode</code></span></a></td>
<td align="LEFT" valign="TOP"><p>			the XML node read method.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17326"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMNODEWRITEMETHOD">xmlSecTransformNodeWriteMethod</a> <code class="STRUCTFIELD">writeNode</code></span></a></td>
<td align="LEFT" valign="TOP"><p>			the XML node write method.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17332"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMSETKEYREQUIREMENTSMETHOD">xmlSecTransformSetKeyRequirementsMethod</a> <code class="STRUCTFIELD">setKeyReq</code></span></a></td>
<td align="LEFT" valign="TOP"><p>			the set key requirements method.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17338"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMSETKEYMETHOD">xmlSecTransformSetKeyMethod</a> <code class="STRUCTFIELD">setKey</code></span></a></td>
<td align="LEFT" valign="TOP"><p>			the set key method.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17344"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMVERIFYMETHOD">xmlSecTransformVerifyMethod</a> <code class="STRUCTFIELD">verify</code></span></a></td>
<td align="LEFT" valign="TOP"><p>			the verify method (for digest and signature transforms).</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17350"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMGETDATATYPEMETHOD">xmlSecTransformGetDataTypeMethod</a> <code class="STRUCTFIELD">getDataType</code></span></a></td>
<td align="LEFT" valign="TOP"><p>		the input/output data type query method.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17356"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMPUSHBINMETHOD">xmlSecTransformPushBinMethod</a> <code class="STRUCTFIELD">pushBin</code></span></a></td>
<td align="LEFT" valign="TOP"><p>			the binary data "push thru chain" processing method.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17362"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMPOPBINMETHOD">xmlSecTransformPopBinMethod</a> <code class="STRUCTFIELD">popBin</code></span></a></td>
<td align="LEFT" valign="TOP"><p>			the binary data "pop from chain" procesing method.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17368"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMPUSHXMLMETHOD">xmlSecTransformPushXmlMethod</a> <code class="STRUCTFIELD">pushXml</code></span></a></td>
<td align="LEFT" valign="TOP"><p>			the XML data "push thru chain" processing method.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17374"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMPOPXMLMETHOD">xmlSecTransformPopXmlMethod</a> <code class="STRUCTFIELD">popXml</code></span></a></td>
<td align="LEFT" valign="TOP"><p>			the XML data "pop from chain" procesing method.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17380"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMEXECUTEMETHOD">xmlSecTransformExecuteMethod</a> <code class="STRUCTFIELD">execute</code></span></a></td>
<td align="LEFT" valign="TOP"><p>			the low level data processing method used  by default
			implementations of <var class="PARAMETER">pushBin</var>, <var class="PARAMETER">popBin</var>, <var class="PARAMETER">pushXml</var> and <var class="PARAMETER">popXml</var>.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17390"><span style="white-space: nowrap"><font>void</font> *<code class="STRUCTFIELD">reserved0</code></span></a></td>
<td align="LEFT" valign="TOP"><p>			reserved for the future.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17396"><span style="white-space: nowrap"><font>void</font> *<code class="STRUCTFIELD">reserved1</code></span></a></td>
<td align="LEFT" valign="TOP"><p>			reserved for the future.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17402"></a><h3>
<a name="XMLSECTRANSFORMKLASSGETNAME"></a>xmlSecTransformKlassGetName()</h3>
<pre class="PROGRAMLISTING">#define     xmlSecTransformKlassGetName(klass)</pre>
<p>Macro. Returns transform klass name.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN17411"><span style="white-space: nowrap"><var class="PARAMETER">klass</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p> 		the transofrm's klass.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17416"></a><h3>
<a name="XMLSECTRANSFORMIDLISTID"></a>xmlSecTransformIdListId</h3>
<pre class="PROGRAMLISTING">#define xmlSecTransformIdListId	xmlSecTransformIdListGetKlass()</pre>
<p>Transform klasses list klass.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17424"></a><h3>
<a name="XMLSECTRANSFORMIDLISTGETKLASS"></a>xmlSecTransformIdListGetKlass ()</h3>
<pre class="PROGRAMLISTING"><font>xmlSecPtrListId</font> xmlSecTransformIdListGetKlass
                                            (void);</pre>
<p>The transform id list klass.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN17434"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>pointer to the transform id list klass.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17439"></a><h3>
<a name="XMLSECTRANSFORMIDLISTFIND"></a>xmlSecTransformIdListFind ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecTransformIdListFind       (<a href="xmlsec-list.html#XMLSECPTRLIST">xmlSecPtrListPtr</a> list,
                                             <font>xmlSecTransformId</font> transformId);</pre>
<p>Lookups <var class="PARAMETER">dataId</var> in <var class="PARAMETER">list</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17453"><span style="white-space: nowrap"><var class="PARAMETER">list</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transform ids list.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17458"><span style="white-space: nowrap"><var class="PARAMETER">transformId</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>	the transform klass.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17463"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>1 if <var class="PARAMETER">dataId</var> is found in the <var class="PARAMETER">list</var>, 0 if not and a negative
value if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17470"></a><h3>
<a name="XMLSECTRANSFORMIDLISTFINDBYHREF"></a>xmlSecTransformIdListFindByHref ()</h3>
<pre class="PROGRAMLISTING"><font>xmlSecTransformId</font> xmlSecTransformIdListFindByHref
                                            (<a href="xmlsec-list.html#XMLSECPTRLIST">xmlSecPtrListPtr</a> list,
                                             const <font>xmlChar</font> *href,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE">xmlSecTransformUsage</a> usage);</pre>
<p>Lookups data klass in the list with given <var class="PARAMETER">href</var> and <var class="PARAMETER">usage</var> in <var class="PARAMETER">list</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17486"><span style="white-space: nowrap"><var class="PARAMETER">list</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transform ids list.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17491"><span style="white-space: nowrap"><var class="PARAMETER">href</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the desired transform klass href.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17496"><span style="white-space: nowrap"><var class="PARAMETER">usage</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the desired transform usage.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17501"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>transform klass is found and NULL otherwise.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17506"></a><h3>
<a name="XMLSECTRANSFORMIDLISTFINDBYNAME"></a>xmlSecTransformIdListFindByName ()</h3>
<pre class="PROGRAMLISTING"><font>xmlSecTransformId</font> xmlSecTransformIdListFindByName
                                            (<a href="xmlsec-list.html#XMLSECPTRLIST">xmlSecPtrListPtr</a> list,
                                             const <font>xmlChar</font> *name,
                                             <a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE">xmlSecTransformUsage</a> usage);</pre>
<p>Lookups data klass in the list with given <var class="PARAMETER">name</var> and <var class="PARAMETER">usage</var> in <var class="PARAMETER">list</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17522"><span style="white-space: nowrap"><var class="PARAMETER">list</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transform ids list.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17527"><span style="white-space: nowrap"><var class="PARAMETER">name</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the desired transform klass name.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17532"><span style="white-space: nowrap"><var class="PARAMETER">usage</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the desired transform usage.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17537"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>transform klass is found and NULL otherwise.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17542"></a><h3>
<a name="XMLSECTRANSFORMIDLISTDEBUGDUMP"></a>xmlSecTransformIdListDebugDump ()</h3>
<pre class="PROGRAMLISTING"><font>void</font>        xmlSecTransformIdListDebugDump  (<a href="xmlsec-list.html#XMLSECPTRLIST">xmlSecPtrListPtr</a> list,
                                             <font>FILE</font> *output);</pre>
<p>Prints binary transform debug information to <var class="PARAMETER">output</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17555"><span style="white-space: nowrap"><var class="PARAMETER">list</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transform ids list.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17560"><span style="white-space: nowrap"><var class="PARAMETER">output</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to output FILE.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17565"></a><h3>
<a name="XMLSECTRANSFORMIDLISTDEBUGXMLDUMP"></a>xmlSecTransformIdListDebugXmlDump ()</h3>
<pre class="PROGRAMLISTING"><font>void</font>        xmlSecTransformIdListDebugXmlDump
                                            (<a href="xmlsec-list.html#XMLSECPTRLIST">xmlSecPtrListPtr</a> list,
                                             <font>FILE</font> *output);</pre>
<p>Prints binary transform debug information to <var class="PARAMETER">output</var> in XML format.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17578"><span style="white-space: nowrap"><var class="PARAMETER">list</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to transform ids list.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17583"><span style="white-space: nowrap"><var class="PARAMETER">output</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to output FILE.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17588"></a><h3>
<a name="XMLSECTRANSFORMIDUNKNOWN"></a>xmlSecTransformIdUnknown</h3>
<pre class="PROGRAMLISTING">#define xmlSecTransformIdUnknown			((xmlSecTransformId)NULL)</pre>
<p>The "unknown" transform id (NULL).</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17596"></a><h3>
<a name="XMLSECTRANSFORMBASE64ID"></a>xmlSecTransformBase64Id</h3>
<pre class="PROGRAMLISTING">#define     xmlSecTransformBase64Id</pre>
<p>The base64 encode transform klass.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17604"></a><h3>
<a name="XMLSECTRANSFORMBASE64GETKLASS"></a>xmlSecTransformBase64GetKlass ()</h3>
<pre class="PROGRAMLISTING"><font>xmlSecTransformId</font> xmlSecTransformBase64GetKlass
                                            (void);</pre>
<p>The Base64 transform klass (http://www.w3.org/TR/xmldsig-core/<font><span class="TYPE">sec-Base-64</span></font>).
The normative specification for base64 decoding transforms is RFC 2045
(http://www.ietf.org/rfc/rfc2045.txt). The base64 Transform element has 
no content. The input is decoded by the algorithms. This transform is 
useful if an application needs to sign the raw data associated with 
the encoded content of an element.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN17616"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>base64 transform id.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17621"></a><h3>
<a name="XMLSECTRANSFORMBASE64SETLINESIZE"></a>xmlSecTransformBase64SetLineSize ()</h3>
<pre class="PROGRAMLISTING"><font>void</font>        xmlSecTransformBase64SetLineSize
                                            (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> lineSize);</pre>
<p>Sets the max line size to <var class="PARAMETER">lineSize</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17634"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p> 		the pointer to BASE64 encode transform.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17639"><span style="white-space: nowrap"><var class="PARAMETER">lineSize</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p> 		the new max line size.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17644"></a><h3>
<a name="XMLSECTRANSFORMINCLC14NID"></a>xmlSecTransformInclC14NId</h3>
<pre class="PROGRAMLISTING">#define     xmlSecTransformInclC14NId</pre>
<p>The regular (inclusive) C14N without comments transform klass.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17652"></a><h3>
<a name="XMLSECTRANSFORMINCLC14NGETKLASS"></a>xmlSecTransformInclC14NGetKlass ()</h3>
<pre class="PROGRAMLISTING"><font>xmlSecTransformId</font> xmlSecTransformInclC14NGetKlass
                                            (void);</pre>
<p>Inclusive (regular) canonicalization that omits comments transform klass
(http://www.w3.org/TR/xmldsig-core/<font><span class="TYPE">sec-c14nAlg</span></font> and 
http://www.w3.org/TR/2001/REC-xml-c14n-20010315).</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN17664"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>c14n transform id.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17669"></a><h3>
<a name="XMLSECTRANSFORMINCLC14NWITHCOMMENTSID"></a>xmlSecTransformInclC14NWithCommentsId</h3>
<pre class="PROGRAMLISTING">#define     xmlSecTransformInclC14NWithCommentsId</pre>
<p>The regular (inclusive) C14N with comments transform klass.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17677"></a><h3>
<a name="XMLSECTRANSFORMINCLC14NWITHCOMMENTSGETKLASS"></a>xmlSecTransformInclC14NWithCommentsGetKlass ()</h3>
<pre class="PROGRAMLISTING"><font>xmlSecTransformId</font> xmlSecTransformInclC14NWithCommentsGetKlass
                                            (void);</pre>
<p>Inclusive (regular) canonicalization that includes comments transform klass
(http://www.w3.org/TR/xmldsig-core/<font><span class="TYPE">sec-c14nAlg</span></font> and 
http://www.w3.org/TR/2001/REC-xml-c14n-20010315).</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN17689"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>c14n with comments transform id.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17694"></a><h3>
<a name="XMLSECTRANSFORMINCLC14N11ID"></a>xmlSecTransformInclC14N11Id</h3>
<pre class="PROGRAMLISTING">#define     xmlSecTransformInclC14N11Id</pre>
<p>The regular (inclusive) C14N 1.1 without comments transform klass.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17702"></a><h3>
<a name="XMLSECTRANSFORMINCLC14N11GETKLASS"></a>xmlSecTransformInclC14N11GetKlass ()</h3>
<pre class="PROGRAMLISTING"><font>xmlSecTransformId</font> xmlSecTransformInclC14N11GetKlass
                                            (void);</pre>
<p>C14N version 1.1 (http://www.w3.org/TR/xml-c14n11)</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN17712"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>c14n v1.1 transform id.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17717"></a><h3>
<a name="XMLSECTRANSFORMINCLC14N11WITHCOMMENTSID"></a>xmlSecTransformInclC14N11WithCommentsId</h3>
<pre class="PROGRAMLISTING">#define     xmlSecTransformInclC14N11WithCommentsId</pre>
<p>The regular (inclusive) C14N 1.1 with comments transform klass.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17725"></a><h3>
<a name="XMLSECTRANSFORMINCLC14N11WITHCOMMENTSGETKLASS"></a>xmlSecTransformInclC14N11WithCommentsGetKlass ()</h3>
<pre class="PROGRAMLISTING"><font>xmlSecTransformId</font> xmlSecTransformInclC14N11WithCommentsGetKlass
                                            (void);</pre>
<p>C14N version 1.1 (http://www.w3.org/TR/xml-c14n11) with comments</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN17735"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>c14n v1.1 with comments transform id.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17740"></a><h3>
<a name="XMLSECTRANSFORMEXCLC14NID"></a>xmlSecTransformExclC14NId</h3>
<pre class="PROGRAMLISTING">#define     xmlSecTransformExclC14NId</pre>
<p>The exclusive C14N without comments transform klass.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17748"></a><h3>
<a name="XMLSECTRANSFORMEXCLC14NGETKLASS"></a>xmlSecTransformExclC14NGetKlass ()</h3>
<pre class="PROGRAMLISTING"><font>xmlSecTransformId</font> xmlSecTransformExclC14NGetKlass
                                            (void);</pre>
<p>Exclusive canoncicalization that ommits comments transform klass
(http://www.w3.org/TR/xml-exc-c14n/).</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN17758"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>exclusive c14n transform id.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17763"></a><h3>
<a name="XMLSECTRANSFORMEXCLC14NWITHCOMMENTSID"></a>xmlSecTransformExclC14NWithCommentsId</h3>
<pre class="PROGRAMLISTING">#define     xmlSecTransformExclC14NWithCommentsId</pre>
<p>The exclusive C14N with comments transform klass.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17771"></a><h3>
<a name="XMLSECTRANSFORMEXCLC14NWITHCOMMENTSGETKLASS"></a>xmlSecTransformExclC14NWithCommentsGetKlass ()</h3>
<pre class="PROGRAMLISTING"><font>xmlSecTransformId</font> xmlSecTransformExclC14NWithCommentsGetKlass
                                            (void);</pre>
<p>Exclusive canoncicalization that includes comments transform klass
(http://www.w3.org/TR/xml-exc-c14n/).</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN17781"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>exclusive c14n with comments transform id.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17786"></a><h3>
<a name="XMLSECTRANSFORMENVELOPEDID"></a>xmlSecTransformEnvelopedId</h3>
<pre class="PROGRAMLISTING">#define     xmlSecTransformEnvelopedId</pre>
<p>The "enveloped" transform klass.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17794"></a><h3>
<a name="XMLSECTRANSFORMENVELOPEDGETKLASS"></a>xmlSecTransformEnvelopedGetKlass ()</h3>
<pre class="PROGRAMLISTING"><font>xmlSecTransformId</font> xmlSecTransformEnvelopedGetKlass
                                            (void);</pre>
<p>The enveloped transform klass (http://www.w3.org/TR/xmldsig-core/<font><span class="TYPE">sec-EnvelopedSignature</span></font>):</p>
<p>An enveloped signature transform T removes the whole Signature element 
containing T from the digest calculation of the Reference element 
containing T. The entire string of characters used by an XML processor 
to match the Signature with the XML production element is removed. 
The output of the transform is equivalent to the output that would 
result from replacing T with an XPath transform containing the following 
XPath parameter element:</p>
<p>&lt;XPath xmlns:dsig="&amp;dsig;"&gt;
  count(ancestor-or-self::dsig:Signature |
  <font><code class="FUNCTION">here()</code></font>/ancestor::dsig:Signature[1]) &gt;
  count(ancestor-or-self::dsig:Signature)&lt;/XPath&gt;
   
The input and output requirements of this transform are identical to 
those of the XPath transform, but may only be applied to a node-set from 
its parent XML document. Note that it is not necessary to use an XPath 
expression evaluator to create this transform. However, this transform 
MUST produce output in exactly the same manner as the XPath transform 
parameterized by the XPath expression above.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN17810"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>enveloped transform id.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17815"></a><h3>
<a name="XMLSECTRANSFORMXPATHID"></a>xmlSecTransformXPathId</h3>
<pre class="PROGRAMLISTING">#define     xmlSecTransformXPathId</pre>
<p>The XPath transform klass.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17823"></a><h3>
<a name="XMLSECTRANSFORMXPATHGETKLASS"></a>xmlSecTransformXPathGetKlass ()</h3>
<pre class="PROGRAMLISTING"><font>xmlSecTransformId</font> xmlSecTransformXPathGetKlass
                                            (void);</pre>
<p>The XPath transform evaluates given XPath expression and 
intersects the result with the previous nodes set. See 
http://www.w3.org/TR/xmldsig-core/<font><span class="TYPE">sec-XPath</span></font> for more details.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN17835"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>XPath transform id.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17840"></a><h3>
<a name="XMLSECTRANSFORMXPATH2ID"></a>xmlSecTransformXPath2Id</h3>
<pre class="PROGRAMLISTING">#define     xmlSecTransformXPath2Id</pre>
<p>The XPath2 transform klass.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17848"></a><h3>
<a name="XMLSECTRANSFORMXPATH2GETKLASS"></a>xmlSecTransformXPath2GetKlass ()</h3>
<pre class="PROGRAMLISTING"><font>xmlSecTransformId</font> xmlSecTransformXPath2GetKlass
                                            (void);</pre>
<p>The XPath2 transform (http://www.w3.org/TR/xmldsig-filter2/).</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN17858"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>XPath2 transform klass.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17863"></a><h3>
<a name="XMLSECTRANSFORMXPOINTERID"></a>xmlSecTransformXPointerId</h3>
<pre class="PROGRAMLISTING">#define     xmlSecTransformXPointerId</pre>
<p>The XPointer transform klass.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17871"></a><h3>
<a name="XMLSECTRANSFORMXPOINTERGETKLASS"></a>xmlSecTransformXPointerGetKlass ()</h3>
<pre class="PROGRAMLISTING"><font>xmlSecTransformId</font> xmlSecTransformXPointerGetKlass
                                            (void);</pre>
<p>The XPointer transform klass 
(http://www.ietf.org/internet-drafts/draft-eastlake-xmldsig-uri-02.txt).</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN17881"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>XPointer transform klass.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17886"></a><h3>
<a name="XMLSECTRANSFORMXPOINTERSETEXPR"></a>xmlSecTransformXPointerSetExpr ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecTransformXPointerSetExpr  (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             const <font>xmlChar</font> *expr,
                                             <a href="xmlsec-nodeset.html#XMLSECNODESETTYPE">xmlSecNodeSetType</a> nodeSetType,
                                             <font>xmlNodePtr</font> hereNode);</pre>
<p>Sets the XPointer expression for an XPointer <var class="PARAMETER">transform</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17901"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to XPointer transform.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17906"><span style="white-space: nowrap"><var class="PARAMETER">expr</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the XPointer expression.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17911"><span style="white-space: nowrap"><var class="PARAMETER">nodeSetType</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>	the type of evaluated XPointer expression.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17916"><span style="white-space: nowrap"><var class="PARAMETER">hereNode</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to "here" node.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN17921"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17926"></a><h3>
<a name="XMLSECTRANSFORMXSLTID"></a>xmlSecTransformXsltId</h3>
<pre class="PROGRAMLISTING">#define     xmlSecTransformXsltId</pre>
<p>The XSLT transform klass.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17934"></a><h3>
<a name="XMLSECTRANSFORMXSLTGETKLASS"></a>xmlSecTransformXsltGetKlass ()</h3>
<pre class="PROGRAMLISTING"><font>xmlSecTransformId</font> xmlSecTransformXsltGetKlass
                                            (void);</pre>
<p>XSLT transform klass (http://www.w3.org/TR/xmldsig-core/<font><span class="TYPE">sec-XSLT</span></font>):</p>
<p>The normative specification for XSL Transformations is [XSLT]. 
Specification of a namespace-qualified stylesheet element, which MUST be 
the sole child of the Transform element, indicates that the specified style 
sheet should be used. Whether this instantiates in-line processing of local 
XSLT declarations within the resource is determined by the XSLT processing 
model; the ordered application of multiple stylesheet may require multiple 
Transforms. No special provision is made for the identification of a remote 
stylesheet at a given URI because it can be communicated via an  xsl:include 
or  xsl:import within the stylesheet child of the Transform.</p>
<p>This transform requires an octet stream as input. If the actual input is an 
XPath node-set, then the signature application should attempt to convert it 
to octets (apply Canonical XML]) as described in the Reference Processing 
Model (section 4.3.3.2).]</p>
<p>The output of this transform is an octet stream. The processing rules for 
the XSL style sheet or transform element are stated in the XSLT specification
[XSLT]. We RECOMMEND that XSLT transform authors use an output method of xml 
for XML and HTML. As XSLT implementations do not produce consistent 
serializations of their output, we further RECOMMEND inserting a transform 
after the XSLT transform to canonicalize the output. These steps will help 
to ensure interoperability of the resulting signatures among applications 
that support the XSLT transform. Note that if the output is actually HTML, 
then the result of these steps is logically equivalent [XHTML].</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN17949"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>pointer to XSLT transform klass.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17954"></a><h3>
<a name="XMLSECTRANSFORMREMOVEXMLTAGSC14NID"></a>xmlSecTransformRemoveXmlTagsC14NId</h3>
<pre class="PROGRAMLISTING">#define     xmlSecTransformRemoveXmlTagsC14NId</pre>
<p>The "remove all xml tags" transform klass (used before base64 transforms).</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17962"></a><h3>
<a name="XMLSECTRANSFORMREMOVEXMLTAGSC14NGETKLASS"></a>xmlSecTransformRemoveXmlTagsC14NGetKlass ()</h3>
<pre class="PROGRAMLISTING"><font>xmlSecTransformId</font> xmlSecTransformRemoveXmlTagsC14NGetKlass
                                            (void);</pre>
<p>The "remove xml tags" transform klass (http://www.w3.org/TR/xmldsig-core/<font><span class="TYPE">sec-Base-64</span></font>):
Base64 transform requires an octet stream for input. If an XPath node-set 
(or sufficiently functional alternative) is given as input, then it is 
converted to an octet stream by performing operations logically equivalent 
to 1) applying an XPath transform with expression self::<font><code class="FUNCTION">text()</code></font>, then 2) 
taking the string-value of the node-set. Thus, if an XML element is 
identified by a barename XPointer in the Reference URI, and its content 
consists solely of base64 encoded character data, then this transform 
automatically strips away the start and end tags of the identified element 
and any of its descendant elements as well as any descendant comments and 
processing instructions. The output of this transform is an octet stream.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN17976"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>"remove xml tags" transform id.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17981"></a><h3>
<a name="XMLSECTRANSFORMVISA3DHACKID"></a>xmlSecTransformVisa3DHackId</h3>
<pre class="PROGRAMLISTING">#define     xmlSecTransformVisa3DHackId</pre>
<p>Selects node subtree by given node id string. The only reason why we need this 
is Visa3D protocol. It doesn't follow XML/XPointer/XMLDSig specs and allows 
invalid XPointer expressions in the URI attribute. Since we couldn't evaluate 
such expressions thru XPath/XPointer engine, we need to have this hack here.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN17989"></a><h3>
<a name="XMLSECTRANSFORMVISA3DHACKGETKLASS"></a>xmlSecTransformVisa3DHackGetKlass ()</h3>
<pre class="PROGRAMLISTING"><font>xmlSecTransformId</font> xmlSecTransformVisa3DHackGetKlass
                                            (void);</pre>
<p>The Visa3DHack transform klass. The only reason why we need this 
is Visa3D protocol. It doesn't follow XML/XPointer/XMLDSig specs and allows 
invalid XPointer expressions in the URI attribute. Since we couldn't evaluate 
such expressions thru XPath/XPointer engine, we need to have this hack here.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN17999"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>Visa3DHack transform klass.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN18004"></a><h3>
<a name="XMLSECTRANSFORMVISA3DHACKSETID"></a>xmlSecTransformVisa3DHackSetID ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecTransformVisa3DHackSetID  (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform,
                                             const <font>xmlChar</font> *id);</pre>
<p>Sets the ID value for an Visa3DHack <var class="PARAMETER">transform</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN18017"><span style="white-space: nowrap"><var class="PARAMETER">transform</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to Visa3DHack transform.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN18022"><span style="white-space: nowrap"><var class="PARAMETER">id</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>			the ID value.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN18027"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
</div>
<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
<td align="left"><a accesskey="p" href="xmlsec-templates.html"><b>&lt;&lt;&lt;templates</b></a></td>
<td align="right"><a accesskey="n" href="xmlsec-version.html"><b>version&gt;&gt;&gt;</b></a></td>
</tr></table>
</td></tr></table></td>
</tr></table></body>
</html>