Skip to Content
avatar image
Former Member

XSL to convert XML String to Message Type


For an interface I need to build, the source is going to be an string containing XML. I need to parse this into the message type format so it can be used for message mapping.

The XSL I am using for this is

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="" xmlns:a="">
<xsl:output method="xml" omit-xml-declaration="yes"/>
   <xsl:template match="/">
        <xsl:for-each select="//*:string">
         <xsl:value-of select="." disable-output-escaping="yes"/>

The source XML (for now) is

<ns0:MTBatchCharacteristics xmlns:ns0="">

I get an error as below

Transformer Configuration Exception occurred when loading XSLT XSL StringToXML.xsl; details: sapximapping:XSL StringToXML.xsl: line 9: Required attribute 'select' is missing. See error logs for details

I would be most grateful if someone could provide assistance in getting this resolved.



Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

1 Answer

  • Dec 16, 2015 at 09:14 AM

    Hello Martin,

    you can't use XSL version 2 in PI as far as I know.

    I modified your XSLT to this

    <?xml version="1.0" encoding="UTF-8"?>  
    <xsl:stylesheet version="1.0" xmlns:xsl="" xmlns:a="">  
        <xsl:output method="xml" omit-xml-declaration="yes" />  
        <xsl:template match="/">  
            <xsl:for-each select="*">  
                    <xsl:value-of select="normalize-space(.)" disable-output-escaping="yes"/>

    and I get this output:

    <string xmlns:a="">111 222 333</string>

    I dont know which output you want.

    But maybe you can work with my XSL.

    Best regards,


    Add comment
    10|10000 characters needed characters exceeded