xsl-list
[Top] [All Lists]

Re: [xsl] replace a string that is in between two specific chars in XSLT 1.0

2021-10-13 12:42:45
Hi Prady,

Assuming you meant "string split by ;" I came up with this template doing the 
work:

  <xsl:template match="Ip">
    <xsl:variable name="entries" select="tokenize(text(), '\s*;\s*')" 
as="xs:string*"/>
    <xsl:element name="nums" namespace="http://xmlns.ieee.org/V2";>
      <xsl:value-of select="($entries ! substring-before(., '#')) => 
string-join(';')" />
    </xsl:element>
  </xsl:template>

It uses XSLT 3 features, because they are so great, and – frankly – I am not 
motivated to do this using XSLT1. This will most probably involve a recursive 
template using substring-before and substring-after.

- Michael


Am 13.10.2021 um 17:32 schrieb Prady Prady 
prady(_dot_)chin(_at_)gmail(_dot_)com 
<xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com>:

Team,


Can somebody help me to replace string that is in between # and ; with blank. 
I need to include this is oracle bpel which only supports xslt 1.0

From:
<IpsCollection xmlns="http://xmlns.oracle.com/aa 
<http://xmlns.oracle.com/aa>">
<Ips>
  <Ip>q1#11.11.11.111;q2#22.22.22.22</Ip>
</Ips>
 </IpsCollection>
To:
 <v2:Ops xmlns:v2="http://xmlns.ieee.org/V2 <http://xmlns.ieee.org/V2>">
<v2:nums>q1;q2</v2:nums>
 </v2:Ops>


Thank you very much for your help!
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--
<Prev in Thread] Current Thread [Next in Thread>