XSLT Parameters in workbench

Hello,
I have a variable in my process of type string called "MyVariable"
I want to reference this variabale in an XSLT file as a parameter.
How do I do that?
Below is first attempt, but it doesnt seem to work:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/" xmlns:dd="http://ns.adobe.com/data-description/">
<xsl:param  name="thePath">{$ /process_data/@MyVariable $}</xsl:param>
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/" xmlns:cic="http://cic.gcms.mel/">
  <cic:applicationDetails xmlns:cic="http://cic.gcms.mel/" xmlns:arr="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
   <cic:DependentApplicant>
    <cic:FamilyName>
     <xsl:value-of select="$thePath/Child1Name"/>
    </cic:FamilyName>
    <cic:Age>
     <xsl:value-of select="$thePath/Child1Age"/>
    </cic:Age>
    <cic:Gender>
     <xsl:value-of select="$thePath/Child1Gender"/>
    </cic:Gender>
   </cic:DependentApplicant>
  </cic:applicationDetails>
</xsl:template>
</xsl:stylesheet>
Lil help?

I have the same problem and tried what was suggested with no luck.  Here is my
xslt.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
   <xsl:value-of select="{$ /process_data/@inVar $}"/>
</xsl:template>
</xsl:stylesheet>
where inVar (string) is the name of variable in workbench.
I get the following error.
ALC-DSC-000-000: com.adobe.idp.dsc.DSCRuntimeException: Internal error.
at com.adobe.idp.workflow.dsc.invoker.WorkflowDSCInvoker.transientInvoke(WorkflowDSCInvoker. java:367)
at com.adobe.idp.workflow.dsc.invoker.WorkflowDSCInvoker.invoke(WorkflowDSCInvoker.java:157)
at com.adobe.idp.dsc.interceptor.impl.InvocationInterceptor.intercept(InvocationInterceptor. java:140)
at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
at com.adobe.idp.dsc.transaction.interceptor.TransactionInterceptor$1.doInTransaction(Transa ctionInterceptor.java:74)
at com.adobe.idp.dsc.transaction.impl.ejb.adapter.EjbTransactionCMTAdapterBean.execute(EjbTr ansactionCMTAdapterBean.java:342)
at com.adobe.idp.dsc.transaction.impl.ejb.adapter.EjbTransactionCMTAdapterBean.doRequiresNew (EjbTransactionCMTAdapterBean.java:284)
at sun.reflect.GeneratedMethodAccessor244.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:592)
at org.jboss.invocation.Invocation.performCall(Invocation.java:359)
at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionConta iner.java:237)
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionI nterceptor.java:158)
at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstance Interceptor.java:169)
at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:63)
at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:121)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:404)
at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:181)
at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:168)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205)
at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor. java:138)
at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:648)
at org.jboss.ejb.Container.invoke(Container.java:960)
at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invoke(BaseLocalProxyFactory.java:430)
at org.jboss.ejb.plugins.local.StatelessSessionProxy.invoke(StatelessSessionProxy.java:103)
at $Proxy207.doRequiresNew(Unknown Source)
at com.adobe.idp.dsc.transaction.impl.ejb.EjbTransactionProvider.execute(EjbTransactionProvi der.java:143)
at com.adobe.idp.dsc.transaction.interceptor.TransactionInterceptor.intercept(TransactionInt erceptor.java:72)
at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
at com.adobe.idp.dsc.interceptor.impl.InvocationStrategyInterceptor.intercept(InvocationStra tegyInterceptor.java:55)
at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
at com.adobe.idp.dsc.interceptor.impl.InvalidStateInterceptor.intercept(InvalidStateIntercep tor.java:37)
at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
at com.adobe.idp.dsc.interceptor.impl.AuthorizationInterceptor.intercept(AuthorizationInterc eptor.java:132)
at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
at com.adobe.idp.dsc.interceptor.impl.JMXInterceptor.intercept(JMXInterceptor.java:48)
at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
at com.adobe.idp.dsc.engine.impl.ServiceEngineImpl.invoke(ServiceEngineImpl.java:115)
at com.adobe.idp.dsc.routing.Router.routeRequest(Router.java:118)
at com.adobe.idp.dsc.provider.impl.base.AbstractMessageReceiver.invoke(AbstractMessageReceiv er.java:315)
at com.adobe.idp.dsc.provider.impl.soap.axis.sdk.SoapSdkEndpoint.invokeCall(SoapSdkEndpoint. java:138)
at com.adobe.idp.dsc.provider.impl.soap.axis.sdk.SoapSdkEndpoint.invoke(SoapSdkEndpoint.java :81)
at sun.reflect.GeneratedMethodAccessor464.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:592)
at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at sun.reflect.GeneratedMethodAccessor463.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:592)
at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276)
at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j ava:283)
at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:56 )
at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:189)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:185)
at com.adobe.idp.dsc.provider.impl.soap.axis.InvocationFilter.doFilter(InvocationFilter.java :43)
at sun.reflect.GeneratedMethodAccessor462.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:592)
at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276)
at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:218)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j ava:230)
at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:56 )
at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:189)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:185)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at sun.reflect.GeneratedMethodAccessor461.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:592)
at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276)
at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:218)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j ava:230)
at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:56 )
at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:189)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:185)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.ja va:179)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java: 156)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.ja va:580)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.NullPointerException
at com.adobe.workflow.engine.PEUtil.invokeAction(PEUtil.java:842)
at com.adobe.idp.workflow.dsc.invoker.WorkflowDSCInvoker.transientInvoke(WorkflowDSCInvoker. java:346)
... 110 more
Caused by: java.lang.NullPointerException
at com.adobe.livecycle.xslt.XsltTransformer.transform(XsltTransformer.java:126)
at com.adobe.livecycle.xslt.XsltService.transform(XsltService.java:213)
at com.adobe.livecycle.xslt.XsltService.transform(XsltService.java:88)
at sun.reflect.GeneratedMethodAccessor4333.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:592)
at com.adobe.idp.dsc.component.impl.DefaultPOJOInvokerImpl.invoke(DefaultPOJOInvokerImpl.jav a:118)
at com.adobe.idp.dsc.interceptor.impl.InvocationInterceptor.intercept(InvocationInterceptor. java:140)
at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
at com.adobe.idp.dsc.transaction.interceptor.TransactionInterceptor$1.doInTransaction(Transa ctionInterceptor.java:74)
at com.adobe.idp.dsc.transaction.impl.ejb.adapter.EjbTransactionCMTAdapterBean.execute(EjbTr ansactionCMTAdapterBean.java:342)
at com.adobe.idp.dsc.transaction.impl.ejb.adapter.EjbTransactionCMTAdapterBean.doSupports(Ej bTransactionCMTAdapterBean.java:212)
at sun.reflect.GeneratedMethodAccessor323.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:592)
at org.jboss.invocation.Invocation.performCall(Invocation.java:359)
at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionConta iner.java:237)
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionI nterceptor.java:158)
at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstance Interceptor.java:169)
at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:63)
at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:121)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:378)
at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:181)
at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:168)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205)
at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor. java:138)
at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:648)
at org.jboss.ejb.Container.invoke(Container.java:960)
at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invoke(BaseLocalProxyFactory.java:430)
at org.jboss.ejb.plugins.local.StatelessSessionProxy.invoke(StatelessSessionProxy.java:103)
at $Proxy207.doSupports(Unknown Source)
at com.adobe.idp.dsc.transaction.impl.ejb.EjbTransactionProvider.execute(EjbTransactionProvi der.java:104)
at com.adobe.idp.dsc.transaction.interceptor.TransactionInterceptor.intercept(TransactionInt erceptor.java:72)
at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
at com.adobe.idp.dsc.interceptor.impl.InvocationStrategyInterceptor.intercept(InvocationStra tegyInterceptor.java:55)
at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
at com.adobe.idp.dsc.interceptor.impl.InvalidStateInterceptor.intercept(InvalidStateIntercep tor.java:37)
at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
at com.adobe.idp.dsc.interceptor.impl.AuthorizationInterceptor.intercept(AuthorizationInterc eptor.java:132)
at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
at com.adobe.idp.dsc.interceptor.impl.JMXInterceptor.intercept(JMXInterceptor.java:48)
at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
at com.adobe.idp.dsc.engine.impl.ServiceEngineImpl.invoke(ServiceEngineImpl.java:115)
at com.adobe.idp.dsc.routing.Router.routeRequest(Router.java:118)
at com.adobe.idp.dsc.provider.impl.base.AbstractMessageReceiver.routeMessage(AbstractMessage Receiver.java:91)
at com.adobe.idp.dsc.provider.impl.vm.VMMessageDispatcher.doSend(VMMessageDispatcher.java:21 5)
at com.adobe.idp.dsc.provider.impl.base.AbstractMessageDispatcher.send(AbstractMessageDispat cher.java:57)
at com.adobe.idp.dsc.clientsdk.ServiceClient.invoke(ServiceClient.java:208)
at com.adobe.workflow.engine.PEUtil.invokeAction(PEUtil.java:729)
... 111 more

