Transformer.transform  - xml transformation

Hi all,
I'd like to transform a string in XML format (i.e String testXML = "<test><option>red</option></test>") using an xslt.
I can do something similar right now when the xml is a file which I load as a StreamSource into the TransformerFactory.
example of javax transformerFactory:
transformer.transform(new StreamSource("test.xml"), new StreamResult(new FileOutputStream("resutl.xml")));
However, right now I construct the XML from the DB and store it as a string. I'd like to transform this string right away. I don't want to store it in a file first and then transform it.
Does anyone have an example or a solution for this? Any and all help is appreciated.
Thanks,
Nik

ie:
StreamSource s = new StreamSource(new StringReader(myString));

Similar Messages

  • XSL problem with javax.xml.transform.sax.SAXTransformerFactory

    Dear sirs,
    I use SAXTransformerFactory in order to transform a Hashtable to SAX Event and apply a XSL.
    I try this code with the lastest version of apache parser.
    It run well.
    But, I put this software to WEBLOGIC 6.2 server and no run.
    this check is true:
              if (transFact.getFeature(javax.xml.transform.sax.SAXTransformerFactory.FEATURE)&&transFact.getFeature(javax.xml.transform.sax.SAXSource.FEATURE))
    Some one can help me.
    Thank in avance
    The code:
    java.io.ByteArrayOutputStream bout = new java.io.ByteArrayOutputStream();
              com.cajarural.xml.HashtableParser parser = new com.cajarural.xml.HashtableParser(hashtable);
              // Codigo para el TansformerHandler
              // set the destination for the XSLT transformation
                   javax.xml.transform.TransformerFactory transFact = javax.xml.transform.TransformerFactory.newInstance();
                   if (transFact.getFeature(javax.xml.transform.sax.SAXTransformerFactory.FEATURE)&&transFact.getFeature(javax.xml.transform.sax.SAXSource.FEATURE))
    javax.xml.transform.sax.SAXTransformerFactory saxTransFact = (javax.xml.transform.sax.SAXTransformerFactory) transFact;
    javax.xml.transform.sax.TransformerHandler transHand = saxTransFact.newTransformerHandler(templates);
    transHand.setResult(new javax.xml.transform.stream.StreamResult(bout));
    parser.setContentHandler(transHand);
    // attach the XSLT processor to the           parser.parse();
              return new String(bout.toByteArray());

    put Xalan in your war file then try using this kind of commands:     System.setProperty("org.xml.sax.parser", "org.apache.xerces.parsers.SAXParser");
    System.setProperty("javax.xml.parsers.SAXParserFactory", "org.apache.xerces.jaxp.SAXParserFactoryImpl");
    System.setProperty("javax.xml.parsers.DocumentBuilderFactory", "org.apache.xerces.jaxp.DocumentBuilderFactoryImpl");
    System.setProperty("javax.xml.transform.TransformerFactory", "org.apache.xalan.processor.TransformerFactoryImpl");This tells JAXP what implementations it should use without even asking your administrator to modify the WebLogic setup...
    It's what I've done with the WLS7.0 server I am using ;-)

  • Error: while trying to invoke the method javax.xml.transform.Transformer.

    Hi All,
    I am working on Version 12.1.8 Build(20),  I have referred  SAP notes 1294013 and placed the following files
    - serializer.jar
    - xalan.jar
    - xercesImpl.jar
    - xml-apis.jar
    - xsltc.jar
    in the specified path.
    now when i use XSLT transformation block using IllumRowsetTableWithPageBreaks.xsl i am getting an error
    [ERROR] [XSL_Transformation_0]XSLTransform error: while trying to invoke the method javax.xml.transform.Transformer.transform(javax.xml.transform.Source, javax.xml.transform.Result) of an object loaded from local variable 'processor'
    please guide me.

    Hi Alex,
    No, the case you have explained is not applicable to me. Sharing the code snippet for your reference. This is the code due to which my XSLT gives an error, if I remove these lines of code then the XSLT works fine.
    <xsl:variable name="ENERGY" select="translate(ENERGY,',','')">
         <xsl:choose>
              <xsl:when test="ENERGY= ''">
                   <xsl:value-of select="0.00"/>
              </xsl:when>
              <xsl:otherwise>
                   <xsl:value-of select="ENERGY"/>
              </xsl:otherwise>
         </xsl:choose>
    </xsl:variable>
    Also, the same XSLT works absolutely fine in 12.1 but gives error in 14.0 SP05.
    Warm Regards,
    Anuj

  • Data from two tables in the same row in XML transformation

    Hi,
        I am using XML transformation for generating excel file which is to besent as email attachment.
        Here  I want to display the data from two internal tables in the same row in the excel. .I am using   <tt:loop ref=".<table name>"> ...  </tt:loop> for looping through the table. Can I loop two table simultaneously ? In that case how will I specify the fields in each table . Some of the fields in two tables are of same name and type.
    Please help...
    Thanks,
    Jissa

    Hello Brian,
    Thank you for your answer. It is approach I will use, I think. However let me ask: Would it be possible to have a Version in this layout, too? I mean to see, which value comes from Version A and which comes from Version B? Something like this:
    Calendar Month Version Sales Amount
    2011.01  B  200
    2011.02  B  300
    2011.03  A  260
    2011.04  A  230
    2011.05  A  200
    A

  • XML Transformation Problem in JDeveloper 10.1.3

    I am trying to transform an XML using an XSL, by a Java program, which uses javax.xml.transform.Transformer.
    I have a Java project which has the above said program, where when i run the program, the xml transformation is done successfully.
    But I have a Web project created, where i have the java project's jar in the WEB-INF/lib. And, when i tried to access the same java program from inside the web project, I am getting the following error:
    XML-22000: (Fatal Error) Error while parsing XSL file (unknown protocol: c).
    Please help in resolving this error.

    This is from Metalink:
    Cause
    This is caused by a conflict between the Oracle XML parser installed by default in OC4J and the
    Xerces parser that the application was developed with. Under 10.1.3 OC4J it is possible to tell OC4J not to use the default XML parser for the application at deployment time.
    Solution
    1. Undeploy the existing application using AS Console.
    2. Start a new deployment of the application in AS Console. Click deploy
    3. On the Deploy: Select Archive screen, browse to your deployment war file. Click Next
    4. On the Deploy: Application Attributes give the application a name and click next
    5. On the Deploy: Deployment Settings screen, click the pencil "Go To Task" Icon for the Configure Class Loading option.
    6. Locate the shared library called "oracle.xml" (You may need to click "next 10" one or many times depending on the number of shared libraries you have) . For this row, UNCHECK the box for the column "IMPORT". Click OK
    7. Click deploy, then test you application.

  • What is default value of the javax.xml.transform.Transformer sys property?

    Hi all
    In my other thread "javax.xml.transform." last replied to on 17/04/05, I described that having & in my xml was causing TransformerExceptions when I attempted to apply a stylesheet to the xml.
    I've now deployed exactly the same xml, xsl and java on a completely different environment and have found that the error does NOT occur.
    This completely baffled me at first, but then I read the following in the API documentation for TransformerFactory: -
    "A TransformerFactory instance can be used to create Transformer and Templates objects.
    The system property that determines which Factory implementation to create is named "javax.xml.transform.TransformerFactory". This property names a concrete subclass of the TransformerFactory abstract class. If the property is not defined, a platform default is be used.
    I think that the key must lie in the system property "javax.xml.transform.TransformerFactory". The two environments must be using a different value for this - one representing a class that objects to & and one that doesn't. In neither case do I actually set this property, so my main question is what does it default to and how can I find out what each environment is using for this?
    I'm really baffled here guys, any help would be massively appreciated.
    Thank you
    Jon

    javax.xml.transform.TransformerFactory is a real class implemented by someone. It looks at the system property to figure out what actual implementation to use. It the property doesn't exist, it uses the class that came bundled with the javax.xml.transform.TransformerFactory class you are using.
    Here, for instance, is the javax.xml.transform.TransformerFactory that comes with jdk1.4.2
        public static TransformerFactory newInstance()
            throws TransformerFactoryConfigurationError
            try {
                return (TransformerFactory) FactoryFinder.find(
                    /* The default property name according to the JAXP spec */
                    "javax.xml.transform.TransformerFactory",
                    /* The fallback implementation class name */
                    "org.apache.xalan.processor.TransformerFactoryImpl");
            } catch (FactoryFinder.ConfigurationError e) {
                throw new TransformerFactoryConfigurationError(e.getException(),
                                                               e.getMessage());
        }

  • Fatal Error and NullPointerException in Oracle XML Transformer

    Hi,
    I'm building a dom tree in memory with oracle xml parser. Then I transform the dom document into a string to send xml to the client. But I get an fatal error on calling transform.
    I don't know what could be the problem, because apache and weblogic parser works, an when I create a dom document with org.w3c.dom elements and statements then the xml document can't be invalid,
    because the document implementation would throw an exception if wrong nodes or something like this should be inserted...
    I'm using oracle xml parser 9.2.0.4 for java, bea weblogic 7.0 and win2k.
    Thanks for help.
    XSL-1900: (Fatal Error) An internal error condition occurred.
    javax.xml.transform.TransformerException: XSL-1900: (Fatal Error) An internal error condition occurred.
    at oracle.xml.jaxp.JXTransformer.reportException(JXTransformer.java:681)
    at oracle.xml.jaxp.JXTransformer.transform(JXTransformer.java:309)
    java.lang.NullPointerException
    at oracle.xml.parser.v2.XSLSAXPrintDriver.printAttributes(XSLSAXPrintDriver.java:394)
    at oracle.xml.parser.v2.XSLSAXPrintDriver.startElement(XSLSAXPrintDriver.java:322)
    at oracle.xml.parser.v2.XMLElement.reportSAXEvents(XMLElement.java:993)
    at oracle.xml.parser.v2.XMLNode.reportChildSAXEvents(XMLNode.java:1014)
    at oracle.xml.parser.v2.XMLDocument.reportSAXEvents(XMLDocument.java:942)
    at oracle.xml.jaxp.JXTransformer.transform(JXTransformer.java:294)

    Hi,
    I'm having that problem to:
    I'm getting the following exception
    javax.xml.transform.TransformerException: XSL-1900: (Fatal Error) An internal error condition occurred.
         at oracle.xml.jaxp.JXTransformer.reportException(JXTransformer.java:723)
         at oracle.xml.jaxp.JXTransformer.transform(JXTransformer.java:340)
         at com.ac.mqif.control.Handler.handleLong(Handler.java:835)
         at com.ac.mqif.control.Handler.run(Handler.java:951)
    Caused by: java.lang.NullPointerException
         at oracle.xml.parser.v2.XPathStep.getSelectedNodes(XPathStep.java:380)
         at oracle.xml.parser.v2.PathExpr.getValue(XSLNodeSetExpr.java:483)
         at oracle.xml.parser.v2.XSLExprBase.getStringValue(XSLExprBase.java:363)
         at oracle.xml.parser.v2.XSLValueOf.processAction(XSLValueOf.java:99)
         at oracle.xml.parser.v2.XSLNode.processChildren(XSLNode.java:367)
         at oracle.xml.parser.v2.XSLTemplate.processAction(XSLTemplate.java:199)
         at oracle.xml.parser.v2.XSLApplyTemplates.processAction(XSLApplyTemplates.java:214)
         at oracle.xml.parser.v2.XSLApplyTemplates.processAction(XSLApplyTemplates.java:207)
         at oracle.xml.parser.v2.XSLApplyTemplates.processAction(XSLApplyTemplates.java:207)
         at oracle.xml.parser.v2.XSLApplyTemplates.processAction(XSLApplyTemplates.java:120)
         at oracle.xml.parser.v2.XSLNode.processChildren(XSLNode.java:367)
         at oracle.xml.parser.v2.XSLTemplate.processAction(XSLTemplate.java:199)
         at oracle.xml.parser.v2.XSLStylesheet.execute(XSLStylesheet.java:471)
         at oracle.xml.parser.v2.XSLStylesheet.execute(XSLStylesheet.java:448)
         at oracle.xml.parser.v2.XSLProcessor.processXSL(XSLProcessor.java:246)
         at oracle.xml.jaxp.JXTransformer.transform(JXTransformer.java:327)
         ... 2 more
    when using a stylesheet which has a template match condition of more than 1600 characters.
    The second thing is that the Oracle XML transformer is
    NOT threadsafe. I was using several threads using different templates to transform an incoming XML simultaneously but was ALWAYS getting internal XSL errors
    and Nullpointer Exceptions. I solved this by synchronizing the transformation, but I don't like it.
    I'm using the following versions on Windows XP:
    Oracle IDE: 9.0.3.10.35
    Business Components Version: 9.0.3.10.7
    SCM Support Version: 9.0.3.9.4
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2-b28)
    Thanx,
    Ellcrys

  • ABAP transformation to XML for sap chart engine with internal table

    Hello.
    I am new to the SAP chart engine, XML and transformations so please be patient with me from an ABAP-program I am trying to call a Z-transformation and attach an internal table with two columns. In the ST program I want to loop through the table and for each row insert the two values from the table in the XML.
    In an ABAP-program I have an internal table containing datacoordinates for a scattered chart.
    The table looks like this:
    DATA: BEGIN OF coordinate,
                x_value TYPE f,
                y_value TYPE f,
               END OF coordinate,
               polygon_data LIKE STANDARD TABLE OF coordinate with header line.
    As a prototype I just add a few coordinates like this:
    polygon_data-x_value = '700'.
        polygon_data-y_value = '8'.
        APPEND polygon_data.
        polygon_data-x_value = '1400'.
        polygon_data-y_value = '3'.
        APPEND polygon_data.
        polygon_data-x_value = '1400'.
        polygon_data-y_value = '10'.
        APPEND polygon_data.
        polygon_data-x_value = '700'.
        polygon_data-y_value = '10'.
        APPEND polygon_data.
        polygon_data-x_value = '700'.
        polygon_data-y_value = '3'.
        APPEND polygon_data.
    I have created a Z-transformation and I call it like this (I also have a separate transformation for all the customizing generated with SAP chart designer but that one works fine):
    DATA: data_xml TYPE xstring.
    CALL TRANSFORMATION ztest_ce_tables2xml
          SOURCE polygon_data = polygon_data
          RESULT XML data_xml.
    Since I am trying to create a scattered chart I need to insert an X and Y value for each coordinate.In the manual SAP Chart engine - XML format description it looks like this:
    <ChartData>
    <Series>
    <Point>
    <Value type="x">1</Value>
    <Value type="y">1</Value>
    </Point>
    <Point>
    <Value type="x">2</Value>
    <Value type="y">2</Value>
    </Point>
    My ST-program that I cannot get to work looks like below. How can I loop through my internal table and get the X and thy Y value for each row in my internal table?
    BR Tommy (Sweden)
    <?sap.transform simple?>
    <tt:transform xmlns:tt="http://www.sap.com/transformation-templates">
    <tt:root name="POLYGON_DATA"/>
    <tt:template>
    <ChartData>
    <Series>
    <tt:loop ref=".POLYGON_DATA">
       <Point>
         <Value type="x"><tt:copy ref=".POLYGON_DATA.X_VALUE"/></Value>
         <Value type="y"><tt:copy ref=".POLYGON_DATA.Y_VALUE"/></Value>
       </Point>
       </tt:loop>
    </Series>
    </ChartData>
    </tt:template>
    </tt:transform>

    Hello again.
    I found the solution and would like to share it with the forum, maybe it could help someone.
    My first error was in the call transformation statement:
    CALL TRANSFORMATION ztest_ce_tables2xml
          SOURCE polygon_data = polygon_data [] <----
    Do not forget these
          RESULT XML data_xml.
    I also had an error in the ST program, it should look like this:
    <?sap.transform simple?>
    <tt:transform xmlns:tt="http://www.sap.com/transformation-templates">
    <tt:root name="POLYGON_DATA"/>
    <tt:template>
    <ChartData>
    <Series>
    <tt:loop ref=".POLYGON_DATA">
       <Point>
         <Value type="x"><tt:value ref="$ref.X_VALUE"/></Value>
         <Value type="y"><tt:value ref="$ref.Y_VALUE"/></Value>
       </Point>
       </tt:loop>
    </Series>
    </ChartData>
    </tt:template>
    </tt:transform>

  • Create XML transformation in SAP R/3 4.7

    Hi Experts,
    Kindly let me know the transaction for creating xml transformation in sap r/3 4.7, if there is any.
    Though i could not find anything through tstc or se93.
    Is there any other way of creating xml transformation in r/3 4.7. There is a tcode STRANS in ecc6.0 but not in 4.7.
    Also, please help me resolving this issue of converting abap data to xml file: -
    is the following xml structure possible with transformation or by any other method.
    <Process_Order>
         <item>
                   <PO Number> PO123334 </PO Number>
                   <Header_mat> Mat123 </Header_mat>
                   <BOM>
                          <PDLabels>
                                  <PDLabel>
                                         <PCode>P123456</PCode>
                                         <Batch>123ABC</Batch>
                                         <Quantity>6000</Quantity>
                                         <PDDCode>1234567890</PDDCode>
                                 </PDLabel>
                                 <PDLabel>
                                        <PCode>P234567</PCode>       
                                        <Batch>567DEF</Batch>
                                        <Quantity>6000</Quantity>
                                        <PDDCode></PDDCode>
                                 </PDLabel>
                        </PDLabels>
                       <PDCartons>
                                <PDCarton>
                                       <PCode>P556677</PCode>
                                       <Batch>589GFT</Batch>
                                       <Quantity>1200</Quantity>
                                       <PDDCode></PDDCode>
                                </PDCarton>
                      </PDCartons>
                 </BOM>
        </item>
         <item>
                   <PO Number> PO123334 </PO Number>
                   <Header_mat> Mat123 </Header_mat>
                   <BOM>
                          <PDLabels>
                                  <PDLabel>
                                         <PCode>P123456</PCode>
                                         <Batch>123ABC</Batch>
                                         <Quantity>6000</Quantity>
                                         <PDDCode>1234567890</PDDCode>
                                 </PDLabel>
                                 <PDLabel>
                                        <PCode>P234567</PCode>       
                                        <Batch>567DEF</Batch>
                                        <Quantity>6000</Quantity>
                                        <PDDCode></PDDCode>
                                 </PDLabel>
                        </PDLabels>
                       <PDCartons>
                                <PDCarton>
                                       <PCode>P556677</PCode>
                                       <Batch>589GFT</Batch>
                                       <Quantity>1200</Quantity>
                                       <PDDCode></PDDCode>
                                </PDCarton>
                      </PDCartons>
                 </BOM>
        </item>
    </Process_Order>
    What i mean to ask is, is the hierarchy to this structural level is attainable using either transfomation or any other alternative.
    Thanks a lot in advance !
    Shreya

    oops the message structure has gone bad ........
    What i meant was : --
    <Process_Order>
      <item>
                   <PO Number> PO123334 </PO Number>
                   <Header_mat> Mat123 </Header_mat>
                   <BOM>
                          <PDLabels>
                                  <PDLabel>
                                         <PCode>P123456</PCode>
                                         <Batch>123ABC</Batch>
                                         <Quantity>6000</Quantity>
                                         <PDDCode>1234567890</PDDCode>
                                 </PDLabel>
                                 <PDLabel>
                                        <PCode>P234567</PCode>       
                                        <Batch>567DEF</Batch>
                                        <Quantity>6000</Quantity>
                                        <PDDCode></PDDCode>
                                 </PDLabel>
                        </PDLabels>
                       <PDCartons>
                                <PDCarton>
                                       <PCode>P556677</PCode>
                                       <Batch>589GFT</Batch>
                                       <Quantity>1200</Quantity>
                                       <PDDCode></PDDCode>
                                </PDCarton>
                      </PDCartons>
                 </BOM>
        </item>
    </Process_Order>

  • XML : Transform DOM Tree to XML String in an applet since the JRE 1.4.2_05

    Hello,
    I build a DOM tree in my applet.
    Then I transform it to XML String.
    But since the JRE 1.4.2_05 it doesn't work.
    These lines failed because these variables became final:
    org.apache.xalan.serialize.CharInfo.XML_ENTITIES_RESOURCE = getClass().getResource("XMLEntities.res").toString();
    org.apache.xalan.processor.TransformerFactoryImpl.XSLT_PROPERTIES = getClass().getResource("XSLTInfo.properties").toString();The rest of the code :
    DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
    DocumentBuilder builder = domFactory.newDocumentBuilder();
    Document domXML = builder.newDocument();
    // I build my DOM Tree
    StringWriter xmlResult = new StringWriter();
    Source source = new DOMSource(domXML);
    Result result = new StreamResult(xmlResult);
    Transformer xformer = TransformerFactory.newInstance().newTransformer();
    xformer.setOutputProperty(javax.xml.transform.OutputKeys.INDENT,"yes");
    xformer.transform(source,result);Is there any other way to get an XML String from a DOM tree in an applet ?
    I'm so disappointed to note this big problem.

    Does anyone have an idea why I get this error message when try to use transform in an applet?
    Thanks...
    java.lang.ExceptionInInitializerError
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Unknown Source)
         at org.apache.xalan.serialize.SerializerFactory.getSerializer(Unknown Source)
         at org.apache.xalan.transformer.TransformerIdentityImpl.createResultContentHandler(Unknown Source)
         at org.apache.xalan.transformer.TransformerIdentityImpl.transform(Unknown Source)
         at matrix.CreateMtrx.SaveDoc(CreateMtrx.java:434)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         at java.lang.reflect.Method.invoke(Unknown Source)
         at thinlet.Thinlet.invokeImpl(Unknown Source)
         at thinlet.Thinlet.invoke(Unknown Source)
         at thinlet.Thinlet.handleMouseEvent(Unknown Source)
         at thinlet.Thinlet.processEvent(Unknown Source)
         at java.awt.Component.dispatchEventImpl(Unknown Source)
         at java.awt.Container.dispatchEventImpl(Unknown Source)
         at java.awt.Component.dispatchEvent(Unknown Source)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
         at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
         at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
         at java.awt.Container.dispatchEventImpl(Unknown Source)
         at java.awt.Component.dispatchEvent(Unknown Source)
         at java.awt.EventQueue.dispatchEvent(Unknown Source)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.run(Unknown Source)
    Caused by: java.lang.RuntimeException: The resource [ XMLEntities.res ] could not load: java.net.MalformedURLException: no protocol: XMLEntities.res
    XMLEntities.res      java.net.MalformedURLException: no protocol: XMLEntities.res
         at org.apache.xalan.serialize.CharInfo.<init>(Unknown Source)
         at org.apache.xalan.serialize.SerializerToXML.<clinit>(Unknown Source)
         ... 28 more

  • BI Admin Tool and XSLT transformation for XML data source - How it works ?

    Hello,
    There is a possibility to import data from XML data source using BI Admin Tool.
    In the import window we can point XSLT file. What is the purpose of that XSLT field?
    Why I am asking ?
    I thought it is smth like XSLT processor, but simply it doesnt work.
    What I did:
    - I pointed XML data source file
    - I pointed XSLT transformation file
    - Click OK, and still get the message that the XML file structure is not supported
    After that I transformed that XML file with some desktop XSLT processor using the same XSLT file, and I tried to connect that file directly using BI Admin tool.Then it works. So it means that the transformation is ok.
    So basically one question comes to my mind in that situation:
    What is the purpose of XSLT field in BI Admin Tool when it comes to XML data source ?
    (it doesnt look like XSLT processor)
    Greetings
    /Michal

    Hi Mariano
    Why you need to use XSLT for transforming XML file into ABAP table
    Code is a part of some ABAP report. Looks like it is reading a file from file system and updating table after transformation
    If you have requirement like you need to read XML file and then insert the data into a SAP table
    You can use
    File to RFC
    File to Proxy scenario using SAP PI.
    Please provide more inputs on requirement to help
    Thanks
    Gaurav

  • Javax.xml.transform.TransformerConfigurationException

    Hi,
    I am deploying a bpel process and a bpel test to a remote oc4j, then running the tests via an ant build script.
    The tests are run fine and the results are created in an xml file, however the bpeltest task then try's to convert the xml to a junit report xml format and throws an exception when it can't find bpeltest-junit.xsl.
    The exception is vague and I don't know if its because it can't find the xls file our one of its dependancies.
    exception,
    [bpeltest] ERROR: 'File "" not found.'
    [bpeltest] FATAL ERROR: 'Could not compile stylesheet'
    [bpeltest] javax.xml.transform.TransformerConfigurationException: Could not compile stylesheet
    [bpeltest] at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:824)
    [bpeltest] at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTransformer(TransformerFactoryImpl.java:619)
    [bpeltest] at com.collaxa.cube.ant.taskdefs.BpelTest.doXForm(BpelTest.java:615)
    [bpeltest] at com.collaxa.cube.ant.taskdefs.BpelTest.createJUnitReport(BpelTest.java:685)
    [bpeltest] at com.collaxa.cube.ant.taskdefs.BpelTest.createReport(BpelTest.java:877)
    [bpeltest] at com.collaxa.cube.ant.taskdefs.BpelTest.execute(BpelTest.java:1033)
    [bpeltest] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
    [bpeltest] at org.apache.tools.ant.Task.perform(Task.java:364)
    [bpeltest] at org.apache.tools.ant.Target.execute(Target.java:341)
    [bpeltest] at org.apache.tools.ant.Target.performTasks(Target.java:369)
    [bpeltest] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
    [bpeltest] at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
    [bpeltest] at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
    [bpeltest] at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
    [bpeltest] at org.apache.tools.ant.Main.runBuild(Main.java:668)
    [bpeltest] at org.apache.tools.ant.Main.startAnt(Main.java:187)
    [bpeltest] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)
    [bpeltest] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)
    My ant script invokes the test as follows,
    <bpeltest
         user="oc4jadmin"
                        password="babylon5"
         hostname="wells175732.int.rdel.co.uk"
                        httpport="80"
         domain="default"
                        process="AmazonFlow"
         rev="${rev}"
                        name="AmazonFlowTests"
         timeout="${bpeltest.timeout}"
         numWorkers="${bpeltest.numWorkers}"
         minCoverage="${bpeltest.minCoverage}"
         callHandler="${bpeltest.callHandler}"
         context="${bpel.context.properties}"
         resultsDir="${basedir}/bpel_test_results"
         resultsPropertyFile="${basedir}/bpel_test_results/AmazonFlow.properties"
                        failonerror="false"
         verbose="false"/>
    the top of my build script imports the following dependancies,
    <property file="${basedir}/conf/ant-oracle.properties"/>
    <property name="bpel.home" value="${oracle.home}/bpel"/>
    <import file="${bpel.home}/utilities/ant-orabpel.xml"/>
    <import file="${basedir}/conf/ant-oracle.xml"/>
    <property file="${bpel.home}/utilities/ant-orabpel.properties"/>
    <property file="${bpel.home}/utilities/bpel_build_template.properties"/>
    ant-oracle.xml conatins all necessary jar files including the orabpel-ant.jar where the bpeltest-junit.xsl resides under com\collaxa\cube\ant
    In the bpelTest ant task their is an attribute callHandler="${bpeltest.callHandler}"
    this property value is defined in the bpel_build_template.properties file but is empty,
    bpeltest.callHandler =
    I tried changing this to
    bpeltest.callHandler = com.collaxa.cube.ant.taskdefs.BpelTest
    and build script threw the following exception,
    [bpeltest] java.lang.ClassCastException: com.collaxa.cube.ant.taskdefs.BpelTest
    [bpeltest] at com.collaxa.cube.ant.taskdefs.BpelTest.loadHandler(BpelTest.java:425)
    [bpeltest] at com.collaxa.cube.ant.taskdefs.BpelTest.runTestsOverRMI(BpelTest.java:544)
    [bpeltest] at com.collaxa.cube.ant.taskdefs.BpelTest.runTests(BpelTest.java:603)
    [bpeltest] at com.collaxa.cube.ant.taskdefs.BpelTest.execute(BpelTest.java:1024)
    [bpeltest] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
    [bpeltest] at org.apache.tools.ant.Task.perform(Task.java:364)
    [bpeltest] at org.apache.tools.ant.Target.execute(Target.java:341)
    [bpeltest] at org.apache.tools.ant.Target.performTasks(Target.java:369)
    [bpeltest] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
    [bpeltest] at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
    [bpeltest] at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
    [bpeltest] at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
    [bpeltest] at org.apache.tools.ant.Main.runBuild(Main.java:668)
    [bpeltest] at org.apache.tools.ant.Main.startAnt(Main.java:187)
    [bpeltest] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)
    [bpeltest] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)
    the xsl file looks as follows,
    <?xml version="1.0" encoding="UTF-8" ?>
    <?oracle-xsl-mapper
    <!-- SPECIFICATION OF MAP SOURCES AND TARGETS, DO NOT MODIFY. -->
    <mapSources>
    <source type="XSD">
    <schema location="UTResult.xsd"/>
    <rootElement name="testRunResults" namespace="http://xmlns.oracle.com/bpel/unittest"/>
    </source>
    </mapSources>
    <mapTargets>
    <target type="XSD">
    <schema location="JUnit.xsd"/>
    <rootElement name="testsuites" namespace=""/>
    </target>
    </mapTargets>
    <!-- GENERATED BY ORACLE XSL MAPPER 10.1.2.0.0(build 050412) AT [SUN APR 17 02:06:34 PDT 2005]. -->
    ?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:ns0="http://xmlns.oracle.com/bpel/bpeltest"
    xmlns:utd="http://xmlns.oracle.com/bpel/instancedriver"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
    xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:ora="http://schemas.oracle.com/xpath/extension"
    xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"
    xmlns:java="http://xml.apache.org/xslt/java"
    exclude-result-prefixes="xsl ns0 utd xsd ldap xp20 bpws ora orcl">
    <xsl:param name="minCodeCoverage">0</xsl:param>
    <xsl:param name="minPartnerCodeCoverage">0</xsl:param>
    <xsl:param name="packageFormat"/>
    <xsl:template match="/">
    <testsuites>
    <xsl:for-each select="/ns0:testRunResults/ns0:testSuite">
    <testsuite>
    <xsl:attribute name="name">
    <xsl:value-of select="java:com.collaxa.cube.ant.taskdefs.BpelTest.getQualifiedSuite($packageFormat, ../@domain, ../@processName, ../@processRevision, @name)" />
    </xsl:attribute>
    <xsl:attribute name="failures">
    <xsl:value-of select="@numFailures"/>
    </xsl:attribute>
    <xsl:attribute name="time">
    <xsl:value-of select="@durationInSeconds"/>
    </xsl:attribute>
    <xsl:attribute name="tests">
    <xsl:value-of select="@numTests"/>
    </xsl:attribute>
    <xsl:attribute name="errors">
    <xsl:value-of select="0"/>
    </xsl:attribute>
    <properties>
    <xsl:for-each select="../ns0:properties/ns0:property">
    <property>
    <xsl:attribute name="name">
    <xsl:value-of select="@name"/>
    </xsl:attribute>
    <xsl:attribute name="value">
    <xsl:value-of select="@value"/>
    </xsl:attribute>
    </property>
    </xsl:for-each>
    <property>
    <xsl:attribute name="name">
    <xsl:value-of select="'run.start.date'"/>
    </xsl:attribute>
    <xsl:attribute name="value">
    <xsl:value-of select="../@startDate"/>
    </xsl:attribute>
    </property>
    <property>
    <xsl:attribute name="name">
    <xsl:value-of select="'run.end.date'"/>
    </xsl:attribute>
    <xsl:attribute name="value">
    <xsl:value-of select="../@endDate"/>
    </xsl:attribute>
    </property>
    <property>
    <xsl:attribute name="name">
    <xsl:value-of select="'suite.start.date'"/>
    </xsl:attribute>
    <xsl:attribute name="value">
    <xsl:value-of select="@startDate"/>
    </xsl:attribute>
    </property>
    <property>
    <xsl:attribute name="name">
    <xsl:value-of select="'suite.end.date'"/>
    </xsl:attribute>
    <xsl:attribute name="value">
    <xsl:value-of select="@endDate"/>
    </xsl:attribute>
    </property>
    </properties>
    <xsl:for-each select=".//ns0:testResult">
    <testcase>
    <xsl:attribute name="name">
    <xsl:value-of select="java:com.collaxa.cube.ant.taskdefs.BpelTest.testToClass(@testName)"/>
    </xsl:attribute>
    <xsl:attribute name="time">
    <xsl:value-of select="@durationInSeconds"/>
    </xsl:attribute>
    <xsl:attribute name="classname">
    <xsl:value-of select="java:com.collaxa.cube.ant.taskdefs.BpelTest.testToQualifiedClass($packageFormat, @domain, @processName, @processRevision, @testName)"/>
    </xsl:attribute>
    <xsl:for-each select=".//ns0:executionError">
    <failure>
    <xsl:attribute name="type">
    <xsl:value-of select="java:com.collaxa.cube.ant.taskdefs.BpelTest.getExecutionErrorTitle()"/>
    </xsl:attribute>
    <xsl:attribute name="message">
    <xsl:value-of select="java:com.collaxa.cube.ant.taskdefs.BpelTest.getExecutionErrorMessage(.)"/>
    </xsl:attribute>
    </failure>
    </xsl:for-each>
    <xsl:for-each select=".//ns0:xmlAssertion">
    <xsl:if test="(@passed = &quot;false&quot;) or (@wasExecuted = &quot;false&quot;)">
    <failure>
    <xsl:attribute name="type">
    <xsl:value-of select="java:com.collaxa.cube.ant.taskdefs.BpelTest.getFailureType(@wasExecuted, @fatal)"/>
    </xsl:attribute>
    <xsl:attribute name="message">
    <xsl:value-of select="java:com.collaxa.cube.ant.taskdefs.BpelTest.getXMLFailureMessage(local-name(..), ../@instanceRefID, ../@testName, @wasExecuted, @fatal, utd:message, @activityName, @variableName, @partName, utd:actualPath, @iteration)"/>
    </xsl:attribute>
    </failure>
    <xsl:for-each select="ns0:xmlDiff">
    <failure>
    <xsl:attribute name="type">
    <xsl:value-of select="java:com.collaxa.cube.ant.taskdefs.BpelTest.getXMLDiffType()"/>
    </xsl:attribute>
    <xsl:attribute name="message">
    <xsl:value-of select="java:com.collaxa.cube.ant.taskdefs.BpelTest.getXMLDiffMessage(.)"/>
    </xsl:attribute>
    </failure>
    </xsl:for-each>
    </xsl:if>
    </xsl:for-each>
    <xsl:for-each select=".//ns0:valueAssertion">
    <xsl:if test="(@passed = &quot;false&quot;) or (@wasExecuted = &quot;false&quot;)">
    <failure>
    <xsl:attribute name="type">
    <xsl:value-of select="java:com.collaxa.cube.ant.taskdefs.BpelTest.getFailureType(@wasExecuted, @fatal)"/>
    </xsl:attribute>
    <xsl:attribute name="message">
    <xsl:value-of select="java:com.collaxa.cube.ant.taskdefs.BpelTest.getFailureMessage(local-name(..), ../@instanceRefID, ../@testName, @wasExecuted, @fatal, utd:message, @activityName, @variableName, @partName, utd:actualPath, utd:expected,ns0:actualValue, @iteration)"/>
    </xsl:attribute>
    </failure>
    </xsl:if>
    </xsl:for-each>
    <xsl:for-each select=".//ns0:activityAssertion">
    <xsl:choose>
    <xsl:when test="@passed = &quot;false&quot;">
    <failure>
    <xsl:attribute name="type">
    <xsl:value-of select="java:com.collaxa.cube.ant.taskdefs.BpelTest.getActivityAssertionTitle()"/>
    </xsl:attribute>
    <xsl:attribute name="message">
    <xsl:value-of select="java:com.collaxa.cube.ant.taskdefs.BpelTest.getActivityAssertionMessage(local-name(..), ../@instanceRefID, ../@testName, @activityName, ns0:expectedExecutionCount, ns0:actualExecutionCount)"/>
    </xsl:attribute>
    </failure>
    </xsl:when>
    </xsl:choose>
    </xsl:for-each>
    </testcase>
    </xsl:for-each>
    </testsuite>
    </xsl:for-each>
    <!-- *************************
    begin code coverage logic
    ************************* -->
    <xsl:if test="$minCodeCoverage &gt; 0">
    <testsuite>
    <xsl:attribute name="name">
    <xsl:value-of select="java:com.collaxa.cube.ant.taskdefs.BpelTest.getCoverageSuiteName($packageFormat, ns0:testRunResults/@domain, ns0:testRunResults/@processName, ns0:testRunResults/@processRevision)" />
    </xsl:attribute>
    <xsl:attribute name="failures">
    <!-- count( (if the main process coverage is too low) + (number of sub process's with insufficient coverage) ) -->
    <xsl:value-of select="count(/ns0:testRunResults/ns0:codeCoverage[@processName = /ns0:testRunResults/@processName and @processRevision = /ns0:testRunResults/@processRevision and $minCodeCoverage &gt; @coverage] | /ns0:testRunResults/ns0:codeCoverage[(@processName != /ns0:testRunResults/@processName or @processRevision != /ns0:testRunResults/@processRevision) and $minPartnerCodeCoverage &gt; @coverage])"/>
    </xsl:attribute>
    <xsl:attribute name="time">
    <xsl:value-of select="'0'"/>
    </xsl:attribute>
    <xsl:attribute name="tests">
    <xsl:choose>
    <xsl:when test="$minPartnerCodeCoverage = 0">
    <xsl:value-of select="1"/>
    </xsl:when>
    <xsl:otherwise>
    <xsl:value-of select="count(/ns0:testRunResults/ns0:codeCoverage)"/>
    </xsl:otherwise>
    </xsl:choose>
    </xsl:attribute>
    <xsl:attribute name="errors">
    <xsl:value-of select="'0'"/>
    </xsl:attribute>
    <properties>
    <xsl:for-each select="/ns0:testRunResults/ns0:properties/ns0:property">
    <property>
    <xsl:attribute name="name">
    <xsl:value-of select="@name"/>
    </xsl:attribute>
    <xsl:attribute name="value">
    <xsl:value-of select="@value"/>
    </xsl:attribute>
    </property>
    </xsl:for-each>
    <property>
    <xsl:attribute name="name">
    <xsl:value-of select="'required.coverage'"/>
    </xsl:attribute>
    <xsl:attribute name="value">
    <xsl:value-of select="$minCodeCoverage"/>
    </xsl:attribute>
    </property>
    <xsl:if test="$minPartnerCodeCoverage &gt; 0">
    <property>
    <xsl:attribute name="name">
    <xsl:value-of select="'required.subprocess.coverage'"/>
    </xsl:attribute>
    <xsl:attribute name="value">
    <xsl:value-of select="$minPartnerCodeCoverage"/>
    </xsl:attribute>
    </property>
    </xsl:if>
    </properties>
    <xsl:for-each select="/ns0:testRunResults/ns0:codeCoverage">
    <xsl:choose>
    <xsl:when test="@processName = /ns0:testRunResults/@processName and @processRevision = /ns0:testRunResults/@processRevision">
    <testcase>
    <xsl:attribute name="name">
    <xsl:value-of select="java:com.collaxa.cube.ant.taskdefs.BpelTest.getCoverageTestName($packageFormat, @domain, @processName, @processRevision)"/>
    </xsl:attribute>
    <xsl:attribute name="time">
    <xsl:value-of select="'0'"/>
    </xsl:attribute>
    <xsl:attribute name="classname">
    <xsl:value-of select="java:com.collaxa.cube.ant.taskdefs.BpelTest.coverageTestToQualifiedClass($packageFormat, @domain, @processName, @processRevision)"/>
    </xsl:attribute>
    <xsl:if test="@coverage &lt; $minCodeCoverage">
    <failure>
    <xsl:attribute name="type">
    <xsl:value-of select="java:com.collaxa.cube.ant.taskdefs.BpelTest.getCoverageTitle()"/>
    </xsl:attribute>
    <xsl:attribute name="message">
    <xsl:value-of select="java:com.collaxa.cube.ant.taskdefs.BpelTest.getCoverageMessage($minCodeCoverage, @coverage)"/>
    </xsl:attribute>
    </failure>
    </xsl:if>
    </testcase>
    </xsl:when>
    <xsl:when test="$minPartnerCodeCoverage &gt; 0">
    <testcase>
    <xsl:attribute name="name">
    <xsl:value-of select="java:com.collaxa.cube.ant.taskdefs.BpelTest.getCoverageTestName($packageFormat, @domain, @processName, @processRevision)"/>
    </xsl:attribute>
    <xsl:attribute name="time">
    <xsl:value-of select="'0'"/>
    </xsl:attribute>
    <xsl:attribute name="classname">
    <xsl:value-of select="java:com.collaxa.cube.ant.taskdefs.BpelTest.coverageTestToQualifiedClass($packageFormat, @domain, @processName, @processRevision)"/>
    </xsl:attribute>
    <xsl:if test="@coverage &lt; $minPartnerCodeCoverage">
    <failure>
    <xsl:attribute name="type">
    <xsl:value-of select="java:com.collaxa.cube.ant.taskdefs.BpelTest.getCoverageTitle()"/>
    </xsl:attribute>
    <xsl:attribute name="message">
    <xsl:value-of select="java:com.collaxa.cube.ant.taskdefs.BpelTest.getCoverageMessage($minPartnerCodeCoverage, @coverage)"/>
    </xsl:attribute>
    </failure>
    </xsl:if>
    </testcase>
    </xsl:when>
    </xsl:choose>
    </xsl:for-each>
    </testsuite>
    </xsl:if>
    </testsuites>
    </xsl:template>
    </xsl:stylesheet>
    the classloader seems to want to make callbacks to the BpelTest methods in order to generate the xml file for junit.
    any help on this would be greatly appreciated,

    I'm having almost the same issue so I was hoping the xalan jars solution would resolve it, but even with the jars copied to the directory and renamed as instructed, the error still occurs when the ant bpeltest task tries to transform the test results into junit format. The error message I'm getting is slightly different but issue seems to be the same. The error message I'm getting is:
    [bpeltest] ERROR: 'null'
    [bpeltest] FATAL ERROR: 'Could not compile stylesheet'
    [bpeltest] javax.xml.transform.TransformerConfigurationException: Could not compile stylesheet
    [bpeltest] at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:824)
    ...etc...
    BUILD FAILED
    C:\projects\jdev_user_home_10g\mywork\BPELTests\BPELTest1\build.xml:179: An error occurred while translating the test results to JUnit results.
    Could not compile stylesheet
    Please verify the XSL:
    bpeltest-junit.xsl
    The original XML results have been saved in... ...etc...
    Using filemon, I can see where the ant javaw.exe process is reading bpeltest-format.xsl but bpeltest-junit.xsl is never read from the file system (although it could be getting loaded via classloader from orabpel-ant.jar as previously mentioned.) Either way, it doesn't seem like bpeltest-junit.xsl is actually missing.
    The error message does not indicate what was null and the references passed to the TransformerFactory are controlled by the bpeltest ant task code so I don't know what's missing.
    Anyone have a clue what might be 'null'? Anyone know how to get it fixed? Anyone have a suggestion for a way to a dig up more context and figure out what's missing?
    -R

  • File size problem when performing XML Transformation into Excel

    Hi All,
    We are performing XML Transformation in ABAP which can open in Excel and saving to common share. But the file size of excel is around 50MB. After opening the excel and save with diffrent name the file is getting compressed and its below 1MB. So what kind of settings does we need to make to the transformation code which will create the excel files with less memory/size??
    <?sap.transform simple?>
    <tt:transform xmlns:tt="http://www.sap.com/transformation-templates">
    <tt:root name="AAAAAAA"/>
    <tt:root name="BBBBBBBB"/>
    <tt:root name="CCCCCCCC"/>
    <tt:template>
    <?mso-application progid="Excel.Sheet"?>
    <Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
    xmlns:o="urn:schemas-microsoft-com:office:office"
    xmlns:x="urn:schemas-microsoft-com:office:excel"
    xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"
    xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
    xmlns:html="http://www.w3.org/TR/REC-html40">
       <ProtectObjects>True</ProtectObjects>
       <ProtectScenarios>True</ProtectScenarios>
      </WorksheetOptions>
    </Worksheet>
    </Workbook>
    </tt:template>
    </tt:transform>
    <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
    </DocumentProperties>
    <CustomDocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
      <ContentTypeId dt:dt="string">0x01010049B4763FE606154C9C9BC639FE7EE179</ContentTypeId>
    </CustomDocumentProperties>
    <OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office">
      <Colors>
       <Color>
        <Index>0</Index>
        <RGB>#FF0000</RGB>
       </Color>
       <Color>
        <Index>1</Index>
        <RGB>#FFE4B5</RGB>
       </Color>
       <Color>
        <Index>2</Index>
        <RGB>#FFF8DC</RGB>
       </Color>
       <Color>
        <Index>3</Index>
        <RGB>#000000</RGB>
       </Color>
      </Colors>
    </OfficeDocumentSettings>
    <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
      <WindowHeight>7305</WindowHeight>
      <WindowWidth>11340</WindowWidth>
      <WindowTopX>0</WindowTopX>
      <WindowTopY>0</WindowTopY>
      <TabRatio>334</TabRatio>
      <ProtectStructure>True</ProtectStructure>
      <ProtectWindows>False</ProtectWindows>
    </ExcelWorkbook>
    </DocumentProperties>
    <CustomDocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
      <ContentTypeId dt:dt="string">0x01010049B4763FE606154C9C9BC639FE7EE179</ContentTypeId>
    </CustomDocumentProperties>
    <OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office">

    Hi Raghu,
    have a look at the XLSX file generated by Excel, you'll see that it's simply a zipped file. So you can't do it with a transformation, but you need CL_ABAP_ZIP class. I advise you to look at the abap2xslx project ABAP code (currently 3.0) to see how it works.
    Best regards,
    Sandra

  • Problem in transforming the xml in applet

    Hi guys
    I am parsing and transforming an xml in applet. parsing is working fine but transform is giving error. I am using jaxp and jdk1.4 plugin for applet. The error is
    Exception:
    Output method is xml could not load output_xml.properties (check CLASSPATH)
    org.apache.xml.utils.WrappedRuntimeException: Output method is xml could not load output_xml.properties (check CLASSPATH)
         at org.apache.xalan.templates.OutputProperties.getDefaultMethodProperties(OutputProperties.java:364)
         at org.apache.xalan.templates.OutputProperties.<init>(OutputProperties.java:130)
         at org.apache.xalan.transformer.TransformerIdentityImpl.<init>(TransformerIdentityImpl.java:104)
         at org.apache.xalan.processor.TransformerFactoryImpl.newTransformer(TransformerFactoryImpl.java:804)
    Code is
    *********************code***********************************
    TransformerFactory xformFactory = TransformerFactory.newInstance();
    Transformer idTransform = xformFactory.newTransformer();
    //create the Source object from document object
    Source input = new DOMSource(doc);
    StringWriter writer = new StringWriter();
    Result output = new StreamResult(writer);
    idTransform.transform(input, output);
    xmlString = writer.toString();
    *********************code***********************************
    Hope some one get a solution

    Hi
    I am using the parsers & transformers that came with JDK 1.4.
    i.e class org.apache.xalan.processor.TransformerFactoryImp
    Thank you.
    I solved that problem my making my applet signed.
    Now it is working fine.

  • ABAP to XML Transformation Dynamic Element Generation

    Hi all,
    I have created a deep structure and used simple transformation in XSLT Tool to create XML file. But I would like to generate some elements dynamically. Desired XML output is in the attachments.
    There is a way to do that if had used XSLT Program instead of simple transformation (dynamic xml nodes using xslt - Stack Overflow) but XSLT Program does not create fields from structures automatically like simple transformation.
    So, is there any way to do that using simple transformation ?
    Thanks.

    The error is related to your web browser software or release, because it can't support utf-16 xml file (for example, IE 6 doesn't support it).
    Your output file contains <?xml version="1.0" encoding="utf-16"?> in your ECC 6 system because your SAP system is Unicode, and you used a variable of character type behind RESULT XML. When it's character, SAP converts the XML into SAP code page. If you use a byte type behind RESULT XML, SAP doesn't convert, and you'll get the XML data in the encoding of the transformation (defined here: <xsl:output encoding="ISO-8859-1" ...).
    I guess you have choosen ISO-8859-1 because your 4.7 system issued a file with that encoding.
    So, the only thing you have to do, in the call transformation statement, is to store the result into a table of X255 (instead of table of CHAR2048).
    Edited by: Sandra Rossi on Jul 6, 2010 4:14 PM CET:
    You must also download using filetype = 'BIN'

  • Styling XML with XSLT Problem with javax.xml.transform???

    I have been trying to make a transformation and seem to be having a problem in that javax.xml.transform can not be found while using jdk1.3....If I use jdk1.4, there is no problem....
    Does anyone know how I can get things to work using jdk1.3???
    (Description of what I am doing...1) Building XML Source 2) Setting up the XSLT File 3) Building Source Object 4) Build Result Object 5) Transforming the Data.....MY RESULT SHOULD BE AN HTML PAGE)
    I have tried putting xerces.jar and xalan.jar in my CLASSPATH....but this still doesn't work....onyl thing that has worked is using jdk1.4 as my JAVA_HOME....
    PLEASE HELP!!!!

    PLEASE HELP....your advice here would be greatly appreciated.....

Maybe you are looking for