Topic
  • 7 replies
  • Latest Post - ‏2014-08-29T13:58:32Z by RubenRandall
RubenRandall
RubenRandall
89 Posts

Pinned topic FFD Stylesheet Delimiter

‏2014-08-19T21:31:00Z |

Hi Experts,

I am trying to write an FFD stylesheet to split up name value pairs in a Http Post Message that has a delimiter ampersand, I know this splitting can be achieved using Http Convert action but, I would like to see if there is possiblity of achieving this using FFD stylesheet with Specified delimiter.

I am trying with this FFD... Apparently this is failing, could you please let me know where am I going wrong

FFD


<File name="PostPayload">
        <Field name="arg" minOccurs="0" maxOccurs="unbounded"  delim="amp;"/>
</File>

Stylesheet

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:dp="http://www.datapower.com/extensions"
                version="1.0">

    <dp:input-mapping href="message.ffd" type="ffd"/>

    <!-- This stylesheet copies the input to the output -->
    <xsl:output method="xml"/>

    <xsl:template match="/">

        <xsl:copy-of select="." />

    </xsl:template>
</xsl:stylesheet>

Thanks,

Ruben

 

  • HermannSW
    HermannSW
    5497 Posts

    Re: FFD Stylesheet Delimiter

    ‏2014-08-20T08:37:40Z  

    Hi Ruben,

    handcrafted FFDs are not supported.

    Find more information and alternatives in this posting:
    https://www.ibm.com/developerworks/community/forums/html/topic?id=77777777-0000-0000-0000-000014779966#77777777-0000-0000-0000-000014780892



    Hermann <myBlog/> <myTweets/> | <GraphvizFiddle/> | <xqib/> | <myCE/> <myFrameless/> | 

  • UlrikAndersen
    UlrikAndersen
    244 Posts

    Re: FFD Stylesheet Delimiter

    ‏2014-08-20T09:04:26Z  

    As you will see in the great material referenced (and produced!) by Hermann, you CAN use a simple FFD treating the whole input as a single string. And then you can use the EXSLT split or tokenize functions in your stylesheet to sort out the name/value pairs. HTTP Convert action would be a more natural choice, though.

  • RubenRandall
    RubenRandall
    89 Posts

    Re: FFD Stylesheet Delimiter

    ‏2014-08-27T14:28:35Z  

    As you will see in the great material referenced (and produced!) by Hermann, you CAN use a simple FFD treating the whole input as a single string. And then you can use the EXSLT split or tokenize functions in your stylesheet to sort out the name/value pairs. HTTP Convert action would be a more natural choice, though.

    Hi Hermann & Ulrik,

    Thanks for the reply, I have researched a little bit and your link has helped me understand the efficient Non Xml transformation through WTX and FFD for different payload sizes.A  WTX  license is required to do a mapping and deploy executable to datapower while,Dataglue is an alternative that ships with datapower with prebuilt FFD stylesheets that can help you do Non Xml data transformation using string manipulative functions in XSLT. I kind of used the option that Ulrik has pointed out. So, I would like to know to make custom FFD's rather than the one's that are are existing would I have to buy a Contivo Analyst License.

    Please let me know

    Thanks,

    Ruben

  • HermannSW
    HermannSW
    5497 Posts

    Re: FFD Stylesheet Delimiter

    ‏2014-08-27T15:10:53Z  

    Hi Hermann & Ulrik,

    Thanks for the reply, I have researched a little bit and your link has helped me understand the efficient Non Xml transformation through WTX and FFD for different payload sizes.A  WTX  license is required to do a mapping and deploy executable to datapower while,Dataglue is an alternative that ships with datapower with prebuilt FFD stylesheets that can help you do Non Xml data transformation using string manipulative functions in XSLT. I kind of used the option that Ulrik has pointed out. So, I would like to know to make custom FFD's rather than the one's that are are existing would I have to buy a Contivo Analyst License.

    Please let me know

    Thanks,

    Ruben

    Hi Ruben,

    > So, I would like to know to make custom FFD's rather than the one's that are are existing would I have to buy a Contivo Analyst License.
    >
    yes, from Liason Technologies:

    http://liaison.com/products/transform/contivo/contivo-analyst


    Before you go down that route a few more comments.

    DataPower firmware develpment wrt. Contivo FFD has completely stopped back in 2007.
    Reason was that WTX is the strategic Any2Any integration tool since then.

    The only exception was this ER that got implemented back in 2011 for 4.0.2.0 firmware:
    http://www-01.ibm.com/support/docview.wss?uid=swg27022217#desc

    On appliances with the DataGlue feature, supports 18-digit precision in both the request and response directions when processing numeric values from COBOL Copybook to XML. This 18-digit precision support is now also available with Contivo Analyst generated flat file descriptor (FFD) files. To maintain that precision inside a stylesheet, use the DataPower xs:decimal feature.


    Of course a valid FFD PMR will be fixed, we had some FFD PMRs over the years.


    And another comment, even with Contivo Analyst you are still not able to get support for handcrafted FFDs, only for toolcrafter FFDs.


    Hermann <myBlog/> <myTweets/> | <GraphvizFiddle/> | <xqib/> | <myCE/> <myFrameless/> | 

    Updated on 2014-08-27T15:12:19Z at 2014-08-27T15:12:19Z by HermannSW
  • RubenRandall
    RubenRandall
    89 Posts

    Re: FFD Stylesheet Delimiter

    ‏2014-08-27T17:30:45Z  
    • HermannSW
    • ‏2014-08-27T15:10:53Z

    Hi Ruben,

    > So, I would like to know to make custom FFD's rather than the one's that are are existing would I have to buy a Contivo Analyst License.
    >
    yes, from Liason Technologies:

    http://liaison.com/products/transform/contivo/contivo-analyst


    Before you go down that route a few more comments.

    DataPower firmware develpment wrt. Contivo FFD has completely stopped back in 2007.
    Reason was that WTX is the strategic Any2Any integration tool since then.

    The only exception was this ER that got implemented back in 2011 for 4.0.2.0 firmware:
    http://www-01.ibm.com/support/docview.wss?uid=swg27022217#desc

    On appliances with the DataGlue feature, supports 18-digit precision in both the request and response directions when processing numeric values from COBOL Copybook to XML. This 18-digit precision support is now also available with Contivo Analyst generated flat file descriptor (FFD) files. To maintain that precision inside a stylesheet, use the DataPower xs:decimal feature.


    Of course a valid FFD PMR will be fixed, we had some FFD PMRs over the years.


    And another comment, even with Contivo Analyst you are still not able to get support for handcrafted FFDs, only for toolcrafter FFDs.


    Hermann <myBlog/> <myTweets/> | <GraphvizFiddle/> | <xqib/> | <myCE/> <myFrameless/> | 

    Hi Hermann,

    Thanks a ton!.... So apparently what I understand is that WTX transformation is far more efficient than FFD transformation for a bigger binary payloads and provides good precision as well. I was also wondering If Gateway Script has any Non Xml Transformation capabilities starting from firmware v7.0.0

    Thanks,

    Ruben

  • HermannSW
    HermannSW
    5497 Posts

    Re: FFD Stylesheet Delimiter

    ‏2014-08-29T10:31:42Z  

    Hi Hermann,

    Thanks a ton!.... So apparently what I understand is that WTX transformation is far more efficient than FFD transformation for a bigger binary payloads and provides good precision as well. I was also wondering If Gateway Script has any Non Xml Transformation capabilities starting from firmware v7.0.0

    Thanks,

    Ruben

    Hi Ruben,

    your question made me do a new blog posting on Non-XML data processing options:
    https://www.ibm.com/developerworks/community/blogs/HermannSW/entry/datapower_non_xml_data_processing_options

    Your question wrt GatewayScript is answered here:
    https://www.ibm.com/developerworks/community/blogs/HermannSW/entry/datapower_non_xml_data_processing_options#GatewayScript


    Hermann <myBlog/> <myTweets/> | <GraphvizFiddle/> | <xqib/> | <myCE/> <myFrameless/> | 

     

  • RubenRandall
    RubenRandall
    89 Posts

    Re: FFD Stylesheet Delimiter

    ‏2014-08-29T13:58:32Z  
    • HermannSW
    • ‏2014-08-29T10:31:42Z

    Hi Hermann,

    Thanks a lot!..... Your blog post will help organizations choose a correct option for Non XML transformation based on their business requirements. so we now have following options

    1. WTX (require WTX license)

    2. Contivo FFD (Custom FFD's require a contivo analyst license)

    3. Prebuild FFD & WSTE 4 FFD's (DataPower shipped with free prebuilt FFD's)

           http://www-01.ibm.com/support/docview.wss?uid=swg27022979

    4. Xpath 2.0 (Option available for Datapower with firmware above 6.0.0.0)

    5. Gateway Script (Option available for Datapower with firmware V7.0.0.0)

    Thanks again Hermann, Your blog post was a real help!

    Thanks,

    Ruben