Quantcast
Channel: SCN : Unanswered Discussions - Process Integration (PI) & SOA Middleware
Viewing all articles
Browse latest Browse all 6719

XSLT Coding - change of namespace

$
0
0

Hello,

 

I would like to seek your help on changing the namespace of an XML into a different one.

 

INPUT XML:

<?xml version="1.0" encoding="UTF-8"?>

<ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">

  <ns0:Message1>

    <ns2:despatchAdvice xmlns:ns2="http://www.ean-ucc.org/schemas/1.3.1/eanucc" contentVersion="1.3.1" documentStructureVersion="1.3.1" lastUpdateDate="2015-01-20" creationDate="2015-01-20T10:59:44" documentStatus="ORIGINAL">

      <despatchAdviceIdentification>

..

..

<ns2:despatchAdvice xmlns:ns2="http://www.ean-ucc.org/schemas/1.3.1/eanucc" contentVersion="1.3.1" documentStructureVersion="1.3.1" lastUpdateDate="2015-01-20" creationDate="2015-01-20T10:59:44" documentStatus="ORIGINAL">

      <despatchAdviceIdentification>

..

..

 

The highlighted one

 

Basically, the target is to replace the whole namespace of <ns2:despatchAdvice> into the below.

 

<eanucc:despatchAdvice xmlns:xsd="http://www.xx.xxx/2001/XMLSchema" xmlns:eanucc="http://www.ean-ucc.org/schemas/1.3.1/eanucc" xmlns:AAAA="http://www.test.com/Schema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ean-ucc.org/schemas/1.3.1/eanuccDesadv_ld_AAAA_1.xsd" contentVersion="1.3.1" documentStructureVersion="1.3.1" lastUpdateDate="2015-01-20" creationDate="2015-01-20T09:43:52" documentStatus="ORIGINAL">

 

The namespace <ns2:despatchAdvice> can occur multiple times.


This is the current XSLT code I have now which is not working.


<?xml version='1.0'?>

<xsl:stylesheet

  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"

  xmlns:ns1="http://www.ean-ucc.org/schemas/1.3.1/eanucc"

  exclude-result-prefixes="ns1">

   <xsl:output encoding="UTF-8" indent="yes" method="xml" version="1.0"/>

    <xsl:template match="@*|text()|comment()|processing-instruction()">

        <xsl:copy>

            <xsl:apply-templates select="@*|node()"/>

        </xsl:copy>

    </xsl:template>

    <xsl:template match="/ns1:despatchAdvice">

        <eanucc:despatchAdvice

  xmlns:eanucc="http://www.ean-ucc.org/schemas/1.3.1/eanucc"

  xmlns:xsi="http://www.xx.xxx/2001/XMLSchema-instance"

  xsi:schemaLocation="http://www.ean-ucc.org/schemas/1.3.1/eanuccDesadv_ld_AAAA_1.xsd"

  xmlns:AAAA="http://www.test.com/Schema"

  xmlns:xsd="http://www.w3.org/2001/XMLSchema">

            <xsl:apply-templates select="@*|node()"/>          

        </eanucc:despatchAdvice>

    </xsl:template>

    <xsl:template match="*">

        <xsl:element name="{local-name()}">

            <xsl:apply-templates select="@*|node()"/>

        </xsl:element>

    </xsl:template>

</xsl:stylesheet>

 

Appreciate your inputs here! Thanks in advance!

 

Fred


Viewing all articles
Browse latest Browse all 6719

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>