Embperl
view release on metacpan or search on metacpan
# Embperl - Copyright (c) 2008-2015 Gerald Richter
# Embperl - Copyright (c) 2015-2023 actevy.io
#
# You may distribute under the terms of either the GNU General Public
# License or the Artistic License, as specified in the Perl README file.
# For use with Apache httpd and mod_perl, see also Apache copyright.
#
# THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
###################################################################################
MODULE = XML::Embperl::DOM PACKAGE = XML::Embperl::DOM PREFIX = embperl_
################################################################################
MODULE = XML::Embperl::DOM PACKAGE = XML::Embperl::DOM::Node PREFIX = embperl_Node_
void
embperl_Node_attach (pRV,xDomTree,xNode)
SV * pRV ;
int xDomTree
int xNode
CODE:
tDomNode * pDomNode ;
MAGIC * mg ;
SV * pSV = SvRV(pRV) ;
if ((mg = mg_find (pSV, '~')))
{
pDomNode = (tDomNode *)(mg -> mg_ptr) ;
if (xDomTree)
pDomNode -> xDomTree = xDomTree ;
if (xNode)
pDomNode -> xNode = xNode ;
}
else
{
Newc (0, pDomNode, 1, sizeof (tDomNode), tDomNode) ;
pDomNode -> xDomTree = xDomTree ;
pDomNode -> xNode = xNode ;
pDomNode -> pDomNodeSV = pRV ;
/* sv_unmagic ((SV *)pSV, '~') ; */
sv_magic ((SV *)pSV, NULL, '~', (char *)&pDomNode, sizeof (pDomNode)) ;
/* sv_bless (pRV, gv_stashpv ("XML::Embperl::DOM::Node", 0)) ; */
}
SV *
embperl_Node_replaceChildWithCDATA (CurrApp, pDomNode,sText)
tDomNode * pDomNode
SV * sText
PREINIT:
STRLEN l ;
char * s ;
tReq * r = CurrReq ;
PPCODE:
if (!r)
Perl_croak(aTHX_ "$Embperl::req undefined %s %d", __FILE__, __LINE__) ;
RETVAL = NULL ; /* avoid warning */
SvGETMAGIC_P4(sText) ;
s = SV2String (sText, l) ;
Node_replaceChildWithCDATA (CurrApp, DomTree_self(pDomNode -> xDomTree), pDomNode -> xNode, r -> Component.nCurrRepeatLevel, s, l, (SvUTF8(sText)?nflgEscUTF8:0) + ((r -> Component.nCurrEscMode & 11)== 3?1 + (r -> Component.nCurrEscMode & 4):r -> ...
r -> Component.nCurrEscMode = r -> Component.Config.nEscMode ;
r -> Component.bEscModeSet = -1 ;
/*SvREFCNT_inc (sText) ;*/
ST(0) = sText ;
XSRETURN(1) ;
SV *
embperl_Node_XXiReplaceChildWithCDATA (xDomTree, xOldChild,sText)
int xDomTree
int xOldChild
SV * sText
PREINIT:
STRLEN l ;
char * s ;
tReq * r = CurrReq ;
PPCODE:
if (!r)
Perl_croak(aTHX_ "$Embperl::req undefined %s %d", __FILE__, __LINE__) ;
RETVAL = NULL ; /* avoid warning */
SvGETMAGIC_P4(sText) ;
s = SV2String (sText, l) ;
Node_replaceChildWithCDATA (CurrApp, DomTree_self(xDomTree), xOldChild, r -> Component.nCurrRepeatLevel, s, l, (SvUTF8(sText)?nflgEscUTF8:0) + ((r -> Component.nCurrEscMode & 11)== 3?1 + (r -> Component.nCurrEscMode & 4):r -> Component.nCurrEscMo...
r -> Component.nCurrEscMode = r -> Component.Config.nEscMode ;
r -> Component.bEscModeSet = -1 ;
/*SvREFCNT_inc (sText) ;*/
ST(0) = sText ;
XSRETURN(1) ;
SV *
embperl_Node_iReplaceChildWithCDATA (xOldChild,sText)
int xOldChild
SV * sText
PREINIT:
STRLEN l ;
char * s ;
tReq * r = CurrReq ;
PPCODE:
if (!r)
Perl_croak(aTHX_ "$Embperl::req undefined %s %d", __FILE__, __LINE__) ;
RETVAL = NULL ; /* avoid warning */
r -> Component.bSubNotEmpty = 1 ;
SvGETMAGIC_P4(sText) ;
s = SV2String (sText, l) ;
Node_replaceChildWithCDATA (r -> pApp, DomTree_self(r -> Component.xCurrDomTree), xOldChild, r -> Component.nCurrRepeatLevel, s, l, (SvUTF8(sText)?nflgEscUTF8:0) + ((r -> Component.nCurrEscMode & 11)== 3?1 + (r -> Component.nCurrEscMode & 4):r ->...
r -> Component.nCurrEscMode = r -> Component.Config.nEscMode ;
r -> Component.bEscModeSet = -1 ;
/*SvREFCNT_inc (sText) ;*/
ST(0) = sText ;
XSRETURN(1) ;
void
embperl_Node_iReplaceChildWithMsgId (xOldChild,sId)
int xOldChild
char * sId
PREINIT:
STRLEN l ;
const char * s ;
tReq * r = CurrReq ;
PPCODE:
if (!r)
Perl_croak(aTHX_ "$Embperl::req undefined %s %d", __FILE__, __LINE__) ;
r -> Component.bSubNotEmpty = 1 ;
s = embperl_GetText (r, sId) ;
l = strlen (s) ;
Node_replaceChildWithCDATA (r -> pApp, DomTree_self(r -> Component.xCurrDomTree), xOldChild, r -> Component.nCurrRepeatLevel, s, l, (r -> Component.nCurrEscMode & 11)== 3?1 + (r -> Component.nCurrEscMode & 4):r -> Component.nCurrEscMode, 0) ;
r -> Component.nCurrEscMode = r -> Component.Config.nEscMode ;
r -> Component.bEscModeSet = -1 ;
SV *
embperl_Node_replaceChildWithUrlDATA (pDomNode,sText)
tDomNode * pDomNode
SV * sText
PREINIT:
SV * sRet ;
tReq * r = CurrReq ;
PPCODE:
if (!r)
Perl_croak(aTHX_ "$Embperl::req undefined %s %d", __FILE__, __LINE__) ;
RETVAL = NULL ; /* avoid warning */
SvGETMAGIC_P4(sText) ;
sRet = Node_replaceChildWithUrlDATA (r, pDomNode -> xDomTree, pDomNode -> xNode, r -> Component.nCurrRepeatLevel, sText) ;
ST(0) = sRet ;
XSRETURN(1) ;
SV *
embperl_Node_iReplaceChildWithUrlDATA (xOldChild,sText)
int xOldChild
SV * sText
PREINIT:
SV * sRet ;
tReq * r = CurrReq ;
PPCODE:
if (!r)
Perl_croak(aTHX_ "$Embperl::req undefined %s %d", __FILE__, __LINE__) ;
RETVAL = NULL ; /* avoid warning */
r -> Component.bSubNotEmpty = 1 ;
SvGETMAGIC_P4(sText) ;
sRet = Node_replaceChildWithUrlDATA (r, r -> Component.xCurrDomTree, xOldChild, r -> Component.nCurrRepeatLevel, sText) ;
ST(0) = sRet ;
XSRETURN(1) ;
void
embperl_Node_removeChild (pDomNode)
tDomNode * pDomNode
CODE:
Node_removeChild (CurrApp, DomTree_self (pDomNode -> xDomTree), -1, pDomNode -> xNode, 0) ;
void
embperl_Node_iRemoveChild (xDomTree, xChild)
int xDomTree
int xChild
CODE:
Node_removeChild (CurrApp, DomTree_self (xDomTree), -1, xChild, 0) ;
void
embperl_Node_appendChild (pParentNode, nType, sText)
tDomNode * pParentNode
int nType
SV * sText
PREINIT:
STRLEN nText ;
char * sT ;
tDomTree * pDomTree ;
tReq * r = CurrReq ;
CODE:
if (!r)
Perl_croak(aTHX_ "$Embperl::req undefined %s %d", __FILE__, __LINE__) ;
sT = SV2String (sText, nText) ;
pDomTree = DomTree_self(pParentNode -> xDomTree) ;
Node_appendChild (r -> pApp, pDomTree, pParentNode -> xNode, r -> Component.nCurrRepeatLevel, (tNodeType)nType, 0, sT, nText, 0, 0, NULL) ;
void
embperl_Node_iAppendChild (xDomTree, xParent, nType, sText)
int xDomTree
int xParent
int nType
SV * sText
tReq * r = CurrReq ;
CODE:
STRLEN nText ;
tNodeData * pNode ;
tNode xNode ;
int nEscMode = (SvUTF8(sText)?escHtmlUtf8:0) + ((r -> Component.nCurrEscMode & 11)== 3?1 + (r -> Component.nCurrEscMode & 4):r -> Component.nCurrEscMode) ;
char * sT = SV2String (sText, nText) ;
tDomTree * pDomTree = DomTree_self(xDomTree) ;
if (!r)
Perl_croak(aTHX_ "$Embperl::req undefined %s %d", __FILE__, __LINE__) ;
( run in 0.497 second using v1.01-cache-2.11-cpan-5511b514fd6 )