xslt - Transform XML from CDATA using XSL -


i have xml document:

<ns0:getdataresponse xmlns:ns0="http://abc.com/">     <return>         <wrapper>             <data><![cdata[<?xml version="1.0" encoding="utf-8"?>                             <condic>                             <dictionary>bank</dictionary>                                 <rows>                                     <row>                                       <bic>abkzkzkx</bic>                                       <bcode>319</bcode>                                       <name1>aa &quot;a bank&quot;</namekz>                                       <name2>bb &quot;b bank&quot;</nameru>                                     </row>                                     <row>                                       <bic>abnakzkx</bic>                                       <bcode>922</bcode>                                       <name1>cc &quot;c bank&quot;</namekz>                                       <name2>dd &quot;d bank&quot;</nameru>                                     </row>                                 </rows>                             </condic>]]></data>         </wrapper>     </return> </ns0:getdataresponse> 

how can parse xsl each rows in cdata make kind of select:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform" xmlns:ns0="http://abc.com/"> <xsl:output method="html" /> <xsl:template match="text()|@*"/> <xsl:template match="ns0:rows">  <select name="bank" id="bank" class="input" style="width: 370px;">     <xsl:for-each select="row">         <xsl:sort select="name1"/>         <option value="{bic}"><xsl:value-of select="name1" /></option>     </xsl:for-each> </select> 

as suggested in comment, post solution. example use xslt 3.0 saxon 9.5 (needs pe or ee version):

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/xsl/transform"     xmlns:xs="http://www.w3.org/2001/xmlschema"     xmlns:ns0="http://abc.com/"     xmlns:math="http://www.w3.org/2005/xpath-functions/math" exclude-result-prefixes="xs math ns0"     version="3.0">       <xsl:output method="html" indent="yes"/>      <xsl:template match="text()|@*"/>      <xsl:template match="ns0:getdataresponse">          <select name="bank" id="bank" class="input" style="width: 370px;">             <xsl:for-each select="parse-xml(return/wrapper/data)//row">                 <xsl:sort select="name1"/>                 <option value="{bic}">                     <xsl:value-of select="name1"/>                 </option>             </xsl:for-each>         </select>     </xsl:template>  </xsl:stylesheet> 

with input of

<ns0:getdataresponse xmlns:ns0="http://abc.com/">     <return>         <wrapper>             <data><![cdata[<?xml version="1.0" encoding="utf-8"?>                             <condic>                             <dictionary>bank</dictionary>                                 <rows>                                     <row>                                       <bic>abkzkzkx</bic>                                       <bcode>319</bcode>                                       <name1>aa &quot;a bank&quot;</name1>                                       <name2>bb &quot;b bank&quot;</name2>                                     </row>                                     <row>                                       <bic>abnakzkx</bic>                                       <bcode>922</bcode>                                       <name1>cc &quot;c bank&quot;</name1>                                       <name2>dd &quot;d bank&quot;</name2>                                     </row>                                 </rows>                             </condic>]]></data>         </wrapper>     </return> </ns0:getdataresponse> 

the result is

<select name="bank" id="bank" class="input" style="width: 370px;">    <option value="abkzkzkx">aa "a bank"</option>    <option value="abnakzkx">cc "c bank"</option></select> 

Comments

Popular posts from this blog

How to remove text and logo OR add Overflow on Android ActionBar using AppCompat on API 8? -

html - How to style widget with post count different than without post count -

url rewriting - How to redirect a http POST with urlrewritefilter -