Similar Messages

  • Java object XSLT parameters problem. JDK vs Xalan.

    Hello all,
    I need to create a small application which requires to run some transformation interacting with a number of Java classes.
    Small example is below: I have a Java class, which I'm going to use within transformation.
    package com.example;
    public class Document
      private String filename=null;
      public String getFilename() {
        return this.filename;
    }and transformation which extracts some information from the passed parameter object
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:document="com.example.Document">
        <xsl:param name="theDocument"/>
        <xsl:template match="/">
            <example>
                <xsl:value-of select="document:getFilename($theDocument)"/>
            </example>
        </xsl:template>
    </xsl:stylesheet>The code which launches transformation is following:
            try {
                TransformerFactory factory = TransformerFactory.newInstance();
                Templates template = factory.newTemplates(new StreamSource(new FileInputStream(transformationFilename)));
                Source source = new StreamSource(new FileInputStream(theSourceFilename));
                Result result = new StreamResult(new FileOutputStream(theTargetFilename));
                Transformer transformer = template.newTransformer();
                transformer.setParameter("theDocument", theDocument);
                transformer.transform(source, result);
            } catch (TransformerConfigurationException e) {
                e.printStackTrace();
            } catch (FileNotFoundException e) {
                e.printStackTrace();
        }When I run it I get
    ERROR:  'Cannot find external method 'com.example.Document.getFilename' (must be public).'
    FATAL ERROR:  'Could not compile stylesheet'at this line
      Templates template = factory.newTemplates(new StreamSource(new FileInputStream(transformationFilename)));I made a test with a variable, when Document instance is not a parameter but an instance created within transformation and assigned to an XSLT variable. Everything works fine in variable case, but not with parameter.
    Once I've added Xalan-2.7.1 .jars to the classpath it had been fixed. I guess the issue is described here (yep, I'm using 1.5).
    XSLTC does not support all the extensions that Xalan does. These extensions are beyond the definition of the JAXP and XSLT specifications. For those users impacted by this, the work around of downloading the Xalan classes from Apache is still available. Also, going forward we expect to be supporting more and more extensions in XSLTC.
    However, I'd like to find Xalan free solution. Could someone explain what is the difference and how implement the same behaviour without using Xalan?
    Thank you in advance.

    georgemc, your answer may not have helped the original poster, but it just helped me out. So, thank you very much.
    To clarify, for the benefit of anyone else who encounters this issue, it looks as if a possible cause of the 'Cannot find external method' error is that the transformer is defaulting to something - possibly XSLTC - that does not support certain extension methods. Ensuring that a recent Xalan JAR is in the classpath may resolve the problem.
    Edited by: slamci on Mar 13, 2010 11:14 AM

  • How set parameters of AKD driver with LABVIEW ?

    Hi
         I  am looking a simple example to set or read paramaters of AKD driver with Labview .
    The AKD has ethernet communication and the control is analogue - AKD-P00306-NBAN-0000
    I want to use Labview to read the same paramerters like Kollmorgen WorkBench
    Thank you for  you help
    Solved!
    Go to Solution.

    Hi k-usa,
    We use Workbench to access these parameters, and unfortunately for many of them there isn't a way to access them in LabVIEW.  The manual for using the AKD with our C-Series modules (http://www.ni.com/pdf/manuals/375516b.pdf) specifies setting these parameters in Workbench for this reason.  I apologize that there isn't a way to access many of them in LabVIEW.
    Julian R.
    Applications Engineer
    National Instruments

  • How to remove a node from a xml

    Hi All,
    I want to remove a node from my xml output. Can anyone suggest me how to get that? I want to implement this by using the ASSIGN activity.
    My sample output is
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing">
         <env:Header>
              <wsa:MessageID>urn:4EF1A350677C11E1BFA7794ED76B03EF</wsa:MessageID>
              <wsa:ReplyTo>
                   <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
              </wsa:ReplyTo>
         </env:Header>
         <env:Body>
              <SiebelOrderQueryByExample_Output xmlns="http://siebel.com/asi/">
                   <ListOfOrderInterface xmlns="http://www.siebel.com/xml/Siebel%20Order">
                        <Orders>
                             <Id>1-15IXJ</Id>
                             <AccountId>1-2EE</AccountId>
                             <OrderNumber>1012-1234</OrderNumber>
                             <ListOfLineItems>
                                  <LineItems>
                                       <Id>1-15IYN</Id>
                                       <LineNumber>303</LineNumber>
                                       <OrderNumber>1012-1234</OrderNumber>
                                       <OrderHeaderId>1-15IXJ</OrderHeaderId>
                             </LineItems>
                                  </ListOfLineItems>
                             </Orders>
    </ListOfOrderInterface>
              </SiebelOrderQueryByExample_Output>
         </env:Body>
    </env:Envelope>
    I want to delete the <ListOfLineItems>node from the xml above so that my resultant would be,
         <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing">
         <env:Header>
              <wsa:MessageID>urn:4EF1A350677C11E1BFA7794ED76B03EF</wsa:MessageID>
              <wsa:ReplyTo>
                   <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
              </wsa:ReplyTo>
         </env:Header>
         <env:Body>
              <SiebelOrderQueryByExample_Output xmlns="http://siebel.com/asi/">
                   <ListOfOrderInterface xmlns="http://www.siebel.com/xml/Siebel%20Order">
                        <Orders>
                             <Id>1-15IXJ</Id>
                             <AccountId>1-2EE</AccountId>
                             <OrderNumber>1012-1234</OrderNumber>
         </Orders>
    </ListOfOrderInterface>
              </SiebelOrderQueryByExample_Output>
         </env:Body>
    </env:Envelope>     
    Please suggest something Its urgent.
    Thanks in Advance.

    It goes something like this, taken from the above blog entry:
    Removing a node from node-list
    With the bpelx: extensions in BPEL you are able to insert and update nodes in a node list. A node-list is an XML message that contains a set of records. In this article I use the following example:
    <BookList xmlns="http://message.vijfhuizen.com">
    <Book>
    <title>The Lord Of The Rings</title>
    <author>J.R.R. Tolkien</author>
    </Book>
    <Book>
    <title>Harry Potter</title>
    <author>J.R.R. Tolkien</author>
    </Book>
    <Book>
    <title>The Hobbit</title>
    <author>J.R.R. Tolkien</author>
    </Book>
    <Book>
    <title>Storm; Chronicals of Pandarve</title>
    <author>Don Lawrence</author>
    </Book>
    </BookList>
    For creating and updating node lists the bpelx: functions are enough to handle this. But when you want to remove a particular node, you can use the bpelx:remove function. But this function can only remove a node from a particular position. For example removing the second node you code:
    <bpel:assign>
    <bpelx:remove>
    <bpelx:target variable="VarBookList" query="/Booklist/Book[2]" />
    </bpelx:append>
    </bpel:assign>
    It is hard to code the bpelx:remove to create a xpath to dynamicly remove node. You would like to remove the second node based on the xpath:
    /Booklist/Book[title="Harry Potter" and author="J.R.R. Tolkien"]
    You can add the above xpath in the bpelx:remove, but you are not able to make this dynamically.
    There is a solution. The trick is to create a stylesheet that copies the data into a new message, but removing that particular records. Create a stylesheet that does the normal copy of the XML message. Then add a <choose> element in the stylsheet to filter that particular record.
    <xsl:template match="/">
    <BookList>
    <xsl:for-each select="/BookList/Book">
    <xsl:choose>
    <xsl:when test="title='Harry Potter' and author='J.R.R. Tolkien'"/>
    <xsl:otherwise>
    <Book>
    <title>
    <xsl:value-of select="title"/>
    </title>
    <author>
    <xsl:value-of select="author"/>
    </author>
    </Book>
    </xsl:otherwise>
    </xsl:choose>
    </xsl:for-each>
    </BookList>
    Now we have a XSL stylesheet that removes a particular record, but this is not variable. This can be done via XSLT parameters.
    <xsl:param name="pTitle"/>
    <xsl:param name="pAuthor"/>
    <xsl:template match="/">
    <BookList>
    <xsl:for-each select="/BookList/Book">
    <xsl:choose>
    <xsl:when test="title=$pTitle and author=$pAuthor"/>
    <xsl:otherwise>
    <Book>
    <title>
    <xsl:value-of select="title"/>
    </title>
    <author>
    <xsl:value-of select="author"/>
    </author>
    </Book>
    </xsl:otherwise>
    </xsl:choose>
    </xsl:for-each>
    </BookList>
    </xsl:template>
    Now we are able to use this stylesheet in BPEL. In general BPEL create the following code:
    <assign name="Transform">
    <bpelx:annotation>
    <bpelx:pattern>transformation</bpelx:pattern>
    </bpelx:annotation>
    <copy>
    <from expression="ora:processXSLT('RemoveNode.xsl'
    , bpws:getVariableData('Variable_BookList','payload')" />
    <to variable="Variable_BookListTemp" part="payload"/>
    </copy>
    </assign>
    But this code does not pass parameters to the stylesheet. The ora:processXSLT() can do this it has an additional parameter in this function:
    <assign name="Transform">
    <bpelx:annotation>
    <bpelx:pattern>transformation</bpelx:pattern>
    </bpelx:annotation>
    <copy>
    <from expression="ora:processXSLT('RemoveNode.xsl'
    , bpws:getVariableData('Variable_BookList','payload')" />
    , bpws:getVariableData('BPELxslparameters'))"/>
    <to variable="Variable_BookListTemp" part="payload"/>
    </copy>
    </assign>
    Now only you have to create the BPELxslparameters variable and assign it with the correct name/value pairs. The structure of the this variable is as follows:
    <?xml version="1.0" encoding="windows-1252" ?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns="http://schemas.oracle.com/service/bpel/common"
    targetNamespace="http://schemas.oracle.com/service/bpel/common"
    elementFormDefault="qualified">
    <xsd:element name="parameters">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="item" minOccurs="1" maxOccurs="unbounded">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="name" type="xsd:string"/>
    <xsd:element name="value" type="xsd:string"/>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:schema>
    Create in BPEL the variable BPELxslparameters and let it point to this strucure:
    <process ....
    xmlns:common="http://schemas.oracle.com/service/bpel/common"
    .../>
    <variable name="BPELparameters" element="common:parameters"/>
    Now we can in BPEL create an empty XML message, based on this strcuture and assign the values to these parameters and then call the processXSLT function.
    <bpelx:assign name="Assign_GenerateEmptyParameterSet">
    <copy>
    <from>
    <parameters xmlns="http://schemas.oracle.com/service/bpel/common">
    <item>
    <name>pTitle</name>
    <value/>
    </item>
    <item>
    <name>pAutor</name>
    <value/>
    </item>
    </parameters>
    </from>
    <to variable="BPELparameters" query="/common:parameters"/>
    </copy>
    </bpelx:assign>
    <assign name="Assign_setXSLTParameters">
    <copy>
    <from expression="'Harry Potter'"/>
    <to variable="BPELparameters" query="/common:parameters/common:item[1]/common:value"/>
    </copy>
    <copy>
    <from expression="'J.R.R. Tolkien'"/>
    <to variable="BPELparameters" query="/common:parameters/common:item[1]/common:value"/>
    </copy>
    </assign>
    Posted by Marc Kelderman SOA Blog at 1/16/2008 09:20:00 PM

  • Using the XSLT processor for non-workbench XSLT

    Hi there,
    is it possible to use the built-in XSLT processor for arbitrary XSLT transformations which aren't checked in in the ABAP workbench but instead given as a runtime object (string or iXML)?
    Instead of the built-in command CALL TRANSFORMATION which according to the doc is restricted to workbench transformations, I am looking for an option like this:
    data: lo_transformation type ref to if_ixml_document,
          lo_source         type ref to if_ixml_document,
          lo_target         type ref to if_ixml_focument.
    * I get lo_transformation and lo_source from somewhere out there
    try.
        lo_target ?= cl_some_fine_class_which_i_am_looking_for=>transform(
                          io_source         = lo_source
                          io_transformation = lo_transformation ).
      catch cx_xslt_runtime_error.
    endtry.
    Does anybody know such a feature?
    For a background about this problem - in German language - see my blog
    http://ruediger-plantiko.blogspot.com/2007/08/xslt-in-bsp-anwendungen-und-in-abap.html
    Thanks and Regards,
    Rüdiger

    Dear Rashid,
    thanks - this is the answer! I wonder why I didn't find this class one year ago. A little test prog shows that it works fine and even performant (about 0.5 millisec for creating the new dynamic XSLT program with the method set_source_stream( ) ). For usage in web apps, it would be nice to know whether the temporary program remains available in the application servers' buffer after end of process. I can't check this, since this is performed on the C/C++ level, and SE30 doesn't track the method set_source_stream() itself (it could show a decrease of runtime after the first call).
    Here comes a little self-contained ABAP program to test the functionality. It works well on our system with SAPKB70012.
    Thanks and regards,
    Rüdiger
    * --- Test usage of a dynamically given non-workbench XSLT program
    report  zz_test_cl_xslt_processor.
    data:
    * iXML master
      go_xml type ref to if_ixml,
    * iXML stream factory
      go_sf  type ref to if_ixml_stream_factory.
    load-of-program.
      go_xml = cl_ixml=>create( ).
      go_sf  = go_xml->create_stream_factory( ).
    start-of-selection.
      perform start.
    * --- Start
    form start.
      data: lo_source    type ref to if_ixml_document,
            lo_result    type ref to if_ixml_document,
            lo_processor type ref to cl_xslt_processor,
            lv_p         type progname,
            lo_ex        type ref to cx_xslt_exception.
      perform get_source changing lo_source.
      create object lo_processor.
      try.
    * Set source
          lo_processor->set_source_node( lo_source ).
    * Set result
          lo_result = go_xml->create_document( ).
          lo_processor->set_result_document( lo_result ).
    * This could be time-critical, the creation of a dynamical XSLT prog?
          perform set_transformation using lo_processor
                                     changing lv_p.
    * call xslt-proc
          lo_processor->run( lv_p ).
    * Display result
          call function 'SDIXML_DOM_TO_SCREEN'
            exporting
              document    = lo_result
              title       = 'Result of Transformation'
            exceptions
              no_document = 1
              others      = 2.
        catch cx_xslt_exception into lo_ex.
          sy-msgli = lo_ex->get_text( ).
          message sy-msgli type 'I'.
      endtry.
    endform.                    "start
    * --- Set XSLT transformation from stream
    form set_transformation using io_processor type ref to cl_xslt_processor
                            changing cv_p type progname.
      data: lo_trans     type ref to if_ixml_istream.
    * sv_p contains temp. name of XSLT program after first call
      statics: sv_p   type string.
      if sv_p is initial.
    * It seems that the name can be buffered on appserver level?
        import progname to sv_p
               from shared buffer indx(zx) id 'ZZ_TEST_XSLT_PROC'.
        if sv_p is initial.
          sv_p = 'X'.
        endif.
      endif.
    * Provide the stream containing the XSLT document (as a stream)
      perform get_transformation changing lo_trans.
    * Set transformation
      io_processor->set_source_stream( exporting stream = lo_trans
                                       changing  p      = sv_p ).
    * Buffer progname on server - seems to work
      export progname from sv_p
             to shared buffer indx(zx) id 'ZZ_TEST_XSLT_PROC'.
    * string -> c move necessary, since xslt-proc-interface doesn't use
    * the generic type csequence for program name
      cv_p = sv_p.
    endform.                    "set_transformation
    * --- Parse a source given as string into an if_ixml_document
    form get_source changing co_src type ref to if_ixml_document.
      data: lv_s      type string,
            lo_stream type ref to if_ixml_istream,
            lo_parser type ref to if_ixml_parser.
      concatenate
    `<?xml version="1.0" encoding="iso-8859-1"?>`
    `<countings filiale="2412" invnu="TIEFKUEHL SEPT.07">`
    `<count recNum="1" gid="1" ean="59111828843" menge="1"`
    `preis="0" recNumFrom="1"></count>`
    `</countings>`
    into lv_s.
    * Eingabestream erzeugen und in if_ixml_document abbilden
      lo_stream   = go_sf->create_istream_string( lv_s ).
      co_src      = go_xml->create_document( ).
      lo_parser   = go_xml->create_parser( document       = co_src
                                           istream        = lo_stream
                                           stream_factory = go_sf ).
      lo_parser->parse( ).
    endform.                    "get_source
    * --- Put the transformation given as string into an if_ixml_istrean
    form get_transformation changing co_trans type ref to if_ixml_istream.
      data: lv_s   type string.
      concatenate
      `<?xml version="1.0" encoding="iso-8859-1"?>`
      `<xsl:transform version="1.0"`
      ` xmlns:xsl="http://www.w3.org/1999/XSL/Transform"`
      ` xmlns:asx="http://www.sap.com/abapxml">`
      `<xsl:strip-space elements="*"></xsl:strip-space>`
      `<xsl:template match="countings">`
      ` <asx:abap>`
      `   <asx:values>`
      `     <SELOPT>`
      `       <WERKS><xsl:value-of select="@filiale"></xsl:value-of></WERKS>`
      `       <INVNU><xsl:value-of select="@invnu"></xsl:value-of></INVNU>`
      `     </SELOPT>`
      `     <COUNTINGS>`
      `       <xsl:for-each select="count">`
      `         <ZSRS_ZWSTI_LINE>`
      `           <MATNR></MATNR>`
      `           <EAN11><xsl:value-of select="@ean"></xsl:value-of></EAN11>`
      `           <MAKTX></MAKTX>`
      `           <MENGE><xsl:value-of select="@menge"></xsl:value-of></MENGE>`
      `           <MEINH></MEINH>`
      `           <UNAME></UNAME>`
      `           <EXVKW></EXVKW>`
      `           <WAERS></WAERS>`
      `           <FF></FF>`
      `           <GID><xsl:value-of select="@gid"></xsl:value-of></GID>`
      `           <RECNUM><xsl:value-of select="@recNum"></xsl:value-of></RECNUM>`
      `           <RECNUM_FROM><xsl:value-of select="@recNumFrom"></xsl:value-of></RECNUM_FROM>`
      `           <REF_RECNUM><xsl:value-of select="@refRecNum"></xsl:value-of></REF_RECNUM>`
      `         </ZSRS_ZWSTI_LINE>`
      `       </xsl:for-each>`
      `     </COUNTINGS>`
      `   </asx:values>`
      ` </asx:abap>`
      `</xsl:template>`
      `</xsl:transform>`
      into lv_s.
      co_trans = go_sf->create_istream_string( lv_s ).
    endform.                    "get_transformation
    Edited by: Rüdiger Plantiko on Jul 4, 2008 10:25 AM

  • Parameterized XSLT Mappings

    Hello,
    I'm trying to implement a Parameterized XSLT Mapping. But in the documention is a gap (see http://help.sap.com/saphelp_nwpi711/helpdata/en/43/bbb7fd90f5332ee10000000a11466f/frameset.htm). In Action 2 is written:
    "When the XSLT mapping program is implemented, you access the mapping program parameters by accessing the get and set methods of the Java mapping API in the XSLT program (see also: XSLT Mapping with Java Enhancement, Parameterized Java Mappings)."
    But when I follow the link of " XSLT Mapping with Java Enhancement " the example only shows the acces to the StreamTransformationConstants which do not contain the user parameters. How can I access the Importparameters, which I have defined in the binding in Operationmapping in my XSLT? Is ther a well working Java routine available, which could be called in the XSLT?
    I have already working examples for pure ParameterizedJava Mapping and graphical Mapping but I'm missing this XSLT stuff
    Kind regards
    Manfred Schmidt-Voigt

    Hi,
    same findings here. We've followed the topic for a year too now, and chance has it that I've just spent 1,5 days trying to get this to work. The only reserved xsl parameter that is documented by SAP is the inputparam, which gives you access to the runtime constants, but not the parameters. With this parameter I've called a Java class (still according to the SAP Library), but I've not been able to reach the mapping parameters in memory.
    I've 2 more options which I haven't the time now to explore:
    - Call the XSLT from a Java mapping. We do have (well documented) access to mapping program parameters in a Java mapping
    - Try to read the mapping program parameters from the InputAttachment, which is accessible through the StreamTransformationConstants.
    I'm keeping an eye open on this one.. good luck !
    kr,
    Peter Glas

  • Parameterized mapping GUI to XSLT

    Hi I am using parameterized message mapping in PI 7.1, in which I am passing values to message (graphical mapping). The graphical mapping is receiving those values and storing them to DynamicConfiguration key/value pairs. I have written a UDF for that and the UDF does all the job of setting DynamicConfiguration and returns empty string to the target message root element.
    Then, in operation mapping I am placing the above message mapping first followed by the XSLT mapping step. The XSLT mapping is reading the Dynamic parameters set earlier by the message mapping step and using the same populating the XML tags. The objective of the XSLT mapping is to create SOAP envelope with the above fields (parameters) as custom header fields in the SOAP header.
    I see that the SOAP envelope is created correctly by the XSLT with the SOAP body containing all values. But the SOAP header is not the getting the values from the DynamicConfiguration set by the message mapping.
    Question: Is it possible to pass values like this between message(graphical) mapping to XSLT mapping? Are they stored in memory or is it that the moment the next mapping is called, the DynamicConfiguration values are lost?
    Thanks for your help

    Hi saisach,
    I can tell you the easiest way to achive your requirenment.
    In First Message Mapping.:
    Add a filename field under header node in the receiver structure
    Suppose your receiver structure is:
    <Test>
    <Name>Sai</Name
    </Test>
    Then modify it like below.
    <Test>
    <DummyHeader>
    <FileName>TestFile.txt</FileName>
    </DummyHeader>
    <Name>Sai</Name
    </Test>
    And also map the dynamic confuration value to FileName Field.
    Then in your SOAP envelope creation XSLT  mapping read the Dynamic value from this FileName Field and do what you want.
    Create Third simple XSLT mapping to remove the DummyHeader Field.

  • Dynamic XSLT processing - parameters?

    Goal: I want my XSLT mapping to be dynamic, because I expect a certain number of fields with values in my XML, but these field names may change over time, so I have to make it dynamic.
    Step 1: I made my output dynamic by using dynamic internal tables (field-symbols). So that I can change my internal tables easily with a custom-table. Done!
    Step 2: My XSLT transformation should be handled dynamically. Not done!
    Is this step 2 even possible?
    I was thinking of passing PARAMETERS to my CALL TRANSFORMATION statement so that I can let know what fieldnames my XSLT can expect, but then the question remains if the ZTEST transformation can read this out for my purpose.
    CALL TRANSFORMATION ztest
    PARAMETERS (gt_param)
    SOURCE XML gt_itab
    RESULT (gt_result_xml).
    ...knowing that gt_param can only by of type
    ABAP_TRANS_PARMBIND_TAB (for specifying strings) or
    ABAP_TRANS_OBJBIND_TAB (for specifying object references) or
    ABAP_TRANS_PARM_OBJ_BIND_TAB (for specifying data references).
    Thus, is it possible to make my TRANSFORMATION handling dynamic (by using PARAMETERS or something else)? If yes, does anybody know how. Examples are appreciated.
    Mehmet Metin

    This can be done with basic XSLT. Use the XPath expression '*' to apply a template to each child of a given node (for example, if a node represents an ABAP structure, its children represent its components). In the template, use the XPath-function 'local-name()' to retrieve the name of the current element without namespace. Now you should have everything you need for creating the result tree.
    For a working example in our XI system, see the following template:
    <xsl:template match="ZMEDI_MELDUNG_DET">
      <xsl:element name="{SEGID_N}">
        <xsl:element name='SEGID_N'>
          <xsl:value-of select="*[position()=1]"/>
        </xsl:element>
        <xsl:for-each select="*[position()>1 and text() != '']">
          <xsl:element name="{local-name()}">
            <xsl:value-of select="."/>
          </xsl:element>
        </xsl:for-each>
      </xsl:element>
    </xsl:template>
    Here, I copy the components of the ABAP source structure ZMEDI_MELDUNG_DET (the structure name was fixed in my case, but it's easy to identify it without specifying its name, if it should be given at runtime only) into a result tree fragment with parent node name = the content of the ABAP component SEGID_N, the first child having the fixed name SEGID_N with (redundant) its value again, and after that all the components of the source structure, whatever they may be, if their content is non-empty (this was a format required by another non-SAP-development team).
    Regards,
    Rüdiger

  • Passing parameters from jsp to xslt

    Hi all,
    I am trying to pass a variable string from a jsp to xslt .
    This is the code in the jsp which passes the variables .
    <c:set var="xsl">
    <?xml version="1.0"?>
    <xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:import href="<%= "service_attribute.xsl" %>"/>
    <xsl:variable name="ItemId"><%= ItemId %></xsl:variable>
    <xsl:variable name="pos"><%= pos %></xsl:variable>
    <xsl:variable name="lineInfoTn"><%= lineInfoTn %></xsl:variable>
    </xsl:stylesheet>
    </c:set>
    <x:transform xmlSystemId="foo.xml" xslt="${xsl}">
    <%= FM.getOrderBean().getXml("ActivationRequest") %>
    </x:transform>
    In the service_attribute.xsl I would like to be able to check the lineInfoTn variable for content .
    something like this .
    <xsl:if test="$lineInfoTn='10pt'">
    <!-- Do something -->
    <xsl:value-of select="$lineInfoTn"/>
    </xsl:if>
    The first problem is that it complains that the $lineInfoTn is not declared .
    So I added the variable as a global variable .
    <xsl:param name="lineInfoTn">10pt</xsl:param>
    Note I have been switching between variables and parameters to try and get this working .
    I can use the itemId variable like this and I dont have a problem .
    <xsl:for-each select="q:RequestItem/q:ItemId[text() = $ItemId]/..">
    Any ideas on how to get this working .
    Thanks for your help

    Thanks for the input

  • How to process Customer format parameters with Payment Medium Workbench

    Hi
    I have one bank transfer scenario PC00_M99_FPAYM requiring supplying a payment using the French format FR_ETEBAC_CRT_DOM but the execution date of the bank transfer should be replaced by the banku2019s value date. I planned to enter this required date using the Customer format parameters when running PMW.
    The issue I tried to solve is described here below.
    How to extract the Customer format parameters assigned to the payment medium format FR_ETEBAC_VRT_DOM when processed by the Payment medium Workbench in order to fill the Customer specific user-defined fields (ZREF01 to ZREF10 in structure FPAYHX)?
    I noticed the event type 06 authorizes function modules similar like FI_PAYMEDIUM_SAMPLE_06 but the customer format parameters are only available at low level in function module FI_PAYM_MEDIUM_OPEN (example gc_format_params_c)
    Can someone help on this matter?  That would be great.
    Thanks in advance,
    Henri.

    Just sharing my findings and proposed solution.
    This worked
    The expected date is the value date/payee's bank.
    This date is created by the bank transfer program prior to be processed by Payment Medium Creation Tool (SAPFPAYM)
    According to functional investigation it sounds like the bank transfer program does not allow working with the value date/payee's bank.
    The investigation has been done in the Payment Medium Creation Tool. It allows adding the required value date/payee's bank into a customer format parameter.
    Required configuration and development:
    - Clone the current sap format FR_ETEBAC_VRT-DOM into a new Customized format ZFR_ETEBAC_VRT-DOM
    - Clone the corresponding DMEE object FR_ETEBAC_VRT-DOM into a new DMEE object tree type PAYM ZFR_ETEBAC_VRT-DOM
    - Create a new data structure: ZFR_Bank_Transfer with field CRVAL Value Date at Payee's Bank (comp type PRQ_CRVAL)
    - Assign customer structure ZFR_Bank_Transfer to payment format ZFR_ETEBAC_VRT-DOM and declare field CRVAL as required field
    - Build function module ZFI_PAYMEDIUM_06_FR in charge to extract value date/payee's bank from the customer structure and move it to the customer specific user-defined field ES_FPAYHX_CREF-ZREF01
    -  in new DMEE object tree type PAYM ZFR_ETEBAC_VRT-DOM Replace Source field FPAYH-ZALDT by FPAYHX-ZREF01 in the header record

  • Parameterized XSLT XML file

    I apologize if this topic is out of place, but I can not find any forum more suitable to my question. Please advise.
    I use XML and XSLT to render a "tree" in my jsp page. When user clicks a tree leaf, a new page is loaded.
    Each user will see a different tree, depending on his role defined in the application. The worst thing I can do is to have a different XML file for each role.
    Is is possible that I can have just one XML file defining a generic tree, and depends on user role, certain branches and leaves are displayable. In another words, is it possbile to have a XML file parameterized by an external variable.
    The external variable here is the user role, which comes from a session scope bean.
    MSXML has similar feature that is quite close, but my app is based on Java, Struts on Unix.

    Thanks for the hint. I am newbie, and I am quite at lost to make this work.
    Here is my tree xml file tree.xml ( a portion of if)
    =======
    <?xml version="1.0" ?>
    <?xml-stylesheet type="text/xsl" href="../css/xmlTree.xsl"?>
    <!DOCTYPE tree SYSTEM 'tree.dtd'>
    <tree>
    <branch id="IDAdmin"> <!-- Start User Administration branch -->
    <branchText> User ID Setup</branchText>
    <leaf> <leafText> Add</leafText> <link>../add_user.jsp</link> </leaf>
    <leaf> <leafText> Change</leafText> <link>#</link> </leaf>
    </branch> <!-- End of User Administration branch -->
    ===================
    Here is the xmlTree.xsl
    <?xml version="1.0"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="html"></xsl:output>
    <xsl:param name="roleNm" select="'ADMINISTRATOR'"/>
    <xsl:template match="/">
    <html>
    <head>
    <title>XML Tree Control</title>
    <link rel="stylesheet" type="text/css" href="../css/xmlTree.css"/>
    <script type="text/javascript" src="../js/xmlTree.js"></script>
    </head>
    <xsl:apply-templates/>
    </html>
    </xsl:template>
    <xsl:template match="tree">
    <body>
    <b><xsl:value-of select="$roleNm"/></b>
    <xsl:apply-templates/>
    </body>
    </xsl:template>
    Here is a portion of my jsp page
    <frame name="nav_frame" bgcolor="#FFFFCC" src="tree.xm"/>' frameborder="0"
    Can youn kindly give me a bit more detail where the setParameter call should be set ? I guess it will be a scriplet in my jsp, but I don't know how to put them together. Thanks

  • Xslt program in the abap workbench

    Hi,
    could you please give me the navigation steps to create xslt program in the abap workbench ??
    Thanks in advance
    Regards
    ravindra

    Babu,
    Check this weblogs for some help on this:
    /people/r.eijpe/blog/2005/11/04/using-abap-xslt-extensions-for-xi-mapping
    /people/dirk.roeckmann/blog/2006/07/26/grouping-xml-with-xslt--from-muenchian-method-to-xslt-20
    /people/achim.bangert/blog/2005/07/17/code-generation-using-xsl-transformations
    /people/rahul.nawale2/blog/2006/11/01/dynamically-sending-a-mail-to-the-po-creator-using-xslt-abap-mapping
    ---Satish

  • Xslt emitting functoid with parameters is it possible ?

    Hello,
    I am developing a functoid that emits xslt.
    We have a requirement to map a header and that map is rather complex and will occur frequently.
    By putting that complexity inside a single functoid that emist the xslt we now have a nice solution for this problem.
    Now we drag a functoid on the map and connect the single header element to the input and one to the output.
    Everything is working as expected and the functoid emits a large xslt into the map resulting in a mapped header.
    But now I need to add several input string to the functoid and use those inputs in my script…..
    The scripttype that is being emitted is inline xslt !
    So I need the input variabele and wrap it in xslt as a variable declaration. Like so:
    <xsl:variable name="var:v1" select="SomeFuntoidInputParameterValue" />
    But I see no way to get to the input variabeles inside the getscriptbuffer method…..
    Anybody ever did something like this and wants to share the info?
    Thanks
    Well0549, Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread

    Well.....
    You could consider my functoid and index functoid. All I want is to have a parameter added as a value in my script.
    If I Add 2 in the index functoid I see that reflected in the resulting declaration in xslt that is exactly what i want.
    But i can't seem to get to the parameters once i am in the scriptbuilder.....
    Well0549, Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread

  • Need to use more than 32 parameters in the workbench

    When using the workbench, we have reached the maximum number of parameters (32) but my database Iu2019m inserting into has more than 32 fields.  Is there a way to work with more than 32 parameters?  Currently I have to insert the first 32 parameters and then perform an update query for the remaining parameters.
    We are using MII version 12.0.
    Thanks
    George

    George,
    if you are working with Oracle DB, you may have a look at the XSU (XML SQL Utility):
    [XSU for PL/SQL|http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96621/adx23xsp.htm]
    You can build a XML with all your insert / update / delete rows, and call a stored procedure that calls the XSU interface. This is quite fast (only one DB call) and you can use as many parameters as you need.
    Michael

  • How to pass parameters to an XSL for use in a transform (JSP/XSLT)?

    I have an XSL: style.xsl
    I have an XML: data.xml
    I want to do an XSL Transform on data.xml, using style.xsl, with parameter
    Language=en
    With Saxon you would do:
    saxon data.xml style.xsl Language=en
    But how would I do this with WL6.x, using the JSP XSLT tag:
    <x:xslt [xml="uri of XML file"]
    [media="media type to determine stylesheet"]
    [stylesheet="uri of stylesheet"]
    <x:xml>In-line XML goes here
    </x:xml>
    <x:stylesheet [media="media type to determine stylesheet"]
    [uri="uri of stylesheet"]
    </x:stylesheet>
    </x:xslt>
    Thanks
    Alain Jacquot

    There is currently no way to do this from the jsp xslt tag. I have filed an
    issue because this is available in the JAXP 1.1 API. If you need this
    functionality in the current version you will need to use the JAXP API
    directly.
    Sam
    "Alain Jacquot" <[email protected]> wrote in message
    news:3b368016$[email protected]..
    I have an XSL: style.xsl
    I have an XML: data.xml
    I want to do an XSL Transform on data.xml, using style.xsl, with parameter
    Language=en
    With Saxon you would do:
    saxon data.xml style.xsl Language=en
    But how would I do this with WL6.x, using the JSP XSLT tag:
    <x:xslt [xml="uri of XML file"]
    [media="media type to determine stylesheet"]
    [stylesheet="uri of stylesheet"]
    <x:xml>In-line XML goes here
    </x:xml>
    <x:stylesheet [media="media type to determine stylesheet"]
    [uri="uri of stylesheet"]
    </x:stylesheet>
    </x:xslt>
    Thanks
    Alain Jacquot

Maybe you are looking for

  • Long load times for large video tracks

    Is there a recommended file size to stay under for video tracks in iTuens U? I know the hard limit is 500Mb per upload, but it seems as though any file that is more than about 10 minutes in length takes upwards of 10 minutes or longer to load. A shor

  • HT4437 airplay no longer works...

    Hi I have a bad wifi connection in the house so bought a powerline netgear booster- the signal is now much better but airplay no longer works. Airplay is set up with speakers throughout the house (wired in) with panels on the walls in different rooms

  • Which Macbook Pro is good for a college student?

    Hi! I want to buy the new Macbook Pro with Retina Display. My current laptop has 455 gb in which I only used 83 gb of it since the past 5 years I've been using it. I know that the original macbook pro is good too but its way heavier than the Macbook

  • How can I add images which are not in Iphoto to Iweb photo gallery?

    I have many photos that I have not imported in Iphoto just because I worked on them with Photoshop and downloaded straight from the camera memory cards with a card reader. If I add the image from the disk with the add/choose command (or insert/choose

  • Downloaded images to IPAD become black and white

    After updating to the lates version of IOS downloading images from the computer many turned out black and white. Never had this problem before.