sql - Mysql - multiple occurences of strings between delimiters -
i trying following results table contains data in mediumtext xml format.
i occurrences of text between opening delimiter, l7p:auditdetailassertion, , next occurence of closing delimiter /l7p:auditdetailassertion.
however, difficult part there may 1 or multiple occurrences of these strings.
this how xml shows in column when selecting it:
<wsp:all wsp:usage="required"> <l7p:auditassertion> <l7p:saverequest booleanvalue="true"/> <l7p:saveresponse booleanvalue="true"/> </l7p:auditassertion> <l7p:setvariable> <l7p:base64expression stringvalue=""/> <l7p:variabletoset stringvalue="dostataudit"/> </l7p:setvariable> <l7p:setvariable> <l7p:base64expression stringvalue=""/> <l7p:variabletoset stringvalue="doaudit"/> </l7p:setvariable> <l7p:setvariable> <l7p:base64expression stringvalue=""/> <l7p:variabletoset stringvalue="auditonfailure"/> </l7p:setvariable> <l7p:setvariable> <l7p:base64expression stringvalue=""/> <l7p:variabletoset stringvalue="preroutelatency"/> </l7p:setvariable> <l7p:sslassertion/> <l7p:auditdetailassertion> **<l7p:detail stringvalue="${request.http.allheadervalues}"/> <l7p:enabled booleanvalue="false"/>** </l7p:auditdetailassertion> <wsp:oneormore wsp:usage="required"> <wsp:all wsp:usage="required"> <wsse:securitytoken xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> <wsse:tokentype>http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd#usernametoken</wsse:tokentype> <l7p:properties/> </wsse:securitytoken> <l7p:xpathcredentialsource> <l7p:enabled booleanvalue="false"/> <l7p:passwordexpression xpathexpressionvalue="included"> <l7p:expression stringvalue="/s:envelope/s:header/wsse:security/wsse:usernametoken/wsse:password"/> <l7p:namespaces mapvalue="included"> <l7p:entry> <l7p:key stringvalue="s"/> <l7p:value stringvalue="http://schemas.xmlsoap.org/soap/envelope/"/> </l7p:entry> <l7p:entry> <l7p:key stringvalue="wsse"/> <l7p:value stringvalue="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"/> </l7p:entry> </l7p:namespaces> </l7p:passwordexpression> <l7p:xpathexpression xpathexpressionvalue="included"> <l7p:expression stringvalue="/s:envelope/s:header/wsse:security/wsse:usernametoken/wsse:username"/> <l7p:namespaces mapvalue="included"> <l7p:entry> <l7p:key stringvalue="ns2"/> <l7p:value stringvalue="/"/> </l7p:entry> <l7p:entry> <l7p:key stringvalue="s"/> <l7p:value stringvalue="http://schemas.xmlsoap.org/soap/envelope/"/> </l7p:entry> <l7p:entry> <l7p:key stringvalue="s"/> <l7p:value stringvalue="http://schemas.xmlsoap.org/soap/envelope/"/> </l7p:entry> <l7p:entry> <l7p:key stringvalue="wsse"/> <l7p:value stringvalue="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"/> </l7p:entry> </l7p:namespaces> </l7p:xpathexpression> </l7p:xpathcredentialsource> <l7p:auditdetailassertion> **<l7p:detail stringvalue="${secpass.blah.plaintext}"/>** </l7p:auditdetailassertion> <l7p:comparisonassertion> <l7p:casesensitive booleanvalue="false"/> <l7p:expression1 stringvalue="${request.username}"/> <l7p:operator operatornull="null"/> <l7p:predicates predicates="included"> <l7p:item datatype="included"> <l7p:type variabledatatype="string"/> </l7p:item> <l7p:item binary="included"> <l7p:rightvalue stringvalue=""/> </l7p:item> </l7p:predicates> </l7p:comparisonassertion> <l7p:comparisonassertion> <l7p:casesensitive booleanvalue="false"/> <l7p:expression1 stringvalue="${request.password}"/> <l7p:operator operatornull="null"/> <l7p:predicates predicates="included"> <l7p:item datatype="included"> <l7p:type variabledatatype="string"/> </l7p:item> <l7p:item binary="included"> <l7p:rightvalue stringvalue="${secpass.accountsearch.plaintext}"/> </l7p:item> </l7p:predicates> </l7p:comparisonassertion> </wsp:all> <wsp:all wsp:usage="required"> <l7p:customizeerrorresponse> <l7p:content stringvalue="forbidden!"/> <l7p:enabled booleanvalue="false"/> <l7p:extraheaders namevaluepairarray="included"/> <l7p:httpstatus stringvalue="403"/> </l7p:customizeerrorresponse> <l7p:hardcodedresponse> <l7p:base64responsebody stringvalue=""/> <l7p:earlyresponse booleanvalue="true"/> <l7p:responsestatus stringvalue="403"/> </l7p:hardcodedresponse> <l7p:setvariable> <l7p:base64expression stringvalue=""/> <l7p:variabletoset stringvalue="postroutelatency"/> </l7p:setvariable> <l7p:falseassertion/> </wsp:all> </wsp:oneormore> <l7p:httproutingassertion> <l7p:connectiontimeout stringvalue="10000"/> <l7p:currentsecurityheaderhandling intvalue="3"/> <l7p:login stringvalue=""/> <l7p:passthroughsoapfaults booleanvalue="false"/> <l7p:password stringvalue=""/> <l7p:protectedserviceurl stringvalue=""/> <l7p:proxypassword stringvaluenull="null"/> <l7p:proxyusername stringvaluenull="null"/> <l7p:requestheaderrules httppassthroughruleset="included"> <l7p:rules httppassthroughrules="included"> <l7p:item httppassthroughrule="included"> <l7p:name stringvalue="cookie"/> </l7p:item> <l7p:item httppassthroughrule="included"> <l7p:name stringvalue="soapaction"/> </l7p:item> </l7p:rules> </l7p:requestheaderrules> <l7p:requestparamrules httppassthroughruleset="included"> <l7p:forwardall booleanvalue="true"/> <l7p:rules httppassthroughrules="included"/> </l7p:requestparamrules> <l7p:responseheaderrules httppassthroughruleset="included"> <l7p:rules httppassthroughrules="included"> <l7p:item httppassthroughrule="included"> <l7p:name stringvalue="set-cookie"/> </l7p:item> </l7p:rules> </l7p:responseheaderrules> </l7p:httproutingassertion> <wsp:oneormore wsp:usage="required"> <wsp:all wsp:usage="required"> <l7p:comparisonassertion> <l7p:casesensitive booleanvalue="false"/> <l7p:expression1 stringvalue="${auditonfailure}"/> <l7p:operator operatornull="null"/> <l7p:predicates predicates="included"> <l7p:item datatype="included"> <l7p:type variabledatatype="string"/> </l7p:item> <l7p:item binary="included"> <l7p:rightvalue stringvalue="true"/> </l7p:item> </l7p:predicates> </l7p:comparisonassertion> <l7p:comparisonassertion> <l7p:casesensitive booleanvalue="false"/> <l7p:expression1 stringvalue="${response.http.status}"/> <l7p:operator operatornull="null"/> <l7p:predicates predicates="included"> <l7p:item datatype="included"> <l7p:type variabledatatype="int"/> </l7p:item> <l7p:item binary="included"> <l7p:operator operator="ge"/> <l7p:rightvalue stringvalue="400"/> </l7p:item> </l7p:predicates> </l7p:comparisonassertion> <l7p:setvariable> <l7p:base64expression stringvalue=""/> <l7p:variabletoset stringvalue="doaudit"/> </l7p:setvariable> </wsp:all> <l7p:trueassertion/> </wsp:oneormore> <l7p:auditdetailassertion> <l7p:detail stringvalue="auditonfailure: routingstatus: ${response.http.status}"/> </l7p:auditdetailassertion> <l7p:setvariable> <l7p:base64expression stringvalue=""/> <l7p:variabletoset stringvalue="postroutelatency"/> </l7p:setvariable> </wsp:all> needed output:
l7p:detail stringvalue="${request.http.allheadervalues}"/ l7p:detail stringvalue="${secpass.blah.plaintext}"/ l7p:enabled booleanvalue="false"/ l7p:detail stringvalue="auditonfailure: routingstatus: ${response.http.status}"/
Comments
Post a Comment