diff options
Diffstat (limited to 'docs/api/xmlsec-transforms.html')
-rw-r--r-- | docs/api/xmlsec-transforms.html | 3940 |
1 files changed, 1904 insertions, 2036 deletions
diff --git a/docs/api/xmlsec-transforms.html b/docs/api/xmlsec-transforms.html index a02f0a4c..2cf0855c 100644 --- a/docs/api/xmlsec-transforms.html +++ b/docs/api/xmlsec-transforms.html @@ -87,259 +87,262 @@ <h1> <a name="XMLSEC-TRANSFORMS"></a>transforms</h1> <div class="REFNAMEDIV"> -<a name="AEN13818"></a><h2>Name</h2>transforms -- Transform object definition.</div> +<a name="AEN16984"></a><h2>Name</h2>transforms -- Transform object definition.</div> <div class="REFSYNOPSISDIV"> <a name="XMLSEC-TRANSFORMS.SYNOPSIS"></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>; +<pre class="SYNOPSIS">#define <a href="xmlsec-transforms.html#XMLSEC-TRANSFORMCTX-FLAGS-USE-VISA3D-HACK:CAPS">XMLSEC_TRANSFORMCTX_FLAGS_USE_VISA3D_HACK</a> +#define <a href="xmlsec-transforms.html#XMLSEC-TRANSFORM-BINARY-CHUNK:CAPS">XMLSEC_TRANSFORM_BINARY_CHUNK</a> +struct <a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransform</a>; +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMBASE64GETKLASS">xmlSecTransformBase64GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMBASE64ID">xmlSecTransformBase64Id</a> +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMBASE64SETLINESIZE">xmlSecTransformBase64SetLineSize</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> lineSize</code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMCHECKID">xmlSecTransformCheckId</a> (transform, + i) +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMCHECKSIZE">xmlSecTransformCheckSize</a> (transform, + size) +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCONNECT">xmlSecTransformConnect</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> left</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> right</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="RETURNVALUE">xmlSecTransformPtr</span></a> <a href="xmlsec-transforms.html#XMLSECTRANSFORMCREATE">xmlSecTransformCreate</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> id</code>); +<gtkdoclink href="XMLPARSERINPUTBUFFER"><span class="RETURNVALUE">xmlParserInputBufferPtr</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCREATEINPUTBUFFER">xmlSecTransformCreateInputBuffer</a> + (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="XMLOUTPUTBUFFERPTR"><span class="RETURNVALUE">xmlOutputBufferPtr</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCREATEOUTPUTBUFFER">xmlSecTransformCreateOutputBuffer</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +struct <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtx</a>; +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXAPPEND">xmlSecTransformCtxAppend</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXBINARYEXECUTE">xmlSecTransformCtxBinaryExecute</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXCOPYUSERPREF">xmlSecTransformCtxCopyUserPref</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> dst</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> src</code>); +<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="RETURNVALUE">xmlSecTransformCtxPtr</span></a> <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXCREATE">xmlSecTransformCtxCreate</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="XMLSECTRANSFORMPTR"><span class="RETURNVALUE">xmlSecTransformPtr</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXCREATEANDAPPEND">xmlSecTransformCtxCreateAndAppend</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> id</code>); +<gtkdoclink href="XMLSECTRANSFORMPTR"><span class="RETURNVALUE">xmlSecTransformPtr</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXCREATEANDPREPEND">xmlSecTransformCtxCreateAndPrepend</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> id</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXDEBUGDUMP">xmlSecTransformCtxDebugDump</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXDEBUGXMLDUMP">xmlSecTransformCtxDebugXmlDump</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXDESTROY">xmlSecTransformCtxDestroy</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXEXECUTE">xmlSecTransformCtxExecute</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLDOC"><span class="TYPE">xmlDocPtr</span></gtkdoclink> doc</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXFINALIZE">xmlSecTransformCtxFinalize</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXINITIALIZE">xmlSecTransformCtxInitialize</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>); +<gtkdoclink href="XMLSECTRANSFORMPTR"><span class="RETURNVALUE">xmlSecTransformPtr</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXNODEREAD">xmlSecTransformCtxNodeRead</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE"><span class="TYPE">xmlSecTransformUsage</span></a> usage</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXNODESLISTREAD">xmlSecTransformCtxNodesListRead</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE"><span class="TYPE">xmlSecTransformUsage</span></a> usage</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXPREEXECUTECALLBACK">*xmlSecTransformCtxPreExecuteCallback</a>) + (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXPREPARE">xmlSecTransformCtxPrepare</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE"><span class="TYPE">xmlSecTransformDataType</span></a> inputDataType</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXPREPEND">xmlSecTransformCtxPrepend</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXRESET">xmlSecTransformCtxReset</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXSETURI">xmlSecTransformCtxSetUri</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *uri</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> hereNode</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXURIEXECUTE">xmlSecTransformCtxUriExecute</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *uri</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXXMLEXECUTE">xmlSecTransformCtxXmlExecute</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nodes</code>); +typedef <a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE">xmlSecTransformDataType</a>; +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPEBIN">xmlSecTransformDataTypeBin</a> +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPEUNKNOWN">xmlSecTransformDataTypeUnknown</a> +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPEXML">xmlSecTransformDataTypeXml</a> +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMDEBUGDUMP">xmlSecTransformDebugDump</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMDEBUGXMLDUMP">xmlSecTransformDebugXmlDump</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +<a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE"><span class="RETURNVALUE">xmlSecTransformDataType</span></a> <a href="xmlsec-transforms.html#XMLSECTRANSFORMDEFAULTGETDATATYPE">xmlSecTransformDefaultGetDataType</a> + (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMMODE"><span class="TYPE">xmlSecTransformMode</span></a> mode</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMDEFAULTPOPBIN">xmlSecTransformDefaultPopBin</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> maxDataSize</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> *dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMDEFAULTPOPXML">xmlSecTransformDefaultPopXml</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> *nodes</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMDEFAULTPUSHBIN">xmlSecTransformDefaultPushBin</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> final</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMDEFAULTPUSHXML">xmlSecTransformDefaultPushXml</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nodes</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMDESTROY">xmlSecTransformDestroy</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>); +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMENVELOPEDGETKLASS">xmlSecTransformEnvelopedGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMENVELOPEDID">xmlSecTransformEnvelopedId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMEXCLC14NGETKLASS">xmlSecTransformExclC14NGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMEXCLC14NID">xmlSecTransformExclC14NId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMEXCLC14NWITHCOMMENTSGETKLASS">xmlSecTransformExclC14NWithCommentsGetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMEXCLC14NWITHCOMMENTSID">xmlSecTransformExclC14NWithCommentsId</a> +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMEXECUTE">xmlSecTransformExecute</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> last</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMEXECUTEMETHOD">*xmlSecTransformExecuteMethod</a>) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> last</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMFINALIZEMETHOD">*xmlSecTransformFinalizeMethod</a>) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>); +<a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE"><span class="RETURNVALUE">xmlSecTransformDataType</span></a> <a href="xmlsec-transforms.html#XMLSECTRANSFORMGETDATATYPE">xmlSecTransformGetDataType</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMMODE"><span class="TYPE">xmlSecTransformMode</span></a> mode</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE"><span class="RETURNVALUE">xmlSecTransformDataType</span></a> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMGETDATATYPEMETHOD">*xmlSecTransformGetDataTypeMethod</a>) + (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMMODE"><span class="TYPE">xmlSecTransformMode</span></a> mode</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMGETNAME">xmlSecTransformGetName</a> (transform) +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTDEBUGDUMP">xmlSecTransformIdListDebugDump</a> (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTDEBUGXMLDUMP">xmlSecTransformIdListDebugXmlDump</a> (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTFIND">xmlSecTransformIdListFind</a> (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> transformId</code>); +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTFINDBYHREF">xmlSecTransformIdListFindByHref</a> (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *href</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE"><span class="TYPE">xmlSecTransformUsage</span></a> usage</code>); +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTFINDBYNAME">xmlSecTransformIdListFindByName</a> (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE"><span class="TYPE">xmlSecTransformUsage</span></a> usage</code>); +<gtkdoclink href="XMLSECPTRLISTID"><span class="RETURNVALUE">xmlSecPtrListId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTGETKLASS">xmlSecTransformIdListGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTID">xmlSecTransformIdListId</a> +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMIDUNKNOWN">xmlSecTransformIdUnknown</a> +<a href="xmlsec-list.html#XMLSECPTRLIST"><span class="RETURNVALUE">xmlSecPtrListPtr</span></a> <a href="xmlsec-transforms.html#XMLSECTRANSFORMIDSGET">xmlSecTransformIdsGet</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDSINIT">xmlSecTransformIdsInit</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDSREGISTER">xmlSecTransformIdsRegister</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> id</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDSREGISTERDEFAULT">xmlSecTransformIdsRegisterDefault</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDSSHUTDOWN">xmlSecTransformIdsShutdown</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14N11GETKLASS">xmlSecTransformInclC14N11GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14N11ID">xmlSecTransformInclC14N11Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14N11WITHCOMMENTSGETKLASS">xmlSecTransformInclC14N11WithCommentsGetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14N11WITHCOMMENTSID">xmlSecTransformInclC14N11WithCommentsId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14NGETKLASS">xmlSecTransformInclC14NGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14NID">xmlSecTransformInclC14NId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14NWITHCOMMENTSGETKLASS">xmlSecTransformInclC14NWithCommentsGetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14NWITHCOMMENTSID">xmlSecTransformInclC14NWithCommentsId</a> +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMINITIALIZEMETHOD">*xmlSecTransformInitializeMethod</a>) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMISVALID">xmlSecTransformIsValid</a> (transform) +struct <a href="xmlsec-transforms.html#XMLSECTRANSFORMKLASS">xmlSecTransformKlass</a>; +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMKLASSGETNAME">xmlSecTransformKlassGetName</a> (klass) enum <a href="xmlsec-transforms.html#XMLSECTRANSFORMMODE">xmlSecTransformMode</a>; +<gtkdoclink href="XMLSECTRANSFORMPTR"><span class="RETURNVALUE">xmlSecTransformPtr</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMNODEREAD">xmlSecTransformNodeRead</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE"><span class="TYPE">xmlSecTransformUsage</span></a> usage</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMNODEREADMETHOD">*xmlSecTransformNodeReadMethod</a>) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMNODEWRITEMETHOD">*xmlSecTransformNodeWriteMethod</a>) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); enum <a href="xmlsec-transforms.html#XMLSECTRANSFORMOPERATION">xmlSecTransformOperation</a>; +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMPOPBIN">xmlSecTransformPopBin</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> maxDataSize</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> *dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMPOPBINMETHOD">*xmlSecTransformPopBinMethod</a>) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> maxDataSize</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> *dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMPOPXML">xmlSecTransformPopXml</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> *nodes</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMPOPXMLMETHOD">*xmlSecTransformPopXmlMethod</a>) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> *nodes</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMPUMP">xmlSecTransformPump</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> left</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> right</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMPUSHBIN">xmlSecTransformPushBin</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> final</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMPUSHBINMETHOD">*xmlSecTransformPushBinMethod</a>) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> final</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMPUSHXML">xmlSecTransformPushXml</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nodes</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMPUSHXMLMETHOD">*xmlSecTransformPushXmlMethod</a>) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nodes</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMREMOVE">xmlSecTransformRemove</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>); +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMREMOVEXMLTAGSC14NGETKLASS">xmlSecTransformRemoveXmlTagsC14NGetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMREMOVEXMLTAGSC14NID">xmlSecTransformRemoveXmlTagsC14NId</a> +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMSETKEY">xmlSecTransformSetKey</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMSETKEYMETHOD">*xmlSecTransformSetKeyMethod</a>) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMSETKEYREQ">xmlSecTransformSetKeyReq</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMSETKEYREQUIREMENTSMETHOD">*xmlSecTransformSetKeyRequirementsMethod</a>) + (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>); +enum <a href="xmlsec-transforms.html#XMLSECTRANSFORMSTATUS">xmlSecTransformStatus</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#XMLSECTRANSFORMURITYPEANY">xmlSecTransformUriTypeAny</a> +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPECHECK">xmlSecTransformUriTypeCheck</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPE"><span class="TYPE">xmlSecTransformUriType</span></a> type</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *uri</code>); #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#XMLSECTRANSFORMURITYPENONE">xmlSecTransformUriTypeNone</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> +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPESAMEDOCUMENT">xmlSecTransformUriTypeSameDocument</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#XMLSECTRANSFORMUSAGEANY">xmlSecTransformUsageAny</a> #define <a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGEC14NMETHOD">xmlSecTransformUsageC14NMethod</a> +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGEDSIGTRANSFORM">xmlSecTransformUsageDSigTransform</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); -<font>xmlSecTransformPtr</font> <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXCREATEANDAPPEND">xmlSecTransformCtxCreateAndAppend</a> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> ctx, - <font>xmlSecTransformId</font> id); -<font>xmlSecTransformPtr</font> <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXCREATEANDPREPEND">xmlSecTransformCtxCreateAndPrepend</a> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> ctx, - <font>xmlSecTransformId</font> id); -<font>xmlSecTransformPtr</font> <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#XMLSECTRANSFORMUSAGESIGNATUREMETHOD">xmlSecTransformUsageSignatureMethod</a> +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGEUNKNOWN">xmlSecTransformUsageUnknown</a> +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMVERIFY">xmlSecTransformVerify</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMVERIFYMETHOD">*xmlSecTransformVerifyMethod</a>) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMVERIFYNODECONTENT">xmlSecTransformVerifyNodeContent</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMVISA3DHACKGETKLASS">xmlSecTransformVisa3DHackGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMVISA3DHACKID">xmlSecTransformVisa3DHackId</a> +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMVISA3DHACKSETID">xmlSecTransformVisa3DHackSetID</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *id</code>); +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMXPATH2GETKLASS">xmlSecTransformXPath2GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); #define <a href="xmlsec-transforms.html#XMLSECTRANSFORMXPATH2ID">xmlSecTransformXPath2Id</a> -<font>xmlSecTransformId</font> <a href="xmlsec-transforms.html#XMLSECTRANSFORMXPATH2GETKLASS">xmlSecTransformXPath2GetKlass</a> (void); +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMXPATHGETKLASS">xmlSecTransformXPathGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMXPATHID">xmlSecTransformXPathId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMXPOINTERGETKLASS">xmlSecTransformXPointerGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); #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); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMXPOINTERSETEXPR">xmlSecTransformXPointerSetExpr</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *expr</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESETTYPE"><span class="TYPE">xmlSecNodeSetType</span></a> nodeSetType</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> hereNode</code>); +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMXSLTGETKLASS">xmlSecTransformXsltGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); #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> +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMXSLTSETDEFAULTSECURITYPREFS">xmlSecTransformXsltSetDefaultSecurityPrefs</a> + (<code class="PARAMETER"><gtkdoclink href="XSLTSECURITYPREFS"><span class="TYPE">xsltSecurityPrefsPtr</span></gtkdoclink> sec</code>);</pre> </div> <div class="REFSECT1"> <a name="XMLSEC-TRANSFORMS.DESCRIPTION"></a><h2>Description</h2> @@ -348,2654 +351,2583 @@ struct <a href="xmlsec-transforms.html#XMLSECTRANSFORMKLASS">xmlSec <div class="REFSECT1"> <a name="XMLSEC-TRANSFORMS.DETAILS"></a><h2>Details</h2> <div class="REFSECT2"> -<a name="XMLSEC-TRANSFORM-BINARY-CHUNK--CAPS"></a><h3>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> +<a name="XMLSEC-TRANSFORMCTX-FLAGS-USE-VISA3D-HACK:CAPS"></a><h3>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> </div> <hr> <div class="REFSECT2"> -<a name="XMLSECTRANSFORMIDSGET"></a><h3>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="AEN14242"><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> +<a name="XMLSEC-TRANSFORM-BINARY-CHUNK:CAPS"></a><h3>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> </div> <hr> <div class="REFSECT2"> -<a name="XMLSECTRANSFORMIDSINIT"></a><h3>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> +<a name="XMLSECTRANSFORM"></a><h3>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> -<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> -<td align="LEFT" valign="TOP"><a name="AEN14258"><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> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN17888"><span style="white-space: nowrap"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> <code class="STRUCTFIELD">id</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform id (pointer to <gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink>).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN17897"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMOPERATION"><span class="TYPE">xmlSecTransformOperation</span></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="AEN17904"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMSTATUS"><span class="TYPE">xmlSecTransformStatus</span></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="AEN17911"><span style="white-space: nowrap"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> <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"><dsig:Transform /></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN17919"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></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="AEN17926"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></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="AEN17933"><span style="white-space: nowrap"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBuffer</span></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="AEN17940"><span style="white-space: nowrap"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBuffer</span></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="AEN17947"><span style="white-space: nowrap"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></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="AEN17954"><span style="white-space: nowrap"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></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="AEN17961"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<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="AEN17968"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<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="XMLSECTRANSFORMIDSSHUTDOWN"></a><h3>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> +<a name="XMLSECTRANSFORMBASE64GETKLASS"></a><h3>xmlSecTransformBase64GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformBase64GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The Base64 transform klass (http://www.w3.org/TR/xmldsig-core/<gtkdoclink href="SEC-BASE-64"><span class="TYPE">sec-Base-64</span></gtkdoclink>). +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> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN17988"><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="XMLSECTRANSFORMIDSREGISTERDEFAULT"></a><h3>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="AEN14282"><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> +<a name="XMLSECTRANSFORMBASE64ID"></a><h3>xmlSecTransformBase64Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformBase64Id</pre> +<p>The base64 encode transform klass.</p> </div> <hr> <div class="REFSECT2"> -<a name="XMLSECTRANSFORMIDSREGISTER"></a><h3>xmlSecTransformIdsRegister ()</h3> -<pre class="PROGRAMLISTING"><font>int</font> xmlSecTransformIdsRegister (<font>xmlSecTransformId</font> id);</pre> -<p>Registers <code class="PARAMETER">id</code> in the global list of transform klasses.</p> -<p></p> +<a name="XMLSECTRANSFORMBASE64SETLINESIZE"></a><h3>xmlSecTransformBase64SetLineSize ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecTransformBase64SetLineSize (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> lineSize</code>);</pre> +<p>Sets the max line size to <code class="PARAMETER">lineSize</code>.</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN14298"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the transform klass.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN18015"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</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="AEN14303"><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> +<td align="LEFT" valign="TOP"><a name="AEN18020"><span style="white-space: nowrap"><code class="PARAMETER">lineSize</code> :</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="XMLSECTRANSFORMSTATUS"></a><h3>enum xmlSecTransformStatus</h3> -<pre class="PROGRAMLISTING">typedef enum { - xmlSecTransformStatusNone = 0, - xmlSecTransformStatusWorking, - xmlSecTransformStatusFinished, - xmlSecTransformStatusOk, - xmlSecTransformStatusFail -} xmlSecTransformStatus;</pre> -<p>The transform execution status.</p> -<p></p> +<a name="XMLSECTRANSFORMCHECKID"></a><h3>xmlSecTransformCheckId()</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformCheckId(transform, i)</pre> +<p>Macro. Returns 1 if the <code class="PARAMETER">transform</code> is valid and has specified id <code class="PARAMETER">i</code> +or 0 otherwise.</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMSTATUSNONE"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformStatusNone</tt></span></a></td> -<td align="LEFT" valign="TOP"><p> the status unknown.</p></td> -</tr> -<tr> -<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMSTATUSWORKING"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformStatusWorking</tt></span></a></td> -<td align="LEFT" valign="TOP"><p> the transform is executed.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN18034"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMSTATUSFINISHED"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformStatusFinished</tt></span></a></td> -<td align="LEFT" valign="TOP"><p> the transform finished</p></td> -</tr> -<tr> -<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMSTATUSOK"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformStatusOk</tt></span></a></td> -<td align="LEFT" valign="TOP"><p> the transform succeeded.</p></td> -</tr> -<tr> -<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMSTATUSFAIL"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformStatusFail</tt></span></a></td> -<td align="LEFT" valign="TOP"><p> the transform failed (an error occur).</p></td> +<td align="LEFT" valign="TOP"><a name="AEN18039"><span style="white-space: nowrap"><code class="PARAMETER">i</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform id.</p></td> </tr> </tbody></table> </div> <hr> <div class="REFSECT2"> -<a name="XMLSECTRANSFORMMODE"></a><h3>enum xmlSecTransformMode</h3> -<pre class="PROGRAMLISTING">typedef enum { - xmlSecTransformModeNone = 0, - xmlSecTransformModePush, - xmlSecTransformModePop -} xmlSecTransformMode;</pre> -<p>The transform operation mode</p> -<p></p> +<a name="XMLSECTRANSFORMCHECKSIZE"></a><h3>xmlSecTransformCheckSize()</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformCheckSize(transform, size)</pre> +<p>Macro. Returns 1 if the <code class="PARAMETER">transform</code> is valid and has at least <code class="PARAMETER">size</code> +bytes or 0 otherwise.</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMMODENONE"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformModeNone</tt></span></a></td> -<td align="LEFT" valign="TOP"><p> the mode is unknown.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN18053"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMMODEPUSH"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformModePush</tt></span></a></td> -<td align="LEFT" valign="TOP"><p> pushing data thru transform. </p></td> -</tr> -<tr> -<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMMODEPOP"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformModePop</tt></span></a></td> -<td align="LEFT" valign="TOP"><p> popping data from transform.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN18058"><span style="white-space: nowrap"><code class="PARAMETER">size</code> :</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="XMLSECTRANSFORMOPERATION"></a><h3>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> +<a name="XMLSECTRANSFORMCONNECT"></a><h3>xmlSecTransformConnect ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformConnect (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> left</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> right</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</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/<gtkdoclink href="SEC-BASE-64"><span class="TYPE">sec-Base-64</span></gtkdoclink>):</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::<gtkdoclink href="TEXT"><code class="FUNCTION">text()</code></gtkdoclink>, 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> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMOPERATIONNONE"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformOperationNone</tt></span></a></td> -<td align="LEFT" valign="TOP"><p> the operation is unknown.</p></td> -</tr> -<tr> -<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMOPERATIONENCODE"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformOperationEncode</tt></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="XMLSECTRANSFORMOPERATIONDECODE"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformOperationDecode</tt></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="XMLSECTRANSFORMOPERATIONSIGN"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformOperationSign</tt></span></a></td> -<td align="LEFT" valign="TOP"><p> the sign or digest operation.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN18087"><span style="white-space: nowrap"><code class="PARAMETER">left</code> :</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="XMLSECTRANSFORMOPERATIONVERIFY"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformOperationVerify</tt></span></a></td> -<td align="LEFT" valign="TOP"><p> the verification of signature or digest operation.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN18092"><span style="white-space: nowrap"><code class="PARAMETER">right</code> :</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="XMLSECTRANSFORMOPERATIONENCRYPT"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformOperationEncrypt</tt></span></a></td> -<td align="LEFT" valign="TOP"><p> the encryption operation.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN18097"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</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="XMLSECTRANSFORMOPERATIONDECRYPT"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformOperationDecrypt</tt></span></a></td> -<td align="LEFT" valign="TOP"><p> the decryption operation.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN18102"><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="XMLSECTRANSFORMURITYPE"></a><h3>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="XMLSECTRANSFORMURITYPENONE"></a><h3>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="XMLSECTRANSFORMURITYPEEMPTY"></a><h3>xmlSecTransformUriTypeEmpty</h3> -<pre class="PROGRAMLISTING">#define xmlSecTransformUriTypeEmpty 0x0001</pre> -<p>The empty URI ("") type.</p> -<p></p> -</div> -<hr> -<div class="REFSECT2"> -<a name="XMLSECTRANSFORMURITYPESAMEDOCUMENT"></a><h3>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="XMLSECTRANSFORMURITYPELOCAL"></a><h3>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="XMLSECTRANSFORMURITYPEREMOTE"></a><h3>xmlSecTransformUriTypeRemote</h3> -<pre class="PROGRAMLISTING">#define xmlSecTransformUriTypeRemote 0x0008</pre> -<p>The remote URI type.</p> -<p></p> -</div> -<hr> -<div class="REFSECT2"> -<a name="XMLSECTRANSFORMURITYPEANY"></a><h3>xmlSecTransformUriTypeAny</h3> -<pre class="PROGRAMLISTING">#define xmlSecTransformUriTypeAny 0xFFFF</pre> -<p>Any URI type.</p> +<a name="XMLSECTRANSFORMCREATE"></a><h3>xmlSecTransformCreate ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="RETURNVALUE">xmlSecTransformPtr</span></a> xmlSecTransformCreate (<code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> id</code>);</pre> +<p>Creates new transform of the <code class="PARAMETER">id</code> 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> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18122"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</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="AEN18127"><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="XMLSECTRANSFORMURITYPECHECK"></a><h3>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 <code class="PARAMETER">uri</code> matches expected type <code class="PARAMETER">type</code>.</p> -<p></p> +<a name="XMLSECTRANSFORMCREATEINPUTBUFFER"></a><h3>xmlSecTransformCreateInputBuffer ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLPARSERINPUTBUFFER"><span class="RETURNVALUE">xmlParserInputBufferPtr</span></gtkdoclink> xmlSecTransformCreateInputBuffer + (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Creates input buffer to read data from <code class="PARAMETER">transform</code>.</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN14469"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the expected URI type.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN18148"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN14474"><span style="white-space: nowrap"><code class="PARAMETER">uri</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the uri for checking.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN18153"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</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="AEN14479"><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 <code class="PARAMETER">uri</code> matches <code class="PARAMETER">type</code>, 0 if not or a negative value -if an error occurs.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN18158"><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="XMLSECTRANSFORMDATATYPE"></a><h3>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="XMLSECTRANSFORMDATATYPEUNKNOWN"></a><h3>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="XMLSECTRANSFORMDATATYPEBIN"></a><h3>xmlSecTransformDataTypeBin</h3> -<pre class="PROGRAMLISTING">#define xmlSecTransformDataTypeBin 0x0001</pre> -<p>The binary transform data.</p> -<p></p> -</div> -<hr> -<div class="REFSECT2"> -<a name="XMLSECTRANSFORMDATATYPEXML"></a><h3>xmlSecTransformDataTypeXml</h3> -<pre class="PROGRAMLISTING">#define xmlSecTransformDataTypeXml 0x0002</pre> -<p>The xml transform data.</p> -<p></p> -</div> -<hr> -<div class="REFSECT2"> -<a name="XMLSECTRANSFORMUSAGE"></a><h3>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="XMLSECTRANSFORMUSAGEUNKNOWN"></a><h3>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="XMLSECTRANSFORMUSAGEDSIGTRANSFORM"></a><h3>xmlSecTransformUsageDSigTransform</h3> -<pre class="PROGRAMLISTING">#define xmlSecTransformUsageDSigTransform 0x0001</pre> -<p>Transform could be used in <dsig:Transform>.</p> -<p></p> -</div> -<hr> -<div class="REFSECT2"> -<a name="XMLSECTRANSFORMUSAGEC14NMETHOD"></a><h3>xmlSecTransformUsageC14NMethod</h3> -<pre class="PROGRAMLISTING">#define xmlSecTransformUsageC14NMethod 0x0002</pre> -<p>Transform could be used in <dsig:CanonicalizationMethod>.</p> -<p></p> -</div> -<hr> -<div class="REFSECT2"> -<a name="XMLSECTRANSFORMUSAGEDIGESTMETHOD"></a><h3>xmlSecTransformUsageDigestMethod</h3> -<pre class="PROGRAMLISTING">#define xmlSecTransformUsageDigestMethod 0x0004</pre> -<p>Transform could be used in <dsig:DigestMethod>.</p> -<p></p> -</div> -<hr> -<div class="REFSECT2"> -<a name="XMLSECTRANSFORMUSAGESIGNATUREMETHOD"></a><h3>xmlSecTransformUsageSignatureMethod</h3> -<pre class="PROGRAMLISTING">#define xmlSecTransformUsageSignatureMethod 0x0008</pre> -<p>Transform could be used in <dsig:SignatureMethod>.</p> -<p></p> -</div> -<hr> -<div class="REFSECT2"> -<a name="XMLSECTRANSFORMUSAGEENCRYPTIONMETHOD"></a><h3>xmlSecTransformUsageEncryptionMethod</h3> -<pre class="PROGRAMLISTING">#define xmlSecTransformUsageEncryptionMethod 0x0010</pre> -<p>Transform could be used in <enc:EncryptionMethod>.</p> -<p></p> -</div> -<hr> -<div class="REFSECT2"> -<a name="XMLSECTRANSFORMUSAGEANY"></a><h3>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="XMLSECTRANSFORMCTXPREEXECUTECALLBACK"></a><h3>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> +<a name="XMLSECTRANSFORMCREATEOUTPUTBUFFER"></a><h3>xmlSecTransformCreateOutputBuffer ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLOUTPUTBUFFERPTR"><span class="RETURNVALUE">xmlOutputBufferPtr</span></gtkdoclink> xmlSecTransformCreateOutputBuffer (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Creates output buffer to write data to <code class="PARAMETER">transform</code>.</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN14580"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform's context. </p></td> +<td align="LEFT" valign="TOP"><a name="AEN18179"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN14585"><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> +<td align="LEFT" valign="TOP"><a name="AEN18184"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</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="AEN18189"><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="XMLSEC-TRANSFORMCTX-FLAGS-USE-VISA3D-HACK--CAPS"></a><h3>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="XMLSECTRANSFORMCTX"></a><h3>struct xmlSecTransformCtx</h3> <pre class="PROGRAMLISTING">struct xmlSecTransformCtx { /* user settings */ - void* userData; - unsigned int flags; - unsigned int flags2; - xmlSecTransformUriType enabledUris; - xmlSecPtrList enabledTransforms; - xmlSecTransformCtxPreExecuteCallback preExecCallback; - + 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; + xmlSecBufferPtr result; + xmlSecTransformStatus status; + xmlChar* uri; + xmlChar* xptrExpr; + xmlSecTransformPtr first; + xmlSecTransformPtr last; /* for the future */ - void* reserved0; - void* reserved1; + 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="AEN14605"><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> +<td align="LEFT" valign="TOP"><a name="AEN18201"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<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="AEN14611"><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> +<td align="LEFT" valign="TOP"><a name="AEN18208"><span style="white-space: nowrap">unsigned <gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> <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="AEN14617"><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> +<td align="LEFT" valign="TOP"><a name="AEN18215"><span style="white-space: nowrap">unsigned <gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> <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="AEN14623"><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> +<td align="LEFT" valign="TOP"><a name="AEN18222"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPE"><span class="TYPE">xmlSecTransformUriType</span></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="AEN14629"><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> +<td align="LEFT" valign="TOP"><a name="AEN18229"><span style="white-space: nowrap"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrList</span></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="AEN14635"><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> +<td align="LEFT" valign="TOP"><a name="AEN18236"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXPREEXECUTECALLBACK"><span class="TYPE">xmlSecTransformCtxPreExecuteCallback</span></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="AEN14641"><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> +<td align="LEFT" valign="TOP"><a name="AEN18243"><span style="white-space: nowrap"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></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="AEN14647"><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> +<td align="LEFT" valign="TOP"><a name="AEN18250"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMSTATUS"><span class="TYPE">xmlSecTransformStatus</span></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="AEN14653"><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> +<td align="LEFT" valign="TOP"><a name="AEN18257"><span style="white-space: nowrap"><gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<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="AEN14659"><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> +<td align="LEFT" valign="TOP"><a name="AEN18264"><span style="white-space: nowrap"><gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<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="AEN14665"><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> +<td align="LEFT" valign="TOP"><a name="AEN18271"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></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="AEN14671"><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> +<td align="LEFT" valign="TOP"><a name="AEN18278"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></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="AEN14677"><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> +<td align="LEFT" valign="TOP"><a name="AEN18285"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<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="AEN14683"><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> +<td align="LEFT" valign="TOP"><a name="AEN18292"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<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="XMLSECTRANSFORMCTXCREATE"></a><h3>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="AEN14700"><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="XMLSECTRANSFORMCTXDESTROY"></a><h3>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> +<a name="XMLSECTRANSFORMCTXAPPEND"></a><h3>xmlSecTransformCtxAppend ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformCtxAppend (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>);</pre> +<p>Connects the <code class="PARAMETER">transform</code> to the end of the chain of transforms in the <code class="PARAMETER">ctx</code> +(see <a href="xmlsec-transforms.html#XMLSECTRANSFORMCONNECT"><span class="TYPE">xmlSecTransformConnect</span></a> function for details).</p> <p></p> -<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> -<td align="LEFT" valign="TOP"><a name="AEN14717"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transforms chain processing context.</p></td> -</tr></tbody></table> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18318"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</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="AEN18323"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</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="AEN18328"><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="XMLSECTRANSFORMCTXINITIALIZE"></a><h3>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> +<a name="XMLSECTRANSFORMCTXBINARYEXECUTE"></a><h3>xmlSecTransformCtxBinaryExecute ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformCtxBinaryExecute (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>);</pre> +<p>Processes binary data using transforms chain in the <code class="PARAMETER">ctx</code>.</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN14734"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transforms chain processing context.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN18352"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</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="AEN18357"><span style="white-space: nowrap"><code class="PARAMETER">data</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="AEN14739"><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> +<td align="LEFT" valign="TOP"><a name="AEN18362"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input data size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18367"><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="XMLSECTRANSFORMCTXFINALIZE"></a><h3>xmlSecTransformCtxFinalize ()</h3> -<pre class="PROGRAMLISTING"><font>void</font> xmlSecTransformCtxFinalize (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtxPtr</a> ctx);</pre> -<p>Cleans up <code class="PARAMETER">ctx</code> object initialized with <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXINITIALIZE"><span class="TYPE">xmlSecTransformCtxInitialize</span></a> function.</p> -<p></p> +<a name="XMLSECTRANSFORMCTXCOPYUSERPREF"></a><h3>xmlSecTransformCtxCopyUserPref ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformCtxCopyUserPref (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> dst</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> src</code>);</pre> +<p>Copies user settings from <code class="PARAMETER">src</code> context to <code class="PARAMETER">dst</code>.</p> <p></p> -<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> -<td align="LEFT" valign="TOP"><a name="AEN14757"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transforms chain processing context.</p></td> -</tr></tbody></table> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18389"><span style="white-space: nowrap"><code class="PARAMETER">dst</code> :</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="AEN18394"><span style="white-space: nowrap"><code class="PARAMETER">src</code> :</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="AEN18399"><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="XMLSECTRANSFORMCTXRESET"></a><h3>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> +<a name="XMLSECTRANSFORMCTXCREATE"></a><h3>xmlSecTransformCtxCreate ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="RETURNVALUE">xmlSecTransformCtxPtr</span></a> xmlSecTransformCtxCreate (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Creates transforms chain processing context. +The caller is responsible for destroying returned object by calling +<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXDESTROY"><span class="TYPE">xmlSecTransformCtxDestroy</span></a> function.</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> -<td align="LEFT" valign="TOP"><a name="AEN14772"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transforms chain processing context.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN18417"><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="XMLSECTRANSFORMCTXCOPYUSERPREF"></a><h3>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 <code class="PARAMETER">src</code> context to <code class="PARAMETER">dst</code>.</p> -<p></p> +<a name="XMLSECTRANSFORMCTXCREATEANDAPPEND"></a><h3>xmlSecTransformCtxCreateAndAppend ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMPTR"><span class="RETURNVALUE">xmlSecTransformPtr</span></gtkdoclink> xmlSecTransformCtxCreateAndAppend (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> id</code>);</pre> +<p>Creaeates new transform and connects it to the end of the chain of +transforms in the <code class="PARAMETER">ctx</code> (see <a href="xmlsec-transforms.html#XMLSECTRANSFORMCONNECT"><span class="TYPE">xmlSecTransformConnect</span></a> function for details).</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN14790"><span style="white-space: nowrap"><code class="PARAMETER">dst</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to destination transforms chain processing context.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN18440"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</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="AEN14795"><span style="white-space: nowrap"><code class="PARAMETER">src</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to source transforms chain processing context.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN18445"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new transform klass.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN14800"><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> +<td align="LEFT" valign="TOP"><a name="AEN18450"><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="XMLSECTRANSFORMCTXSETURI"></a><h3>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/<gtkdoclink href="SEC-REFERENCEPROCESSINGMODEL"><span class="TYPE">sec-ReferenceProcessingModel</span></gtkdoclink>):</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<gtkdoclink href="CHAPTER1"><span class="TYPE">chapter1</span></gtkdoclink>" -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="<gtkdoclink href="CHAPTER1"><span class="TYPE">chapter1</span></gtkdoclink>" -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> +<a name="XMLSECTRANSFORMCTXCREATEANDPREPEND"></a><h3>xmlSecTransformCtxCreateAndPrepend ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMPTR"><span class="RETURNVALUE">xmlSecTransformPtr</span></gtkdoclink> xmlSecTransformCtxCreateAndPrepend (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> id</code>);</pre> +<p>Creaeates new transform and connects it to the end of the chain of +transforms in the <code class="PARAMETER">ctx</code> (see <a href="xmlsec-transforms.html#XMLSECTRANSFORMCONNECT"><span class="TYPE">xmlSecTransformConnect</span></a> function for details).</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"><code class="PARAMETER">ctx</code> :</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="AEN14833"><span style="white-space: nowrap"><code class="PARAMETER">uri</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the URI.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN18473"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</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="AEN14838"><span style="white-space: nowrap"><code class="PARAMETER">hereNode</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to "here" node required by some - XML transforms (may be NULL).</p></td> +<td align="LEFT" valign="TOP"><a name="AEN18478"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new transform klass.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN14843"><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> +<td align="LEFT" valign="TOP"><a name="AEN18483"><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="XMLSECTRANSFORMCTXAPPEND"></a><h3>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 <code class="PARAMETER">transform</code> to the end of the chain of transforms in the <code class="PARAMETER">ctx</code> -(see <a href="xmlsec-transforms.html#XMLSECTRANSFORMCONNECT"><span class="TYPE">xmlSecTransformConnect</span></a> function for details).</p> -<p></p> +<a name="XMLSECTRANSFORMCTXDEBUGDUMP"></a><h3>xmlSecTransformCtxDebugDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecTransformCtxDebugDump (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints transforms context debug information to <code class="PARAMETER">output</code>.</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN14863"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transforms chain processing context.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN18504"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</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="AEN14868"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</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="AEN14873"><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> +<td align="LEFT" valign="TOP"><a name="AEN18509"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</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="XMLSECTRANSFORMCTXPREPEND"></a><h3>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 <code class="PARAMETER">transform</code> to the beggining of the chain of transforms in the <code class="PARAMETER">ctx</code> -(see <a href="xmlsec-transforms.html#XMLSECTRANSFORMCONNECT"><span class="TYPE">xmlSecTransformConnect</span></a> function for details).</p> -<p></p> +<a name="XMLSECTRANSFORMCTXDEBUGXMLDUMP"></a><h3>xmlSecTransformCtxDebugXmlDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecTransformCtxDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints transforms context debug information to <code class="PARAMETER">output</code> in XML format.</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN14893"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transforms chain processing context.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN18530"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</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="AEN14898"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</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="AEN14903"><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> +<td align="LEFT" valign="TOP"><a name="AEN18535"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</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="XMLSECTRANSFORMCTXCREATEANDAPPEND"></a><h3>xmlSecTransformCtxCreateAndAppend ()</h3> -<pre class="PROGRAMLISTING"><font>xmlSecTransformPtr</font> 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 <code class="PARAMETER">ctx</code> (see <a href="xmlsec-transforms.html#XMLSECTRANSFORMCONNECT"><span class="TYPE">xmlSecTransformConnect</span></a> function for details).</p> +<a name="XMLSECTRANSFORMCTXDESTROY"></a><h3>xmlSecTransformCtxDestroy ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecTransformCtxDestroy (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>);</pre> +<p>Destroy context object created with <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXCREATE"><span class="TYPE">xmlSecTransformCtxCreate</span></a> function.</p> <p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN18554"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</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="XMLSECTRANSFORMCTXEXECUTE"></a><h3>xmlSecTransformCtxExecute ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformCtxExecute (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLDOC"><span class="TYPE">xmlDocPtr</span></gtkdoclink> doc</code>);</pre> +<p>Executes transforms chain in <code class="PARAMETER">ctx</code>.</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"><code class="PARAMETER">ctx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transforms chain processing context.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN18575"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</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="AEN14927"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the new transform klass.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN18580"><span style="white-space: nowrap"><code class="PARAMETER">doc</code> :</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="AEN14932"><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> +<td align="LEFT" valign="TOP"><a name="AEN18585"><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="XMLSECTRANSFORMCTXCREATEANDPREPEND"></a><h3>xmlSecTransformCtxCreateAndPrepend ()</h3> -<pre class="PROGRAMLISTING"><font>xmlSecTransformPtr</font> 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 <code class="PARAMETER">ctx</code> (see <a href="xmlsec-transforms.html#XMLSECTRANSFORMCONNECT"><span class="TYPE">xmlSecTransformConnect</span></a> function for details).</p> +<a name="XMLSECTRANSFORMCTXFINALIZE"></a><h3>xmlSecTransformCtxFinalize ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecTransformCtxFinalize (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>);</pre> +<p>Cleans up <code class="PARAMETER">ctx</code> object initialized with <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXINITIALIZE"><span class="TYPE">xmlSecTransformCtxInitialize</span></a> function.</p> <p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN18605"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</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="XMLSECTRANSFORMCTXINITIALIZE"></a><h3>xmlSecTransformCtxInitialize ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformCtxInitialize (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>);</pre> +<p>Initializes transforms chain processing context. +The caller is responsible for cleaning up returned object by calling +<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXFINALIZE"><span class="TYPE">xmlSecTransformCtxFinalize</span></a> function.</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN14951"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transforms chain processing context.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN18624"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</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="AEN14956"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the new transform klass.</p></td> -</tr> -<tr> -<td align="LEFT" valign="TOP"><a name="AEN14961"><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> +<td align="LEFT" valign="TOP"><a name="AEN18629"><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="XMLSECTRANSFORMCTXNODEREAD"></a><h3>xmlSecTransformCtxNodeRead ()</h3> -<pre class="PROGRAMLISTING"><font>xmlSecTransformPtr</font> 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 <code class="PARAMETER">node</code> and appends it to the current chain +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMPTR"><span class="RETURNVALUE">xmlSecTransformPtr</span></gtkdoclink> xmlSecTransformCtxNodeRead (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE"><span class="TYPE">xmlSecTransformUsage</span></a> usage</code>);</pre> +<p>Reads the transform from the <code class="PARAMETER">node</code> and appends it to the current chain of transforms in <code class="PARAMETER">ctx</code>.</p> <p></p> -<p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN14980"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transforms chain processing context.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN18654"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</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="AEN14985"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform's node.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN18659"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</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="AEN14990"><span style="white-space: nowrap"><code class="PARAMETER">usage</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the transform's usage (signature, encryption, etc.).</p></td> +<td align="LEFT" valign="TOP"><a name="AEN18664"><span style="white-space: nowrap"><code class="PARAMETER">usage</code> :</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="AEN14995"><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> +<td align="LEFT" valign="TOP"><a name="AEN18669"><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="XMLSECTRANSFORMCTXNODESLISTREAD"></a><h3>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"><dsig:Transform/></a> children of the <code class="PARAMETER">node</code> and +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformCtxNodesListRead (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE"><span class="TYPE">xmlSecTransformUsage</span></a> usage</code>);</pre> +<p>Reads transforms from the <a href="http://www.w3.org/TR/xmldsig-core/#sec-Transform" target="_top"><dsig:Transform/></a> children of the <code class="PARAMETER">node</code> and appends them to the current transforms chain in <code class="PARAMETER">ctx</code> object.</p> <p></p> -<p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN15015"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transforms chain processing context.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN18695"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</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="AEN15020"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</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"><dsig:Transform/></a> nodes parent node.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN18700"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</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"><dsig:Transform/></a> nodes parent node.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN15026"><span style="white-space: nowrap"><code class="PARAMETER">usage</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the transform's usage (signature, encryption, etc.).</p></td> +<td align="LEFT" valign="TOP"><a name="AEN18706"><span style="white-space: nowrap"><code class="PARAMETER">usage</code> :</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="AEN15031"><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> +<td align="LEFT" valign="TOP"><a name="AEN18711"><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="XMLSECTRANSFORMCTXPREPARE"></a><h3>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 <code class="PARAMETER">inputDataType</code>.</p> -<p></p> +<a name="XMLSECTRANSFORMCTXPREEXECUTECALLBACK"></a><h3>xmlSecTransformCtxPreExecuteCallback ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecTransformCtxPreExecuteCallback) + (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</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> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN15048"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transforms chain processing context.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN18728"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</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="AEN15053"><span style="white-space: nowrap"><code class="PARAMETER">inputDataType</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the expected input type.</p></td> -</tr> -<tr> -<td align="LEFT" valign="TOP"><a name="AEN15058"><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> +<td align="LEFT" valign="TOP"><a name="AEN18733"><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="XMLSECTRANSFORMCTXBINARYEXECUTE"></a><h3>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 <code class="PARAMETER">ctx</code>.</p> -<p></p> +<a name="XMLSECTRANSFORMCTXPREPARE"></a><h3>xmlSecTransformCtxPrepare ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformCtxPrepare (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE"><span class="TYPE">xmlSecTransformDataType</span></a> inputDataType</code>);</pre> +<p>Prepares the transform context for processing data of <code class="PARAMETER">inputDataType</code>.</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN15076"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transforms chain processing context.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN18754"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</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="AEN15081"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the input binary data buffer.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN18759"><span style="white-space: nowrap"><code class="PARAMETER">inputDataType</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the expected input type.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN15086"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the input data size.</p></td> -</tr> -<tr> -<td align="LEFT" valign="TOP"><a name="AEN15091"><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> +<td align="LEFT" valign="TOP"><a name="AEN18764"><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="XMLSECTRANSFORMCTXURIEXECUTE"></a><h3>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 <code class="PARAMETER">ctx</code>.</p> -<p></p> +<a name="XMLSECTRANSFORMCTXPREPEND"></a><h3>xmlSecTransformCtxPrepend ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformCtxPrepend (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>);</pre> +<p>Connects the <code class="PARAMETER">transform</code> to the beggining of the chain of transforms in the <code class="PARAMETER">ctx</code> +(see <a href="xmlsec-transforms.html#XMLSECTRANSFORMCONNECT"><span class="TYPE">xmlSecTransformConnect</span></a> function for details).</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN15108"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transforms chain processing context.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN18788"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</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="AEN15113"><span style="white-space: nowrap"><code class="PARAMETER">uri</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the URI.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN18793"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</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="AEN15118"><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> +<td align="LEFT" valign="TOP"><a name="AEN18798"><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="XMLSECTRANSFORMCTXXMLEXECUTE"></a><h3>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 <code class="PARAMETER">nodes</code> using transforms in the transforms chain in <code class="PARAMETER">ctx</code>.</p> +<a name="XMLSECTRANSFORMCTXRESET"></a><h3>xmlSecTransformCtxReset ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecTransformCtxReset (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>);</pre> +<p>Resets transfroms context for new processing.</p> <p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN18815"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</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="XMLSECTRANSFORMCTXSETURI"></a><h3>xmlSecTransformCtxSetUri ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformCtxSetUri (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *uri</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> hereNode</code>);</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/<gtkdoclink href="SEC-REFERENCEPROCESSINGMODEL"><span class="TYPE">sec-ReferenceProcessingModel</span></gtkdoclink>):</p> +<p></p> +<p></p> +<ul><li><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></li></ul> +<p></p> +<p></p> +<ul><li><p>URI="http://example.com/bar.xml<gtkdoclink href="CHAPTER1"><span class="TYPE">chapter1</span></gtkdoclink>" +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></li></ul> +<p></p> +<p></p> +<ul><li><p>URI="" +identifies the node-set (minus any comment nodes) of the XML resource +containing the signature</p></li></ul> +<p></p> +<p></p> +<ul><li><p>URI="<gtkdoclink href="CHAPTER1"><span class="TYPE">chapter1</span></gtkdoclink>" +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></li></ul> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN15136"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transforms chain processing context.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN18861"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</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="AEN18866"><span style="white-space: nowrap"><code class="PARAMETER">uri</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the URI.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN15141"><span style="white-space: nowrap"><code class="PARAMETER">nodes</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the input node set.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN18871"><span style="white-space: nowrap"><code class="PARAMETER">hereNode</code> :</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="AEN15146"><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> +<td align="LEFT" valign="TOP"><a name="AEN18876"><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="XMLSECTRANSFORMCTXEXECUTE"></a><h3>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 <code class="PARAMETER">ctx</code>.</p> -<p></p> +<a name="XMLSECTRANSFORMCTXURIEXECUTE"></a><h3>xmlSecTransformCtxUriExecute ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformCtxUriExecute (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *uri</code>);</pre> +<p>Process binary data from the URI using transforms chain in <code class="PARAMETER">ctx</code>.</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN15163"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transforms chain processing context.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN18897"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</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="AEN15168"><span style="white-space: nowrap"><code class="PARAMETER">doc</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to input document.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN18902"><span style="white-space: nowrap"><code class="PARAMETER">uri</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the URI.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN15173"><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> +<td align="LEFT" valign="TOP"><a name="AEN18907"><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="XMLSECTRANSFORMCTXDEBUGDUMP"></a><h3>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 <code class="PARAMETER">output</code>.</p> -<p></p> +<a name="XMLSECTRANSFORMCTXXMLEXECUTE"></a><h3>xmlSecTransformCtxXmlExecute ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformCtxXmlExecute (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nodes</code>);</pre> +<p>Process <code class="PARAMETER">nodes</code> using transforms in the transforms chain in <code class="PARAMETER">ctx</code>.</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN15190"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transforms chain processing context.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN18929"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</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="AEN15195"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to output FILE.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN18934"><span style="white-space: nowrap"><code class="PARAMETER">nodes</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input node set.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18939"><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="XMLSECTRANSFORMCTXDEBUGXMLDUMP"></a><h3>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 <code class="PARAMETER">output</code> in XML format.</p> -<p></p> +<a name="XMLSECTRANSFORMDATATYPE"></a><h3>xmlSecTransformDataType</h3> +<pre class="PROGRAMLISTING">typedef xmlSecByte xmlSecTransformDataType;</pre> +<p>Transform data type bit mask.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMDATATYPEBIN"></a><h3>xmlSecTransformDataTypeBin</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformDataTypeBin 0x0001</pre> +<p>The binary transform data.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMDATATYPEUNKNOWN"></a><h3>xmlSecTransformDataTypeUnknown</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformDataTypeUnknown 0x0000</pre> +<p>The transform data type is unknown or nor data expected.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMDATATYPEXML"></a><h3>xmlSecTransformDataTypeXml</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformDataTypeXml 0x0002</pre> +<p>The xml transform data.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMDEBUGDUMP"></a><h3>xmlSecTransformDebugDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecTransformDebugDump (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints transform's debug information to <code class="PARAMETER">output</code>.</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN15212"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transforms chain processing context.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN18984"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN15217"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to output FILE.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN18989"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</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="XMLSECTRANSFORM"></a><h3>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> +<a name="XMLSECTRANSFORMDEBUGXMLDUMP"></a><h3>xmlSecTransformDebugXmlDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecTransformDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints transform's debug information to <code class="PARAMETER">output</code> in XML format.</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN15230"><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 <gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink>).</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19010"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN15238"><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> +<td align="LEFT" valign="TOP"><a name="AEN19015"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</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="XMLSECTRANSFORMDEFAULTGETDATATYPE"></a><h3>xmlSecTransformDefaultGetDataType ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE"><span class="RETURNVALUE">xmlSecTransformDataType</span></a> xmlSecTransformDefaultGetDataType + (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMMODE"><span class="TYPE">xmlSecTransformMode</span></a> mode</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Gets transform input (<code class="PARAMETER">mode</code> is "push") or output (<code class="PARAMETER">mode</code> is "pop") data +type (binary or XML) by analyzing available pushBin/popBin/pushXml/popXml +methods.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN15244"><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> +<td align="LEFT" valign="TOP"><a name="AEN19040"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN15250"><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"><dsig:Transform /></a> node.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19045"><span style="white-space: nowrap"><code class="PARAMETER">mode</code> :</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="AEN15257"><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> +<td align="LEFT" valign="TOP"><a name="AEN19050"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</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="AEN15263"><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> +<td align="LEFT" valign="TOP"><a name="AEN19055"><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 <code class="PARAMETER">mode</code> operation.</p></td> </tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMDEFAULTPOPBIN"></a><h3>xmlSecTransformDefaultPopBin ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformDefaultPopBin (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> maxDataSize</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> *dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Pops data from previous transform in the chain, processes data by calling +transform's execute method and returns result in the <code class="PARAMETER">data</code> buffer. The +size of returned data is placed in the <code class="PARAMETER">dataSize</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN15269"><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> +<td align="LEFT" valign="TOP"><a name="AEN19087"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</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="AEN15275"><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> +<td align="LEFT" valign="TOP"><a name="AEN19092"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</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="AEN15281"><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> +<td align="LEFT" valign="TOP"><a name="AEN19097"><span style="white-space: nowrap"><code class="PARAMETER">maxDataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the size of the buffer <gtkdoclink href="DATA"><span class="TYPE">data</span></gtkdoclink>.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN15287"><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> +<td align="LEFT" valign="TOP"><a name="AEN19104"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</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="AEN15293"><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> +<td align="LEFT" valign="TOP"><a name="AEN19109"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</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="AEN15299"><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> +<td align="LEFT" valign="TOP"><a name="AEN19114"><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="XMLSECTRANSFORMCREATE"></a><h3>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 <code class="PARAMETER">id</code> 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> +<a name="XMLSECTRANSFORMDEFAULTPOPXML"></a><h3>xmlSecTransformDefaultPopXml ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformDefaultPopXml (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> *nodes</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Pops data from previous transform in the chain, processes the data +by calling transform's execute method and returns result in <code class="PARAMETER">nodes</code>.</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN15318"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the transform id to create.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19138"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</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="AEN19143"><span style="white-space: nowrap"><code class="PARAMETER">nodes</code> :</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="AEN19148"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</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="AEN15323"><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> +<td align="LEFT" valign="TOP"><a name="AEN19153"><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="XMLSECTRANSFORMDESTROY"></a><h3>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="AEN15340"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</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="XMLSECTRANSFORMNODEREAD"></a><h3>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 <code class="PARAMETER">node</code> 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> +<a name="XMLSECTRANSFORMDEFAULTPUSHBIN"></a><h3>xmlSecTransformDefaultPushBin ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformDefaultPushBin (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> final</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Process binary <code class="PARAMETER">data</code> by calling transform's execute method and pushes +results to next transform.</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN15362"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to the transform's node.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19183"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</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="AEN19188"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input binary data,</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN15367"><span style="white-space: nowrap"><code class="PARAMETER">usage</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the transform usage (signature, encryption, ...).</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19193"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input data size.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN15372"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the transform's chaing processing context.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19198"><span style="white-space: nowrap"><code class="PARAMETER">final</code> :</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="AEN15377"><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> +<td align="LEFT" valign="TOP"><a name="AEN19203"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</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="AEN19208"><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="XMLSECTRANSFORMPUMP"></a><h3>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 <code class="PARAMETER">left</code> transform and pushes to <code class="PARAMETER">right</code> transform until -no more data is available.</p> -<p></p> +<a name="XMLSECTRANSFORMDEFAULTPUSHXML"></a><h3>xmlSecTransformDefaultPushXml ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformDefaultPushXml (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nodes</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Processes <code class="PARAMETER">nodes</code> by calling transform's execute method and pushes +result to the next transform in the chain.</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN15396"><span style="white-space: nowrap"><code class="PARAMETER">left</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the source pumping transform.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19232"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</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="AEN15401"><span style="white-space: nowrap"><code class="PARAMETER">right</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the destination pumping transform.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19237"><span style="white-space: nowrap"><code class="PARAMETER">nodes</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input nodes.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN15406"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the transform's chaing processing context.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19242"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</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="AEN15411"><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> +<td align="LEFT" valign="TOP"><a name="AEN19247"><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="XMLSECTRANSFORMSETKEY"></a><h3>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> +<a name="XMLSECTRANSFORMDESTROY"></a><h3>xmlSecTransformDestroy ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecTransformDestroy (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>);</pre> +<p>Destroys transform created with <a href="xmlsec-transforms.html#XMLSECTRANSFORMCREATE"><span class="TYPE">xmlSecTransformCreate</span></a> function.</p> <p></p> -<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> -<tr> -<td align="LEFT" valign="TOP"><a name="AEN15427"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform.</p></td> -</tr> -<tr> -<td align="LEFT" valign="TOP"><a name="AEN15432"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to key. </p></td> -</tr> -<tr> -<td align="LEFT" valign="TOP"><a name="AEN15437"><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> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN19266"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</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="XMLSECTRANSFORMSETKEYREQ"></a><h3>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 <code class="PARAMETER">transform</code> in the <code class="PARAMETER">keyReq</code>.</p> +<a name="XMLSECTRANSFORMENVELOPEDGETKLASS"></a><h3>xmlSecTransformEnvelopedGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformEnvelopedGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The enveloped transform klass (http://www.w3.org/TR/xmldsig-core/<gtkdoclink href="SEC-ENVELOPEDSIGNATURE"><span class="TYPE">sec-EnvelopedSignature</span></gtkdoclink>):</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><XPath xmlns:dsig="&dsig;"> + count(ancestor-or-self::dsig:Signature | + <gtkdoclink href="HERE"><code class="FUNCTION">here()</code></gtkdoclink>/ancestor::dsig:Signature[1]) > + count(ancestor-or-self::dsig:Signature)</XPath></p> +<p>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> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN19289"><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="XMLSECTRANSFORMENVELOPEDID"></a><h3>xmlSecTransformEnvelopedId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformEnvelopedId</pre> +<p>The "enveloped" transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMEXCLC14NGETKLASS"></a><h3>xmlSecTransformExclC14NGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformExclC14NGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Exclusive canoncicalization that ommits comments transform klass +(http://www.w3.org/TR/xml-exc-c14n/).</p> <p></p> -<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> -<tr> -<td align="LEFT" valign="TOP"><a name="AEN15455"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform.</p></td> -</tr> -<tr> -<td align="LEFT" valign="TOP"><a name="AEN15460"><span style="white-space: nowrap"><code class="PARAMETER">keyReq</code> :</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="AEN15465"><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> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN19311"><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="XMLSECTRANSFORMVERIFY"></a><h3>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 <gtkdoclink href="STATUS"><span class="TYPE">status</span></gtkdoclink> member of <a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransform</span></a> object.</p> +<a name="XMLSECTRANSFORMEXCLC14NID"></a><h3>xmlSecTransformExclC14NId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformExclC14NId</pre> +<p>The exclusive C14N without comments transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMEXCLC14NWITHCOMMENTSGETKLASS"></a><h3>xmlSecTransformExclC14NWithCommentsGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformExclC14NWithCommentsGetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Exclusive canoncicalization that includes comments transform klass +(http://www.w3.org/TR/xml-exc-c14n/).</p> <p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN19333"><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="XMLSECTRANSFORMEXCLC14NWITHCOMMENTSID"></a><h3>xmlSecTransformExclC14NWithCommentsId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformExclC14NWithCommentsId</pre> +<p>The exclusive C14N with comments transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMEXECUTE"></a><h3>xmlSecTransformExecute ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformExecute (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> last</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Executes transform (used by default popBin/pushBin/popXml/pushXml methods).</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN15487"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform.</p></td> -</tr> -<tr> -<td align="LEFT" valign="TOP"><a name="AEN15492"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the binary data for verification.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19362"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN15497"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the data size.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19367"><span style="white-space: nowrap"><code class="PARAMETER">last</code> :</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="AEN15502"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the transform's chaing processing context.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19372"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</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="AEN15507"><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> +<td align="LEFT" valign="TOP"><a name="AEN19377"><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="XMLSECTRANSFORMVERIFYNODECONTENT"></a><h3>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 <code class="PARAMETER">node</code> 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> +<a name="XMLSECTRANSFORMEXECUTEMETHOD"></a><h3>xmlSecTransformExecuteMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecTransformExecuteMethod) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> last</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Transform specific method to process a chunk of data.</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN15527"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19400"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</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="AEN15532"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to node.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19405"><span style="white-space: nowrap"><code class="PARAMETER">last</code> :</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="AEN15537"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the transform's chaing processing context.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19410"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</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="AEN15542"><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> +<td align="LEFT" valign="TOP"><a name="AEN19415"><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="XMLSECTRANSFORMFINALIZEMETHOD"></a><h3>xmlSecTransformFinalizeMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> (*xmlSecTransformFinalizeMethod) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>);</pre> +<p>The transform specific destroy method.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN19432"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</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="XMLSECTRANSFORMGETDATATYPE"></a><h3>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 (<code class="PARAMETER">mode</code> is "push") or output (<code class="PARAMETER">mode</code> is "pop") data +<pre class="PROGRAMLISTING"><a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE"><span class="RETURNVALUE">xmlSecTransformDataType</span></a> xmlSecTransformGetDataType (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMMODE"><span class="TYPE">xmlSecTransformMode</span></a> mode</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Gets transform input (<code class="PARAMETER">mode</code> is "push") or output (<code class="PARAMETER">mode</code> 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="AEN15561"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19457"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN15566"><span style="white-space: nowrap"><code class="PARAMETER">mode</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the data mode (push or pop).</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19462"><span style="white-space: nowrap"><code class="PARAMETER">mode</code> :</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="AEN15571"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the transform's chaing processing context.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19467"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</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="AEN15576"><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 <code class="PARAMETER">mode</code> operation.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19472"><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 <code class="PARAMETER">mode</code> operation.</p></td> </tr> </tbody></table> </div> <hr> <div class="REFSECT2"> -<a name="XMLSECTRANSFORMPUSHBIN"></a><h3>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 <code class="PARAMETER">data</code> and pushes results to next transform.</p> -<p></p> +<a name="XMLSECTRANSFORMGETDATATYPEMETHOD"></a><h3>xmlSecTransformGetDataTypeMethod ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE"><span class="RETURNVALUE">xmlSecTransformDataType</span></a> (*xmlSecTransformGetDataTypeMethod) + (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMMODE"><span class="TYPE">xmlSecTransformMode</span></a> mode</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>The transform specific method to query information about transform +data type in specified mode <code class="PARAMETER">mode</code>.</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN15597"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</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="AEN15602"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the input binary data,</p></td> -</tr> -<tr> -<td align="LEFT" valign="TOP"><a name="AEN15607"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the input data size.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19497"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</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="AEN15612"><span style="white-space: nowrap"><code class="PARAMETER">final</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the flag: if set to 1 then it's the last - data chunk.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19502"><span style="white-space: nowrap"><code class="PARAMETER">mode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the mode.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN15617"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform context object.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19507"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</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="AEN15622"><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> +<td align="LEFT" valign="TOP"><a name="AEN19512"><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="XMLSECTRANSFORMPOPBIN"></a><h3>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 <code class="PARAMETER">data</code> buffer. The size of returned data is -placed in the <code class="PARAMETER">dataSize</code>.</p> +<a name="XMLSECTRANSFORMGETNAME"></a><h3>xmlSecTransformGetName()</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformGetName(transform)</pre> +<p>Macro. Returns transform name.</p> <p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN19524"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</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="XMLSECTRANSFORMIDLISTDEBUGDUMP"></a><h3>xmlSecTransformIdListDebugDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecTransformIdListDebugDump (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints binary transform debug information to <code class="PARAMETER">output</code>.</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN15643"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform object.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19545"><span style="white-space: nowrap"><code class="PARAMETER">list</code> :</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="AEN15648"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</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="AEN15653"><span style="white-space: nowrap"><code class="PARAMETER">maxDataSize</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the size of the buffer <gtkdoclink href="DATA"><span class="TYPE">data</span></gtkdoclink>.</p></td> -</tr> -<tr> -<td align="LEFT" valign="TOP"><a name="AEN15660"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</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="AEN15665"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</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="AEN15670"><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> +<td align="LEFT" valign="TOP"><a name="AEN19550"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</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="XMLSECTRANSFORMPUSHXML"></a><h3>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 <code class="PARAMETER">nodes</code> and pushes result to the next transform in the chain.</p> -<p></p> +<a name="XMLSECTRANSFORMIDLISTDEBUGXMLDUMP"></a><h3>xmlSecTransformIdListDebugXmlDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecTransformIdListDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints binary transform debug information to <code class="PARAMETER">output</code> in XML format.</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN15688"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</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="AEN15693"><span style="white-space: nowrap"><code class="PARAMETER">nodes</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the input nodes.</p></td> -</tr> -<tr> -<td align="LEFT" valign="TOP"><a name="AEN15698"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform context object.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19571"><span style="white-space: nowrap"><code class="PARAMETER">list</code> :</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="AEN15703"><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> +<td align="LEFT" valign="TOP"><a name="AEN19576"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</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="XMLSECTRANSFORMPOPXML"></a><h3>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 <code class="PARAMETER">nodes</code>.</p> -<p></p> +<a name="XMLSECTRANSFORMIDLISTFIND"></a><h3>xmlSecTransformIdListFind ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformIdListFind (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> transformId</code>);</pre> +<p>Lookups <code class="PARAMETER">dataId</code> in <code class="PARAMETER">list</code>.</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN15721"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</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="AEN15726"><span style="white-space: nowrap"><code class="PARAMETER">nodes</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to store popinter to result nodes.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19598"><span style="white-space: nowrap"><code class="PARAMETER">list</code> :</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="AEN15731"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform context object.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19603"><span style="white-space: nowrap"><code class="PARAMETER">transformId</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform klass.</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 if an error occurs.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19608"><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 <code class="PARAMETER">dataId</code> is found in the <code class="PARAMETER">list</code>, 0 if not and a negative +value if an error occurs.</p></td> </tr> </tbody></table> </div> <hr> <div class="REFSECT2"> -<a name="XMLSECTRANSFORMEXECUTE"></a><h3>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> +<a name="XMLSECTRANSFORMIDLISTFINDBYHREF"></a><h3>xmlSecTransformIdListFindByHref ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformIdListFindByHref (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *href</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE"><span class="TYPE">xmlSecTransformUsage</span></a> usage</code>);</pre> +<p>Lookups data klass in the list with given <code class="PARAMETER">href</code> and <code class="PARAMETER">usage</code> in <code class="PARAMETER">list</code>.</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN15753"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19636"><span style="white-space: nowrap"><code class="PARAMETER">list</code> :</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="AEN15758"><span style="white-space: nowrap"><code class="PARAMETER">last</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the flag: if set to 1 then it's the last data chunk.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19641"><span style="white-space: nowrap"><code class="PARAMETER">href</code> :</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="AEN15763"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the transform's chaing processing context.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19646"><span style="white-space: nowrap"><code class="PARAMETER">usage</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired transform usage.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN15768"><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> +<td align="LEFT" valign="TOP"><a name="AEN19651"><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="XMLSECTRANSFORMDEBUGDUMP"></a><h3>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 <code class="PARAMETER">output</code>.</p> -<p></p> +<a name="XMLSECTRANSFORMIDLISTFINDBYNAME"></a><h3>xmlSecTransformIdListFindByName ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformIdListFindByName (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE"><span class="TYPE">xmlSecTransformUsage</span></a> usage</code>);</pre> +<p>Lookups data klass in the list with given <code class="PARAMETER">name</code> and <code class="PARAMETER">usage</code> in <code class="PARAMETER">list</code>.</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN15785"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19677"><span style="white-space: nowrap"><code class="PARAMETER">list</code> :</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="AEN15790"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to output FILE.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19682"><span style="white-space: nowrap"><code class="PARAMETER">name</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired transform klass name.</p></td> </tr> -</tbody></table> -</div> -<hr> -<div class="REFSECT2"> -<a name="XMLSECTRANSFORMDEBUGXMLDUMP"></a><h3>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 <code class="PARAMETER">output</code> 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="AEN15807"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19687"><span style="white-space: nowrap"><code class="PARAMETER">usage</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired transform usage.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN15812"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to output FILE.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19692"><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="XMLSECTRANSFORMGETNAME"></a><h3>xmlSecTransformGetName()</h3> -<pre class="PROGRAMLISTING">#define xmlSecTransformGetName(transform)</pre> -<p>Macro. Returns transform name.</p> -<p></p> +<a name="XMLSECTRANSFORMIDLISTGETKLASS"></a><h3>xmlSecTransformIdListGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECPTRLISTID"><span class="RETURNVALUE">xmlSecPtrListId</span></gtkdoclink> xmlSecTransformIdListGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The transform id list klass.</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> -<td align="LEFT" valign="TOP"><a name="AEN15825"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19708"><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="XMLSECTRANSFORMISVALID"></a><h3>xmlSecTransformIsValid()</h3> -<pre class="PROGRAMLISTING">#define xmlSecTransformIsValid(transform)</pre> -<p>Macro. Returns 1 if the <code class="PARAMETER">transform</code> is valid or 0 otherwise.</p> -<p></p> +<a name="XMLSECTRANSFORMIDLISTID"></a><h3>xmlSecTransformIdListId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformIdListId xmlSecTransformIdListGetKlass()</pre> +<p>Transform klasses list klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMIDUNKNOWN"></a><h3>xmlSecTransformIdUnknown</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformIdUnknown ((xmlSecTransformId)NULL)</pre> +<p>The "unknown" transform id (NULL).</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMIDSGET"></a><h3>xmlSecTransformIdsGet ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="RETURNVALUE">xmlSecPtrListPtr</span></a> xmlSecTransformIdsGet (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Gets global registered transform klasses list.</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> -<td align="LEFT" valign="TOP"><a name="AEN15839"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19736"><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="XMLSECTRANSFORMCHECKTYPE"></a><h3>xmlSecTransformCheckType()</h3> -<pre class="PROGRAMLISTING">#define xmlSecTransformCheckType(transform, t)</pre> -<p>Macro. Returns 1 if the <code class="PARAMETER">transform</code> is valid and has specified type <code class="PARAMETER">t</code> -or 0 otherwise.</p> -<p></p> +<a name="XMLSECTRANSFORMIDSINIT"></a><h3>xmlSecTransformIdsInit ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformIdsInit (<code class="PARAMETER"><span class="TYPE">void</span></code>);</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> -<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> -<tr> -<td align="LEFT" valign="TOP"><a name="AEN15854"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform.</p></td> -</tr> -<tr> -<td align="LEFT" valign="TOP"><a name="AEN15859"><span style="white-space: nowrap"><code class="PARAMETER">t</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the transform type.</p></td> -</tr> -</tbody></table> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN19754"><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="XMLSECTRANSFORMCHECKID"></a><h3>xmlSecTransformCheckId()</h3> -<pre class="PROGRAMLISTING">#define xmlSecTransformCheckId(transform, i)</pre> -<p>Macro. Returns 1 if the <code class="PARAMETER">transform</code> is valid and has specified id <code class="PARAMETER">i</code> -or 0 otherwise.</p> -<p></p> +<a name="XMLSECTRANSFORMIDSREGISTER"></a><h3>xmlSecTransformIdsRegister ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformIdsRegister (<code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> id</code>);</pre> +<p>Registers <code class="PARAMETER">id</code> in the global list of transform klasses.</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN15874"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19772"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform klass.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN15879"><span style="white-space: nowrap"><code class="PARAMETER">i</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the transform id.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19777"><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="XMLSECTRANSFORMCHECKSIZE"></a><h3>xmlSecTransformCheckSize()</h3> -<pre class="PROGRAMLISTING">#define xmlSecTransformCheckSize(transform, size)</pre> -<p>Macro. Returns 1 if the <code class="PARAMETER">transform</code> is valid and has at least <code class="PARAMETER">size</code> -bytes or 0 otherwise.</p> -<p></p> +<a name="XMLSECTRANSFORMIDSREGISTERDEFAULT"></a><h3>xmlSecTransformIdsRegisterDefault ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformIdsRegisterDefault (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Registers default (implemented by XML Security Library) +transform klasses: XPath transform, Base64 transform, ...</p> <p></p> -<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> -<tr> -<td align="LEFT" valign="TOP"><a name="AEN15894"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform.</p></td> -</tr> -<tr> -<td align="LEFT" valign="TOP"><a name="AEN15899"><span style="white-space: nowrap"><code class="PARAMETER">size</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the transform object size.</p></td> -</tr> -</tbody></table> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN19793"><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="XMLSECTRANSFORMCONNECT"></a><h3>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/<gtkdoclink href="SEC-BASE-64"><span class="TYPE">sec-Base-64</span></gtkdoclink>):</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::<gtkdoclink href="TEXT"><code class="FUNCTION">text()</code></gtkdoclink>, 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> +<a name="XMLSECTRANSFORMIDSSHUTDOWN"></a><h3>xmlSecTransformIdsShutdown ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecTransformIdsShutdown (<code class="PARAMETER"><span class="TYPE">void</span></code>);</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> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMINCLC14N11GETKLASS"></a><h3>xmlSecTransformInclC14N11GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformInclC14N11GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>C14N version 1.1 (http://www.w3.org/TR/xml-c14n11)</p> <p></p> -<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> -<tr> -<td align="LEFT" valign="TOP"><a name="AEN15922"><span style="white-space: nowrap"><code class="PARAMETER">left</code> :</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="AEN15927"><span style="white-space: nowrap"><code class="PARAMETER">right</code> :</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="AEN15932"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</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="AEN15937"><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> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN19821"><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="XMLSECTRANSFORMREMOVE"></a><h3>xmlSecTransformRemove ()</h3> -<pre class="PROGRAMLISTING"><font>void</font> xmlSecTransformRemove (<a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransformPtr</a> transform);</pre> -<p>Removes <code class="PARAMETER">transform</code> from the chain.</p> +<a name="XMLSECTRANSFORMINCLC14N11ID"></a><h3>xmlSecTransformInclC14N11Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformInclC14N11Id</pre> +<p>The regular (inclusive) C14N 1.1 without comments transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMINCLC14N11WITHCOMMENTSGETKLASS"></a><h3>xmlSecTransformInclC14N11WithCommentsGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformInclC14N11WithCommentsGetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>C14N version 1.1 (http://www.w3.org/TR/xml-c14n11) with comments</p> <p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN19843"><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="XMLSECTRANSFORMINCLC14N11WITHCOMMENTSID"></a><h3>xmlSecTransformInclC14N11WithCommentsId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformInclC14N11WithCommentsId</pre> +<p>The regular (inclusive) C14N 1.1 with comments transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMINCLC14NGETKLASS"></a><h3>xmlSecTransformInclC14NGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformInclC14NGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Inclusive (regular) canonicalization that omits comments transform klass +(http://www.w3.org/TR/xmldsig-core/<gtkdoclink href="SEC-C14NALG"><span class="TYPE">sec-c14nAlg</span></gtkdoclink> and +http://www.w3.org/TR/2001/REC-xml-c14n-20010315).</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> -<td align="LEFT" valign="TOP"><a name="AEN15953"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</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> +<td align="LEFT" valign="TOP"><a name="AEN19867"><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="XMLSECTRANSFORMDEFAULTGETDATATYPE"></a><h3>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 (<code class="PARAMETER">mode</code> is "push") or output (<code class="PARAMETER">mode</code> is "pop") data -type (binary or XML) by analyzing available pushBin/popBin/pushXml/popXml -methods.</p> +<a name="XMLSECTRANSFORMINCLC14NID"></a><h3>xmlSecTransformInclC14NId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformInclC14NId</pre> +<p>The regular (inclusive) C14N without comments transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMINCLC14NWITHCOMMENTSGETKLASS"></a><h3>xmlSecTransformInclC14NWithCommentsGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformInclC14NWithCommentsGetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Inclusive (regular) canonicalization that includes comments transform klass +(http://www.w3.org/TR/xmldsig-core/<gtkdoclink href="SEC-C14NALG"><span class="TYPE">sec-c14nAlg</span></gtkdoclink> and +http://www.w3.org/TR/2001/REC-xml-c14n-20010315).</p> <p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN19891"><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="XMLSECTRANSFORMINCLC14NWITHCOMMENTSID"></a><h3>xmlSecTransformInclC14NWithCommentsId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformInclC14NWithCommentsId</pre> +<p>The regular (inclusive) C14N with comments transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMINITIALIZEMETHOD"></a><h3>xmlSecTransformInitializeMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecTransformInitializeMethod) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>);</pre> +<p>The transform specific initialization method.</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN15974"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19914"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</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="AEN15979"><span style="white-space: nowrap"><code class="PARAMETER">mode</code> :</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="AEN15984"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</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="AEN15989"><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 <code class="PARAMETER">mode</code> operation.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19919"><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="XMLSECTRANSFORMDEFAULTPUSHBIN"></a><h3>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 <code class="PARAMETER">data</code> by calling transform's execute method and pushes -results to next transform.</p> +<a name="XMLSECTRANSFORMISVALID"></a><h3>xmlSecTransformIsValid()</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformIsValid(transform)</pre> +<p>Macro. Returns 1 if the <code class="PARAMETER">transform</code> is valid or 0 otherwise.</p> <p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN19932"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</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="XMLSECTRANSFORMKLASS"></a><h3>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> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16010"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform object.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19944"><span style="white-space: nowrap"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></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="AEN16015"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the input binary data,</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19951"><span style="white-space: nowrap"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></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="AEN16020"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the input data size.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19958"><span style="white-space: nowrap">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<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="AEN16025"><span style="white-space: nowrap"><code class="PARAMETER">final</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the flag: if set to 1 then it's the last - data chunk.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19965"><span style="white-space: nowrap">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<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="AEN16030"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform context object.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19972"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE"><span class="TYPE">xmlSecTransformUsage</span></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="AEN16035"><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> +<td align="LEFT" valign="TOP"><a name="AEN19979"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMINITIALIZEMETHOD"><span class="TYPE">xmlSecTransformInitializeMethod</span></a> <code class="STRUCTFIELD">initialize</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the initialization method.</p></td> </tr> -</tbody></table> -</div> -<hr> -<div class="REFSECT2"> -<a name="XMLSECTRANSFORMDEFAULTPOPBIN"></a><h3>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 <code class="PARAMETER">data</code> buffer. The -size of returned data is placed in the <code class="PARAMETER">dataSize</code>.</p> -<p></p> -<p></p> -<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16056"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform object.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19986"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMFINALIZEMETHOD"><span class="TYPE">xmlSecTransformFinalizeMethod</span></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="AEN16061"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the buffer to store result data.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN19993"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMNODEREADMETHOD"><span class="TYPE">xmlSecTransformNodeReadMethod</span></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="AEN16066"><span style="white-space: nowrap"><code class="PARAMETER">maxDataSize</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the size of the buffer <gtkdoclink href="DATA"><span class="TYPE">data</span></gtkdoclink>.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20000"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMNODEWRITEMETHOD"><span class="TYPE">xmlSecTransformNodeWriteMethod</span></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="AEN16073"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to returned data size.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20007"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMSETKEYREQUIREMENTSMETHOD"><span class="TYPE">xmlSecTransformSetKeyRequirementsMethod</span></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="AEN16078"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform context object.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20014"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMSETKEYMETHOD"><span class="TYPE">xmlSecTransformSetKeyMethod</span></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="AEN16083"><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> +<td align="LEFT" valign="TOP"><a name="AEN20021"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMVERIFYMETHOD"><span class="TYPE">xmlSecTransformVerifyMethod</span></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> -</tbody></table> -</div> -<hr> -<div class="REFSECT2"> -<a name="XMLSECTRANSFORMDEFAULTPUSHXML"></a><h3>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 <code class="PARAMETER">nodes</code> 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="AEN16101"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform object.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20028"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMGETDATATYPEMETHOD"><span class="TYPE">xmlSecTransformGetDataTypeMethod</span></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="AEN16106"><span style="white-space: nowrap"><code class="PARAMETER">nodes</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the input nodes.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20035"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMPUSHBINMETHOD"><span class="TYPE">xmlSecTransformPushBinMethod</span></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="AEN16111"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform context object.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20042"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMPOPBINMETHOD"><span class="TYPE">xmlSecTransformPopBinMethod</span></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="AEN16116"><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> +<td align="LEFT" valign="TOP"><a name="AEN20049"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMPUSHXMLMETHOD"><span class="TYPE">xmlSecTransformPushXmlMethod</span></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> -</tbody></table> -</div> -<hr> -<div class="REFSECT2"> -<a name="XMLSECTRANSFORMDEFAULTPOPXML"></a><h3>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 <code class="PARAMETER">nodes</code>.</p> -<p></p> -<p></p> -<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16134"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform object.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20056"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMPOPXMLMETHOD"><span class="TYPE">xmlSecTransformPopXmlMethod</span></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="AEN16139"><span style="white-space: nowrap"><code class="PARAMETER">nodes</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to store popinter to result nodes.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20063"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMEXECUTEMETHOD"><span class="TYPE">xmlSecTransformExecuteMethod</span></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 <code class="PARAMETER">pushBin</code>, <code class="PARAMETER">popBin</code>, <code class="PARAMETER">pushXml</code> and <code class="PARAMETER">popXml</code>.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16144"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform context object.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20074"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<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="AEN16149"><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> +<td align="LEFT" valign="TOP"><a name="AEN20081"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<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="XMLSECTRANSFORMCREATEOUTPUTBUFFER"></a><h3>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 <code class="PARAMETER">transform</code>.</p> -<p></p> +<a name="XMLSECTRANSFORMKLASSGETNAME"></a><h3>xmlSecTransformKlassGetName()</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformKlassGetName(klass)</pre> +<p>Macro. Returns transform klass name.</p> <p></p> -<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> -<tr> -<td align="LEFT" valign="TOP"><a name="AEN16166"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform.</p></td> -</tr> -<tr> -<td align="LEFT" valign="TOP"><a name="AEN16171"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</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="AEN16176"><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> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN20095"><span style="white-space: nowrap"><code class="PARAMETER">klass</code> :</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="XMLSECTRANSFORMCREATEINPUTBUFFER"></a><h3>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 <code class="PARAMETER">transform</code>.</p> -<p></p> +<a name="XMLSECTRANSFORMMODE"></a><h3>enum xmlSecTransformMode</h3> +<pre class="PROGRAMLISTING">typedef enum { + xmlSecTransformModeNone = 0, + xmlSecTransformModePush, + xmlSecTransformModePop +} xmlSecTransformMode;</pre> +<p>The transform operation mode</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16193"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform.</p></td> -</tr> -<tr> -<td align="LEFT" valign="TOP"><a name="AEN16198"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</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="AEN16203"><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> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMMODENONE"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformModeNone</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the mode is unknown.</p></td> </tr> -</tbody></table> -</div> -<hr> -<div class="REFSECT2"> -<a name="XMLSECTRANSFORMINITIALIZEMETHOD"></a><h3>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="AEN16218"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform object.</p></td> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMMODEPUSH"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformModePush</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>pushing data thru transform.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16223"><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> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMMODEPOP"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformModePop</tt></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="XMLSECTRANSFORMFINALIZEMETHOD"></a><h3>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="AEN16238"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</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="XMLSECTRANSFORMGETDATATYPEMETHOD"></a><h3>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 <code class="PARAMETER">mode</code>.</p> -<p></p> +<a name="XMLSECTRANSFORMNODEREAD"></a><h3>xmlSecTransformNodeRead ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMPTR"><span class="RETURNVALUE">xmlSecTransformPtr</span></gtkdoclink> xmlSecTransformNodeRead (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE"><span class="TYPE">xmlSecTransformUsage</span></a> usage</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Reads transform from the <code class="PARAMETER">node</code> 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> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16256"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform object.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20145"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</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="AEN16261"><span style="white-space: nowrap"><code class="PARAMETER">mode</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the mode.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20150"><span style="white-space: nowrap"><code class="PARAMETER">usage</code> :</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="AEN16266"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform context object.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20155"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</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="AEN16271"><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> +<td align="LEFT" valign="TOP"><a name="AEN20160"><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="XMLSECTRANSFORMNODEREADMETHOD"></a><h3>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 +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecTransformNodeReadMethod) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>The transform specific method to read the transform data from the <code class="PARAMETER">node</code>.</p> <p></p> -<p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16289"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform object.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20184"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</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="AEN16294"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</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"><dsig:Transform/></a> node.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20189"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</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"><dsig:Transform/></a> node.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16300"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform context object.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20195"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</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="AEN16305"><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> +<td align="LEFT" valign="TOP"><a name="AEN20200"><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="XMLSECTRANSFORMNODEWRITEMETHOD"></a><h3>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> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecTransformNodeWriteMethod) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> <p>The transform specific method to write transform information to an XML node <code class="PARAMETER">node</code>.</p> <p></p> -<p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16323"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform object.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20224"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</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="AEN16328"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</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"><dsig:Transform/></a> node.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20229"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</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"><dsig:Transform/></a> node.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16334"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform context object.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20235"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</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="AEN16339"><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> +<td align="LEFT" valign="TOP"><a name="AEN20240"><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="XMLSECTRANSFORMSETKEYREQUIREMENTSMETHOD"></a><h3>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="AEN16355"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</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="AEN16360"><span style="white-space: nowrap"><code class="PARAMETER">keyReq</code> :</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="AEN16365"><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="XMLSECTRANSFORMSETKEYMETHOD"></a><h3>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> +<a name="XMLSECTRANSFORMOPERATION"></a><h3>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> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16381"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform object.</p></td> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMOPERATIONNONE"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformOperationNone</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the operation is unknown.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16386"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to key.</p></td> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMOPERATIONENCODE"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformOperationEncode</tt></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="AEN16391"><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="XMLSECTRANSFORMVERIFYMETHOD"></a><h3>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 <code class="PARAMETER">status</code> -member of the <a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransform</span></a> structure to either <a href="xmlsec-transforms.html#XMLSECTRANSFORMSTATUSOK"><span class="TYPE">xmlSecTransformStatusOk</span></a> -if verification succeeded or <a href="xmlsec-transforms.html#XMLSECTRANSFORMSTATUSFAIL"><span class="TYPE">xmlSecTransformStatusFail</span></a> otherwise.</p> -<p></p> -<p></p> -<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> -<tr> -<td align="LEFT" valign="TOP"><a name="AEN16416"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform object.</p></td> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMOPERATIONDECODE"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformOperationDecode</tt></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="AEN16421"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the input buffer.</p></td> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMOPERATIONSIGN"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformOperationSign</tt></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="AEN16426"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the size of input buffer <code class="PARAMETER">data</code>.</p></td> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMOPERATIONVERIFY"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformOperationVerify</tt></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="AEN16432"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform context object.</p></td> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMOPERATIONENCRYPT"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformOperationEncrypt</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the encryption operation.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16437"><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> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMOPERATIONDECRYPT"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformOperationDecrypt</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the decryption operation.</p></td> </tr> </tbody></table> </div> <hr> <div class="REFSECT2"> -<a name="XMLSECTRANSFORMPUSHBINMETHOD"></a><h3>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 <code class="PARAMETER">data</code> and push -result to the next transform in the chain.</p> -<p></p> +<a name="XMLSECTRANSFORMPOPBIN"></a><h3>xmlSecTransformPopBin ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformPopBin (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> maxDataSize</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> *dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Pops data from previous transform in the chain, processes data and +returns result in the <code class="PARAMETER">data</code> buffer. The size of returned data is +placed in the <code class="PARAMETER">dataSize</code>.</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16457"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform object.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20313"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</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="AEN16462"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the input binary data,</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20318"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</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="AEN16467"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the input data size.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20323"><span style="white-space: nowrap"><code class="PARAMETER">maxDataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the size of the buffer <gtkdoclink href="DATA"><span class="TYPE">data</span></gtkdoclink>.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16472"><span style="white-space: nowrap"><code class="PARAMETER">final</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the flag: if set to 1 then it's the last - data chunk.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20330"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</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="AEN16477"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform context object.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20335"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</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="AEN16482"><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> +<td align="LEFT" valign="TOP"><a name="AEN20340"><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="XMLSECTRANSFORMPOPBINMETHOD"></a><h3>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 +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecTransformPopBinMethod) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> maxDataSize</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> *dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>The transform specific method to pop data from previous transform in the chain and return result in the <code class="PARAMETER">data</code> buffer. The size of returned data is placed in the <code class="PARAMETER">dataSize</code>.</p> <p></p> -<p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16503"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform object.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20371"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</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="AEN16508"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the buffer to store result data.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20376"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</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="AEN16513"><span style="white-space: nowrap"><code class="PARAMETER">maxDataSize</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the size of the buffer <code class="PARAMETER">data</code>.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20381"><span style="white-space: nowrap"><code class="PARAMETER">maxDataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the size of the buffer <code class="PARAMETER">data</code>.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16519"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to returned data size.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20387"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</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="AEN16524"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform context object.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20392"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</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="AEN16529"><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> +<td align="LEFT" valign="TOP"><a name="AEN20397"><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="XMLSECTRANSFORMPUSHXMLMETHOD"></a><h3>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 <code class="PARAMETER">nodes</code> and push result to the next -transform in the chain.</p> -<p></p> +<a name="XMLSECTRANSFORMPOPXML"></a><h3>xmlSecTransformPopXml ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformPopXml (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> *nodes</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Pops data from previous transform in the chain, processes the data and +returns result in <code class="PARAMETER">nodes</code>.</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16547"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform object.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20421"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</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="AEN16552"><span style="white-space: nowrap"><code class="PARAMETER">nodes</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the input nodes.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20426"><span style="white-space: nowrap"><code class="PARAMETER">nodes</code> :</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="AEN16557"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform context object.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20431"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</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="AEN16562"><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> +<td align="LEFT" valign="TOP"><a name="AEN20436"><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="XMLSECTRANSFORMPOPXMLMETHOD"></a><h3>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> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecTransformPopXmlMethod) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> *nodes</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> <p>The transform specific method to pop data from previous transform in the chain, process the data and return result in <code class="PARAMETER">nodes</code>.</p> <p></p> -<p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16580"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform object.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20460"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</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="AEN16585"><span style="white-space: nowrap"><code class="PARAMETER">nodes</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to store popinter to result nodes.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20465"><span style="white-space: nowrap"><code class="PARAMETER">nodes</code> :</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="AEN16590"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform context object.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20470"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</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="AEN16595"><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> +<td align="LEFT" valign="TOP"><a name="AEN20475"><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="XMLSECTRANSFORMEXECUTEMETHOD"></a><h3>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> +<a name="XMLSECTRANSFORMPUMP"></a><h3>xmlSecTransformPump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformPump (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> left</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> right</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Pops data from <code class="PARAMETER">left</code> transform and pushes to <code class="PARAMETER">right</code> transform until +no more data is available.</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16612"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform object.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20500"><span style="white-space: nowrap"><code class="PARAMETER">left</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the source pumping transform.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16617"><span style="white-space: nowrap"><code class="PARAMETER">last</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the flag: if set to 1 then it's the last data chunk.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20505"><span style="white-space: nowrap"><code class="PARAMETER">right</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the destination pumping transform.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16622"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform context object.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20510"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</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="AEN16627"><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> +<td align="LEFT" valign="TOP"><a name="AEN20515"><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="XMLSECTRANSFORMKLASS"></a><h3>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> +<a name="XMLSECTRANSFORMPUSHBIN"></a><h3>xmlSecTransformPushBin ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformPushBin (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> final</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Process binary <code class="PARAMETER">data</code> and pushes results to next transform.</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16640"><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> +<td align="LEFT" valign="TOP"><a name="AEN20545"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</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="AEN16646"><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> +<td align="LEFT" valign="TOP"><a name="AEN20550"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input binary data,</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16652"><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> +<td align="LEFT" valign="TOP"><a name="AEN20555"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input data size.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16658"><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> +<td align="LEFT" valign="TOP"><a name="AEN20560"><span style="white-space: nowrap"><code class="PARAMETER">final</code> :</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="AEN16664"><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> +<td align="LEFT" valign="TOP"><a name="AEN20565"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</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="AEN16670"><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> +<td align="LEFT" valign="TOP"><a name="AEN20570"><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="XMLSECTRANSFORMPUSHBINMETHOD"></a><h3>xmlSecTransformPushBinMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecTransformPushBinMethod) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> final</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>The transform specific method to process data from <code class="PARAMETER">data</code> and push +result to the next transform in the chain.</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"><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> +<td align="LEFT" valign="TOP"><a name="AEN20600"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</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="AEN16682"><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> +<td align="LEFT" valign="TOP"><a name="AEN20605"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input binary data,</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16688"><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> +<td align="LEFT" valign="TOP"><a name="AEN20610"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input data size.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16694"><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> +<td align="LEFT" valign="TOP"><a name="AEN20615"><span style="white-space: nowrap"><code class="PARAMETER">final</code> :</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="AEN16700"><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> +<td align="LEFT" valign="TOP"><a name="AEN20620"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</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="AEN16706"><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> +<td align="LEFT" valign="TOP"><a name="AEN20625"><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="XMLSECTRANSFORMPUSHXML"></a><h3>xmlSecTransformPushXml ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformPushXml (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nodes</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Processes <code class="PARAMETER">nodes</code> and pushes result to the next transform in the chain.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16712"><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> +<td align="LEFT" valign="TOP"><a name="AEN20649"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</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="AEN16718"><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> +<td align="LEFT" valign="TOP"><a name="AEN20654"><span style="white-space: nowrap"><code class="PARAMETER">nodes</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input nodes.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16724"><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> +<td align="LEFT" valign="TOP"><a name="AEN20659"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</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="AEN16730"><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> +<td align="LEFT" valign="TOP"><a name="AEN20664"><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="XMLSECTRANSFORMPUSHXMLMETHOD"></a><h3>xmlSecTransformPushXmlMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecTransformPushXmlMethod) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nodes</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>The transform specific method to process <code class="PARAMETER">nodes</code> and push result to the next +transform in the chain.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16736"><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> +<td align="LEFT" valign="TOP"><a name="AEN20688"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</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="AEN16742"><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 <code class="PARAMETER">pushBin</code>, <code class="PARAMETER">popBin</code>, <code class="PARAMETER">pushXml</code> and <code class="PARAMETER">popXml</code>.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20693"><span style="white-space: nowrap"><code class="PARAMETER">nodes</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input nodes.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16752"><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> +<td align="LEFT" valign="TOP"><a name="AEN20698"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</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="AEN16758"><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> +<td align="LEFT" valign="TOP"><a name="AEN20703"><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="XMLSECTRANSFORMKLASSGETNAME"></a><h3>xmlSecTransformKlassGetName()</h3> -<pre class="PROGRAMLISTING">#define xmlSecTransformKlassGetName(klass)</pre> -<p>Macro. Returns transform klass name.</p> -<p></p> +<a name="XMLSECTRANSFORMREMOVE"></a><h3>xmlSecTransformRemove ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecTransformRemove (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>);</pre> +<p>Removes <code class="PARAMETER">transform</code> from the chain.</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> -<td align="LEFT" valign="TOP"><a name="AEN16772"><span style="white-space: nowrap"><code class="PARAMETER">klass</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the transofrm's klass.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20721"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</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="XMLSECTRANSFORMIDLISTID"></a><h3>xmlSecTransformIdListId</h3> -<pre class="PROGRAMLISTING">#define xmlSecTransformIdListId xmlSecTransformIdListGetKlass()</pre> -<p>Transform klasses list klass.</p> +<a name="XMLSECTRANSFORMREMOVEXMLTAGSC14NGETKLASS"></a><h3>xmlSecTransformRemoveXmlTagsC14NGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformRemoveXmlTagsC14NGetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The "remove xml tags" transform klass (http://www.w3.org/TR/xmldsig-core/<gtkdoclink href="SEC-BASE-64"><span class="TYPE">sec-Base-64</span></gtkdoclink>): +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::<gtkdoclink href="TEXT"><code class="FUNCTION">text()</code></gtkdoclink>, 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> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN20743"><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="XMLSECTRANSFORMIDLISTGETKLASS"></a><h3>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="AEN16793"><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> +<a name="XMLSECTRANSFORMREMOVEXMLTAGSC14NID"></a><h3>xmlSecTransformRemoveXmlTagsC14NId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformRemoveXmlTagsC14NId</pre> +<p>The "remove all xml tags" transform klass (used before base64 transforms).</p> </div> <hr> <div class="REFSECT2"> -<a name="XMLSECTRANSFORMIDLISTFIND"></a><h3>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 <code class="PARAMETER">dataId</code> in <code class="PARAMETER">list</code>.</p> -<p></p> +<a name="XMLSECTRANSFORMSETKEY"></a><h3>xmlSecTransformSetKey ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformSetKey (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre> +<p>Sets the transform's key.</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16811"><span style="white-space: nowrap"><code class="PARAMETER">list</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform ids list.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20769"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16816"><span style="white-space: nowrap"><code class="PARAMETER">transformId</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the transform klass.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20774"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16821"><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 <code class="PARAMETER">dataId</code> is found in the <code class="PARAMETER">list</code>, 0 if not and a negative -value if an error occurs.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20779"><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="XMLSECTRANSFORMIDLISTFINDBYHREF"></a><h3>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 <code class="PARAMETER">href</code> and <code class="PARAMETER">usage</code> in <code class="PARAMETER">list</code>.</p> -<p></p> +<a name="XMLSECTRANSFORMSETKEYMETHOD"></a><h3>xmlSecTransformSetKeyMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecTransformSetKeyMethod) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre> +<p>The transform specific method to set the key for use.</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"><code class="PARAMETER">list</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform ids list.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20799"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</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"><code class="PARAMETER">href</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the desired transform klass href.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20804"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16853"><span style="white-space: nowrap"><code class="PARAMETER">usage</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the desired transform usage.</p></td> -</tr> -<tr> -<td align="LEFT" valign="TOP"><a name="AEN16858"><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> +<td align="LEFT" valign="TOP"><a name="AEN20809"><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="XMLSECTRANSFORMIDLISTFINDBYNAME"></a><h3>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 <code class="PARAMETER">name</code> and <code class="PARAMETER">usage</code> in <code class="PARAMETER">list</code>.</p> -<p></p> +<a name="XMLSECTRANSFORMSETKEYREQ"></a><h3>xmlSecTransformSetKeyReq ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformSetKeyReq (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>);</pre> +<p>Sets the key requirements for <code class="PARAMETER">transform</code> in the <code class="PARAMETER">keyReq</code>.</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16878"><span style="white-space: nowrap"><code class="PARAMETER">list</code> :</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="AEN16883"><span style="white-space: nowrap"><code class="PARAMETER">name</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the desired transform klass name.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20831"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16888"><span style="white-space: nowrap"><code class="PARAMETER">usage</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the desired transform usage.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20836"><span style="white-space: nowrap"><code class="PARAMETER">keyReq</code> :</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="AEN16893"><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> +<td align="LEFT" valign="TOP"><a name="AEN20841"><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="XMLSECTRANSFORMIDLISTDEBUGDUMP"></a><h3>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 <code class="PARAMETER">output</code>.</p> -<p></p> +<a name="XMLSECTRANSFORMSETKEYREQUIREMENTSMETHOD"></a><h3>xmlSecTransformSetKeyRequirementsMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecTransformSetKeyRequirementsMethod) + (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>);</pre> +<p>Transform specific method to set transform's key requirements.</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16910"><span style="white-space: nowrap"><code class="PARAMETER">list</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform ids list.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20861"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</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="AEN16915"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to output FILE.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20866"><span style="white-space: nowrap"><code class="PARAMETER">keyReq</code> :</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="AEN20871"><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="XMLSECTRANSFORMIDLISTDEBUGXMLDUMP"></a><h3>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 <code class="PARAMETER">output</code> in XML format.</p> -<p></p> +<a name="XMLSECTRANSFORMSTATUS"></a><h3>enum xmlSecTransformStatus</h3> +<pre class="PROGRAMLISTING">typedef enum { + xmlSecTransformStatusNone = 0, + xmlSecTransformStatusWorking, + xmlSecTransformStatusFinished, + xmlSecTransformStatusOk, + xmlSecTransformStatusFail +} xmlSecTransformStatus;</pre> +<p>The transform execution status.</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16932"><span style="white-space: nowrap"><code class="PARAMETER">list</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to transform ids list.</p></td> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMSTATUSNONE"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformStatusNone</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the status unknown.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMSTATUSWORKING"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformStatusWorking</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the transform is executed.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16937"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to output FILE.</p></td> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMSTATUSFINISHED"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformStatusFinished</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the transform finished</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMSTATUSOK"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformStatusOk</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the transform succeeded.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMSTATUSFAIL"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformStatusFail</tt></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="XMLSECTRANSFORMIDUNKNOWN"></a><h3>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="XMLSECTRANSFORMBASE64ID"></a><h3>xmlSecTransformBase64Id</h3> -<pre class="PROGRAMLISTING">#define xmlSecTransformBase64Id</pre> -<p>The base64 encode transform klass.</p> -<p></p> +<a name="XMLSECTRANSFORMURITYPE"></a><h3>xmlSecTransformUriType</h3> +<pre class="PROGRAMLISTING">typedef unsigned int xmlSecTransformUriType;</pre> +<p>URI transform type bit mask.</p> </div> <hr> <div class="REFSECT2"> -<a name="XMLSECTRANSFORMBASE64GETKLASS"></a><h3>xmlSecTransformBase64GetKlass ()</h3> -<pre class="PROGRAMLISTING"><font>xmlSecTransformId</font> xmlSecTransformBase64GetKlass (void);</pre> -<p>The Base64 transform klass (http://www.w3.org/TR/xmldsig-core/<gtkdoclink href="SEC-BASE-64"><span class="TYPE">sec-Base-64</span></gtkdoclink>). -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="AEN16967"><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> +<a name="XMLSECTRANSFORMURITYPEANY"></a><h3>xmlSecTransformUriTypeAny</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformUriTypeAny 0xFFFF</pre> +<p>Any URI type.</p> </div> <hr> <div class="REFSECT2"> -<a name="XMLSECTRANSFORMBASE64SETLINESIZE"></a><h3>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 <code class="PARAMETER">lineSize</code>.</p> -<p></p> +<a name="XMLSECTRANSFORMURITYPECHECK"></a><h3>xmlSecTransformUriTypeCheck ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformUriTypeCheck (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPE"><span class="TYPE">xmlSecTransformUriType</span></a> type</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *uri</code>);</pre> +<p>Checks if <code class="PARAMETER">uri</code> matches expected type <code class="PARAMETER">type</code>.</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16984"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to BASE64 encode transform.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20937"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the expected URI type.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20942"><span style="white-space: nowrap"><code class="PARAMETER">uri</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the uri for checking.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN16989"><span style="white-space: nowrap"><code class="PARAMETER">lineSize</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the new max line size.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN20947"><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 <code class="PARAMETER">uri</code> matches <code class="PARAMETER">type</code>, 0 if not or a negative value +if an error occurs.</p></td> </tr> </tbody></table> </div> <hr> <div class="REFSECT2"> -<a name="XMLSECTRANSFORMINCLC14NID"></a><h3>xmlSecTransformInclC14NId</h3> -<pre class="PROGRAMLISTING">#define xmlSecTransformInclC14NId</pre> -<p>The regular (inclusive) C14N without comments transform klass.</p> -<p></p> +<a name="XMLSECTRANSFORMURITYPEEMPTY"></a><h3>xmlSecTransformUriTypeEmpty</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformUriTypeEmpty 0x0001</pre> +<p>The empty URI ("") type.</p> </div> <hr> <div class="REFSECT2"> -<a name="XMLSECTRANSFORMINCLC14NGETKLASS"></a><h3>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/<gtkdoclink href="SEC-C14NALG"><span class="TYPE">sec-c14nAlg</span></gtkdoclink> 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="AEN17012"><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> +<a name="XMLSECTRANSFORMURITYPELOCAL"></a><h3>xmlSecTransformUriTypeLocal</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformUriTypeLocal 0x0004</pre> +<p>The local URI ("file:///....") type.</p> </div> <hr> <div class="REFSECT2"> -<a name="XMLSECTRANSFORMINCLC14NWITHCOMMENTSID"></a><h3>xmlSecTransformInclC14NWithCommentsId</h3> -<pre class="PROGRAMLISTING">#define xmlSecTransformInclC14NWithCommentsId</pre> -<p>The regular (inclusive) C14N with comments transform klass.</p> -<p></p> +<a name="XMLSECTRANSFORMURITYPENONE"></a><h3>xmlSecTransformUriTypeNone</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformUriTypeNone 0x0000</pre> +<p>The URI type is unknown or not set.</p> </div> <hr> <div class="REFSECT2"> -<a name="XMLSECTRANSFORMINCLC14NWITHCOMMENTSGETKLASS"></a><h3>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/<gtkdoclink href="SEC-C14NALG"><span class="TYPE">sec-c14nAlg</span></gtkdoclink> 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="AEN17035"><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> +<a name="XMLSECTRANSFORMURITYPEREMOTE"></a><h3>xmlSecTransformUriTypeRemote</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformUriTypeRemote 0x0008</pre> +<p>The remote URI type.</p> </div> <hr> <div class="REFSECT2"> -<a name="XMLSECTRANSFORMINCLC14N11ID"></a><h3>xmlSecTransformInclC14N11Id</h3> -<pre class="PROGRAMLISTING">#define xmlSecTransformInclC14N11Id</pre> -<p>The regular (inclusive) C14N 1.1 without comments transform klass.</p> -<p></p> +<a name="XMLSECTRANSFORMURITYPESAMEDOCUMENT"></a><h3>xmlSecTransformUriTypeSameDocument</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformUriTypeSameDocument 0x0002</pre> +<p>The smae document ("#...") but not empty ("") URI type.</p> </div> <hr> <div class="REFSECT2"> -<a name="XMLSECTRANSFORMINCLC14N11GETKLASS"></a><h3>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="AEN17056"><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> +<a name="XMLSECTRANSFORMUSAGE"></a><h3>xmlSecTransformUsage</h3> +<pre class="PROGRAMLISTING">typedef unsigned int xmlSecTransformUsage;</pre> +<p>The transform usage bit mask.</p> </div> <hr> <div class="REFSECT2"> -<a name="XMLSECTRANSFORMINCLC14N11WITHCOMMENTSID"></a><h3>xmlSecTransformInclC14N11WithCommentsId</h3> -<pre class="PROGRAMLISTING">#define xmlSecTransformInclC14N11WithCommentsId</pre> -<p>The regular (inclusive) C14N 1.1 with comments transform klass.</p> -<p></p> +<a name="XMLSECTRANSFORMUSAGEANY"></a><h3>xmlSecTransformUsageAny</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformUsageAny 0xFFFF</pre> +<p>Transform could be used for operation.</p> </div> <hr> <div class="REFSECT2"> -<a name="XMLSECTRANSFORMINCLC14N11WITHCOMMENTSGETKLASS"></a><h3>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="AEN17077"><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> +<a name="XMLSECTRANSFORMUSAGEC14NMETHOD"></a><h3>xmlSecTransformUsageC14NMethod</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformUsageC14NMethod 0x0002</pre> +<p>Transform could be used in <dsig:CanonicalizationMethod>.</p> </div> <hr> <div class="REFSECT2"> -<a name="XMLSECTRANSFORMEXCLC14NID"></a><h3>xmlSecTransformExclC14NId</h3> -<pre class="PROGRAMLISTING">#define xmlSecTransformExclC14NId</pre> -<p>The exclusive C14N without comments transform klass.</p> -<p></p> +<a name="XMLSECTRANSFORMUSAGEDSIGTRANSFORM"></a><h3>xmlSecTransformUsageDSigTransform</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformUsageDSigTransform 0x0001</pre> +<p>Transform could be used in <dsig:Transform>.</p> </div> <hr> <div class="REFSECT2"> -<a name="XMLSECTRANSFORMEXCLC14NGETKLASS"></a><h3>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="AEN17098"><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> +<a name="XMLSECTRANSFORMUSAGEDIGESTMETHOD"></a><h3>xmlSecTransformUsageDigestMethod</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformUsageDigestMethod 0x0004</pre> +<p>Transform could be used in <dsig:DigestMethod>.</p> </div> <hr> <div class="REFSECT2"> -<a name="XMLSECTRANSFORMEXCLC14NWITHCOMMENTSID"></a><h3>xmlSecTransformExclC14NWithCommentsId</h3> -<pre class="PROGRAMLISTING">#define xmlSecTransformExclC14NWithCommentsId</pre> -<p>The exclusive C14N with comments transform klass.</p> -<p></p> +<a name="XMLSECTRANSFORMUSAGEENCRYPTIONMETHOD"></a><h3>xmlSecTransformUsageEncryptionMethod</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformUsageEncryptionMethod 0x0010</pre> +<p>Transform could be used in <enc:EncryptionMethod>.</p> </div> <hr> <div class="REFSECT2"> -<a name="XMLSECTRANSFORMEXCLC14NWITHCOMMENTSGETKLASS"></a><h3>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> +<a name="XMLSECTRANSFORMUSAGESIGNATUREMETHOD"></a><h3>xmlSecTransformUsageSignatureMethod</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformUsageSignatureMethod 0x0008</pre> +<p>Transform could be used in <dsig:SignatureMethod>.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMUSAGEUNKNOWN"></a><h3>xmlSecTransformUsageUnknown</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformUsageUnknown 0x0000</pre> +<p>Transforms usage is unknown or undefined.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMVERIFY"></a><h3>xmlSecTransformVerify ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformVerify (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Verifies the data with transform's processing results +(for digest, HMAC and signature transforms). The verification +result is stored in the <gtkdoclink href="STATUS"><span class="TYPE">status</span></gtkdoclink> member of <a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransform</span></a> object.</p> <p></p> -<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> -<td align="LEFT" valign="TOP"><a name="AEN17119"><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> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21057"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21062"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</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="AEN21067"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the data size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21072"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</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="AEN21077"><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="XMLSECTRANSFORMENVELOPEDID"></a><h3>xmlSecTransformEnvelopedId</h3> -<pre class="PROGRAMLISTING">#define xmlSecTransformEnvelopedId</pre> -<p>The "enveloped" transform klass.</p> +<a name="XMLSECTRANSFORMVERIFYMETHOD"></a><h3>xmlSecTransformVerifyMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecTransformVerifyMethod) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>The transform specific method to verify transform processing results +(used by digest and signature transforms). This method sets <code class="PARAMETER">status</code> +member of the <a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransform</span></a> structure to either <a href="xmlsec-transforms.html#XMLSECTRANSFORMSTATUSOK"><span class="TYPE">xmlSecTransformStatusOk</span></a> +if verification succeeded or <a href="xmlsec-transforms.html#XMLSECTRANSFORMSTATUSFAIL"><span class="TYPE">xmlSecTransformStatusFail</span></a> otherwise.</p> <p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21110"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</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="AEN21115"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input buffer.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21120"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the size of input buffer <code class="PARAMETER">data</code>.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21126"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</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="AEN21131"><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="XMLSECTRANSFORMENVELOPEDGETKLASS"></a><h3>xmlSecTransformEnvelopedGetKlass ()</h3> -<pre class="PROGRAMLISTING"><font>xmlSecTransformId</font> xmlSecTransformEnvelopedGetKlass (void);</pre> -<p>The enveloped transform klass (http://www.w3.org/TR/xmldsig-core/<gtkdoclink href="SEC-ENVELOPEDSIGNATURE"><span class="TYPE">sec-EnvelopedSignature</span></gtkdoclink>):</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><XPath xmlns:dsig="&dsig;"> - count(ancestor-or-self::dsig:Signature | - <gtkdoclink href="HERE"><code class="FUNCTION">here()</code></gtkdoclink>/ancestor::dsig:Signature[1]) > - count(ancestor-or-self::dsig:Signature)</XPath> - -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> +<a name="XMLSECTRANSFORMVERIFYNODECONTENT"></a><h3>xmlSecTransformVerifyNodeContent ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformVerifyNodeContent (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Gets the <code class="PARAMETER">node</code> 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> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21157"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21162"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21167"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</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="AEN21172"><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="XMLSECTRANSFORMVISA3DHACKGETKLASS"></a><h3>xmlSecTransformVisa3DHackGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformVisa3DHackGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</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> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> -<td align="LEFT" valign="TOP"><a name="AEN17146"><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> +<td align="LEFT" valign="TOP"><a name="AEN21188"><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="XMLSECTRANSFORMXPATHID"></a><h3>xmlSecTransformXPathId</h3> -<pre class="PROGRAMLISTING">#define xmlSecTransformXPathId</pre> -<p>The XPath transform klass.</p> -<p></p> +<a name="XMLSECTRANSFORMVISA3DHACKID"></a><h3>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> </div> <hr> <div class="REFSECT2"> -<a name="XMLSECTRANSFORMXPATHGETKLASS"></a><h3>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/<gtkdoclink href="SEC-XPATH"><span class="TYPE">sec-XPath</span></gtkdoclink> for more details.</p> +<a name="XMLSECTRANSFORMVISA3DHACKSETID"></a><h3>xmlSecTransformVisa3DHackSetID ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformVisa3DHackSetID (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *id</code>);</pre> +<p>Sets the ID value for an Visa3DHack <code class="PARAMETER">transform</code>.</p> <p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21215"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</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="AEN21220"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the ID value.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21225"><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="XMLSECTRANSFORMXPATH2GETKLASS"></a><h3>xmlSecTransformXPath2GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformXPath2GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The XPath2 transform (http://www.w3.org/TR/xmldsig-filter2/).</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> -<td align="LEFT" valign="TOP"><a name="AEN17169"><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> +<td align="LEFT" valign="TOP"><a name="AEN21241"><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> @@ -3003,192 +2935,128 @@ http://www.w3.org/TR/xmldsig-core/<gtkdoclink href="SEC-XPATH"><span class="TYPE <a name="XMLSECTRANSFORMXPATH2ID"></a><h3>xmlSecTransformXPath2Id</h3> <pre class="PROGRAMLISTING">#define xmlSecTransformXPath2Id</pre> <p>The XPath2 transform klass.</p> -<p></p> </div> <hr> <div class="REFSECT2"> -<a name="XMLSECTRANSFORMXPATH2GETKLASS"></a><h3>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> +<a name="XMLSECTRANSFORMXPATHGETKLASS"></a><h3>xmlSecTransformXPathGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformXPathGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</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/<gtkdoclink href="SEC-XPATH"><span class="TYPE">sec-XPath</span></gtkdoclink> for more details.</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> -<td align="LEFT" valign="TOP"><a name="AEN17190"><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> +<td align="LEFT" valign="TOP"><a name="AEN21265"><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="XMLSECTRANSFORMXPOINTERID"></a><h3>xmlSecTransformXPointerId</h3> -<pre class="PROGRAMLISTING">#define xmlSecTransformXPointerId</pre> -<p>The XPointer transform klass.</p> -<p></p> +<a name="XMLSECTRANSFORMXPATHID"></a><h3>xmlSecTransformXPathId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformXPathId</pre> +<p>The XPath transform klass.</p> </div> <hr> <div class="REFSECT2"> <a name="XMLSECTRANSFORMXPOINTERGETKLASS"></a><h3>xmlSecTransformXPointerGetKlass ()</h3> -<pre class="PROGRAMLISTING"><font>xmlSecTransformId</font> xmlSecTransformXPointerGetKlass (void);</pre> -<p>The XPointer transform klass +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformXPointerGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</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="AEN17211"><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> +<td align="LEFT" valign="TOP"><a name="AEN21287"><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="XMLSECTRANSFORMXPOINTERID"></a><h3>xmlSecTransformXPointerId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformXPointerId</pre> +<p>The XPointer transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> <a name="XMLSECTRANSFORMXPOINTERSETEXPR"></a><h3>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> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformXPointerSetExpr (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *expr</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESETTYPE"><span class="TYPE">xmlSecNodeSetType</span></a> nodeSetType</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> hereNode</code>);</pre> <p>Sets the XPointer expression for an XPointer <code class="PARAMETER">transform</code>.</p> <p></p> -<p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN17230"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to XPointer transform.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN21320"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</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="AEN17235"><span style="white-space: nowrap"><code class="PARAMETER">expr</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the XPointer expression.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN21325"><span style="white-space: nowrap"><code class="PARAMETER">expr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the XPointer expression.</p></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN17240"><span style="white-space: nowrap"><code class="PARAMETER">nodeSetType</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the type of evaluated XPointer expression.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN21330"><span style="white-space: nowrap"><code class="PARAMETER">nodeSetType</code> :</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="AEN17245"><span style="white-space: nowrap"><code class="PARAMETER">hereNode</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the pointer to "here" node.</p></td> +<td align="LEFT" valign="TOP"><a name="AEN21335"><span style="white-space: nowrap"><code class="PARAMETER">hereNode</code> :</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="AEN17250"><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> +<td align="LEFT" valign="TOP"><a name="AEN21340"><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="XMLSECTRANSFORMXSLTID"></a><h3>xmlSecTransformXsltId</h3> -<pre class="PROGRAMLISTING">#define xmlSecTransformXsltId</pre> -<p>The XSLT transform klass.</p> -<p></p> -</div> -<hr> -<div class="REFSECT2"> <a name="XMLSECTRANSFORMXSLTGETKLASS"></a><h3>xmlSecTransformXsltGetKlass ()</h3> -<pre class="PROGRAMLISTING"><font>xmlSecTransformId</font> xmlSecTransformXsltGetKlass (void);</pre> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformXsltGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> <p>XSLT transform klass (http://www.w3.org/TR/xmldsig-core/<gtkdoclink href="SEC-XSLT"><span class="TYPE">sec-XSLT</span></gtkdoclink>):</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 +<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 +<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 +<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, +[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="AEN17276"><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> +<td align="LEFT" valign="TOP"><a name="AEN21361"><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="XMLSECTRANSFORMREMOVEXMLTAGSC14NID"></a><h3>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="XMLSECTRANSFORMREMOVEXMLTAGSC14NGETKLASS"></a><h3>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/<gtkdoclink href="SEC-BASE-64"><span class="TYPE">sec-Base-64</span></gtkdoclink>): -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::<gtkdoclink href="TEXT"><code class="FUNCTION">text()</code></gtkdoclink>, 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="AEN17301"><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="XMLSECTRANSFORMVISA3DHACKID"></a><h3>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> +<a name="XMLSECTRANSFORMXSLTID"></a><h3>xmlSecTransformXsltId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformXsltId</pre> +<p>The XSLT transform klass.</p> </div> <hr> <div class="REFSECT2"> -<a name="XMLSECTRANSFORMVISA3DHACKGETKLASS"></a><h3>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> +<a name="XMLSECTRANSFORMXSLTSETDEFAULTSECURITYPREFS"></a><h3>xmlSecTransformXsltSetDefaultSecurityPrefs ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecTransformXsltSetDefaultSecurityPrefs + (<code class="PARAMETER"><gtkdoclink href="XSLTSECURITYPREFS"><span class="TYPE">xsltSecurityPrefsPtr</span></gtkdoclink> sec</code>);</pre> +<p>Sets the new default security preferences. The xmlsec default security policy is +to disable everything.</p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> -<td align="LEFT" valign="TOP"><a name="AEN17322"><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> +<td align="LEFT" valign="TOP"><a name="AEN21384"><span style="white-space: nowrap"><code class="PARAMETER">sec</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new security preferences</p></td> </tr></tbody></table> </div> -<hr> -<div class="REFSECT2"> -<a name="XMLSECTRANSFORMVISA3DHACKSETID"></a><h3>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 <code class="PARAMETER">transform</code>.</p> -<p></p> -<p></p> -<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> -<tr> -<td align="LEFT" valign="TOP"><a name="AEN17339"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</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="AEN17344"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p> the ID value.</p></td> -</tr> -<tr> -<td align="LEFT" valign="TOP"><a name="AEN17349"><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><<< templates</b></a></td> |