Stylus studio built in jre

i had downloaded stylus studio and for my project which is to read xml file and store in our database in edifact format what steps i need to take just wanna know how to implement stylus studio for reading any xml file

how to view the output of an xml file read thru java program clearly mention the necessary steps required for viewing the output of any xml file.
thanks in advance

Similar Messages

  • Not in class path - XSLT Mapping using Stylus studio

    Hello,
    I am using Stylus studio for XSLT mapping. I have written a JAVA function and when I tried to execute, I am getting an error " ...... not inclasspath".
    I have put JAVA file in the classpath as expained in the Stylus studio help documentation.
    Can anyone help me on how to place the Java class file in the proper class path and how that java file has to be called from main XML program.
    Regards and Thanks in Advance
    Arvind

    Hello sabarish,
    I have tried already as explained in the link you have mentioned. But still not working. In fact i was thinking to zip xsl, class and java files together and upload to XI. But I want to ensure whether i have called the java extension properly from XSL file.
    Request you check this:
    Java file
    package com.eds.ehro.ximapping;
    import java.util.Map;
    //import com.sap.aii.mapping.api.AbstractTrace;
    //import com.sap.aii.mapping.api.StreamTransformationConstants;
    import java.util.*;
    import java.text.*;
    public class Concat_Employee_Sydate_Sytime {
                 public static String concat(String empno)
                 return empno + "-" + System.currentTimeMillis();
    XSL file
    <?xml version='1.0' ?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns0="http://www.gemsconsult.com/idoctofile/employee"
      xmlns:javamap="com.eds.ehro.ximapping.Concat_Employee_Sydate_Sytime">
         <xsl:template match="/">
              <ns1:SetEmployeesDemographics_R xmlns:ns1="urn:EmpDemoVi">
                   <ns1:demographics0>
                        <ns2:address xmlns:ns2="urn:com.sap.eds_ehro.besrv.demographics">
                             <ns2:adressLine>
                                  <xsl:value-of select="concat(ns0:MT_EMPDETAILS/AddressLine1,ns0:MT_EMPDETAILS/AddressLine2)"/>
                             </ns2:adressLine>
                             <ns2:countyCode>
                                  <xsl:value-of select="ns0:MT_EMPDETAILS/Country"/>
                             </ns2:countyCode>
                             <ns2:postalCode>
                                  <xsl:value-of select="ns0:MT_EMPDETAILS/Zipcode"/>
                             </ns2:postalCode>
                        </ns2:address>
                        <ns2:clientID xmlns:ns2="urn:com.sap.eds_ehro.besrv.demographics">200</ns2:clientID>
                        <ns2:employeeID xmlns:ns2="urn:com.sap.eds_ehro.besrv.demographics">
                             <xsl:param name="empno">
                                  <xsl:value-of select="ns0:MT_EMPDETAILS/EmployeeNo"/>
                             </xsl:param><!xsl:value-of select="ns0:MT_EMPDETAILS/EmployeeNo"/>
                             <xsl:if test="ns0:MT_EMPDETAILS/EmployeeNo">
                                  <xsl:value-of select="javamap:concat($empno)"/>
                             </xsl:if>
                        </ns2:employeeID>
                        <ns2:personName xmlns:ns2="urn:com.sap.eds_ehro.besrv.demographics">
                             <ns2:firstName>
                                  <xsl:value-of select="ns0:MT_EMPDETAILS/FirstName"/>
                             </ns2:firstName>
                             <ns2:middleName>
                                  <xsl:value-of select="ns0:MT_EMPDETAILS/LastName"/>
                             </ns2:middleName>
                        </ns2:personName>
                   </ns1:demographics0>
              </ns1:SetEmployeesDemographics_R>
         </xsl:template>
    </xsl:stylesheet>

  • XSD file conversion using stylus studio

    Hi All,
    I have created an Xsd file using stylus studio from XML file .I have given the destination properties as XML Schema file name and TYpe etc. But i am unable to see the structure of the table in the sydicator.can any one let me know  what might be the problem? 
    I am able to see repository , language,table,role,port ,description etc in the destination items?
    Please help me out.

    You can create xsd file using java jar files. To do so follow the following steps:
    1) Repository-> export repository schema->save it in java bin file
    2) open cmd-> create xsd file using java jar files
    3) Again in Console upload the path of the xsd file where it is saved.
    4)Open Syndicator->Destination properties->xml schema-> schema file name. Root automatically gets populated.
    I hope I am able to solve your problem
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/bf0e8a97-0d01-0010-f0a2-af3b18b7f4eb

  • Stylus Studio: EDI-XML Conversion

    Hello all,
    I wanted to convert EDIFact and X12 files in appropriate .xml and .xsd.
    However while using Stylus Studio for this i am encountering some problems.
    File-> New-> Convert to XML. In this i used appropriate EDI format .txt file to convert. I simply go by default options and . After conversion if try to see preview it ask's to save in .conv format. !
    Also File-> Doc Wizard-> EDIFACT to XML Schema where to find the correct version and whether to tick mark the below check boxes.
    I am new to EDI. I tried searching for it but didnt got appropriate answers. Kindly help
    Regards
    Arpil

    Please see this
    go through below links may be too many but some of them are very useful.
    /people/bla.suranyi/blog/2006/06/08/sap-xi-supports-edifact
    /people/william.li/blog/2006/03/17/how-to-get-started-using-conversion-agent-from-itemfield
    /people/paul.medaille/blog/2005/11/17/more-on-the-sap-conversion-agent-by-itemfield
    http://www.stylusstudio.com/edi/XML_to_X12.html
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/b0b355ae-0501-0010-3b83-8f2bb566fa47
    Details on XI EDI adapter from seeburger
    Check this for Conversions-
    /people/bla.suranyi/blog/2006/06/08/sap-xi-supports-edifact
    http://www.seeburger.it/fileadmin/it/pdf/2005_04_sapphire_Ferrero_transcript.pdf
    http://www.seeburger.com/fileadmin/com/pdf/Butler_Group_SEEBURGER_Technology_Audit.pdf
    http://www.seeburger.com/fileadmin/com/pdf/AS2_General_Overview.pdf
    SAP Adapters
    EDI with XI
    http://www.seeburger.com
    http://www.seeburger.com/fileadmin/com/pdf/AS2_General_Overview.pdf
    http://www.seeburger.it/fileadmin/it/pdf/2005_04_sapphire_Ferrero_transcript.pdf
    http://www.seeburger.com/fileadmin/com/pdf/SEEBURGER_SAP_Adapter_engl.pdf
    http://www.seeburger.com/fileadmin/com/pdf/Butler_Group_SEEBURGER_Technology_Audit.pdf
    http://www.sap.com/france/company/events/2006/02-01-Automotive-Seeburger.pdf
    http://h41123.www4.hp.com/presentations/ISUG/XISeeBurger.ppt
    http://www.sap.com/asia/company/events/nwtechdays/presentation/australia-slides/Pre-Built_Integration.pdf
    http://www.seeburger.com
    http://www.seeburger.it/fileadmin/it/pdf/2005_04_sapphire_Ferrero_transcript.pdf
    http://www.seeburger.com/fileadmin/com/pdf/Butler_Group_SEEBURGER_Technology_Audit.pdf
    http://www.sap.com/france/company/events/2006/02-01-Automotive-Seeburger.pdf
    http://h41123.www4.hp.com/presentations/ISUG/XISeeBurger.ppt
    http://www.sap.com/asia/company/events/nwtechdays/presentation/australia-slides/Pre-Built_Integration.pdf
    /people/lionel.biennier/blog/2006/07/21/sap-xi-supports-edi-x12
    /people/bla.suranyi/blog/2006/06/08/sap-xi-supports-edifact
    Note: reward points if solution found helpfull
    Regards
    Chandrakanth.k

  • Calling stylus studio in xi

    hi,
      I have a  "EDI 850-XI-R/3" scenario. I have planned to use stylus studio to convert the EDI 850 into XML format.
    My question is if I can call this conversion by stylus studio directly from XI, isctead of first converting it and then again using XI to transform it and post it in R/3.
    It would be great if someone can giv me some other suggestion also......

    Hi,
    I have tried this scenario using this blog
    /people/ricardoandres.maienza/blog/2007/04/06/edifact-to-xml--stylus-studio-solution
    But i was getting error because of unavailable API's in Stylus version 6. So kindly check it for the latest version.
    Best will be to check this page:
    http://www.stylusstudio.com/data_conversion.html
    This explains how to do the conversion Stand-alone. I siggest if you are successful then go for adapter module.
    Regards
    Arpil
    Reward points for useful answers

  • Distributing an Application that calls Visual Studio built DLLs

    I have a LabVIEW application that calls a Visual Studio 2005 built DLL, that then calls functions from another Visual Studio built DLL. When trying to distribute this application it will execute perfectly well on all machines with Visual Studio installed, but on any machine that doesn't have Visual Studio installed, despite installing the Visual Studio Redistributable Package on the machine, I get the error message on attempting to run the application:- "Missing External Function 4575Interface.dllname of function):C in (sub VI that uses function).vi" for the 10+ VIs that use functions called from that dll.
    Any suggestions?

    Hi,
    You will need to manually add all of the DLLs you
    are calling into your LabVIEW project. Check in the folder
    "Dependencies" in your Project Explorer what external DLLs the VIs are
    using, then drag and drop those DLLs into your project. LabVIEW will
    not automatically include these external DLLs when you specify a build
    specification unless you explicitly tell it to do so. When you
    distribute the application using an executable, always explicitly
    select those DLLs as "Always Included". Finally, register these DLLs on
    the target machine by using Windows command: regsvr32.exe. I would recommend you to write a Windows batch file *.bat to ease the deployment process. 
    Another
    point to note is, the DLLs you will find in the folder "Dependencies"
    are the DLLs LabVIEW automatically recognized through what you are
    calling in your program. However if any of these DLLs is linking some
    other DLLs, LabVIEW will not be able to detect them on the build, so
    you will need to add the DLLs into your project manually for
    distribution.
    Hope this helps,
    Best regards,
    Mark M.
    Applications Engineer
    National Instruments UK & Ireland

  • Stylus Studio dumps BDB for TigerLogic?

    Berkeley DB XML
    Previous versions of Stylus Studio® included integrated support for Berkeley DB XML, to provide integrated data access tools and XQuery processing facilities for Berkeley DB XML directly within Stylus Studio® XML Enterprise Suite. This functionality has been discontinued as of Stylus Studio 2007 Release 2. The following information is provided for users of older versions of the product.
    We looked at Tiger - and found it "wanting". ... did we not look hard enough?
    This stinks that SS has elected to drop the project. I was really looking forward to tight integration with my tools.
    Does anyone know why this happened?

    I don't want to go into the whole business of XML editors here, but here's a comment for Walt:
    We looked at Stylus Studio and Oxygen, among a range of others, and opted for a different, comparatively new entrant instead (Syntext Serna, see www.syntext.com). The main reason for our choice was its more sophisticated WYSIWYG functionality which is important in our context (Serna lets you use XSLT and XSL-FO to build the editing interface yourself if you're not using an already-supprted vocabulary like DITA or Docbook), but it also lets you extend the functionality of the editor itself with Python or C++ plugins.
    If that's the sort of possibility that would interest you then have a look at their site and perhaps contact their developers. There are some links to the API and so forth here:
    http://www.syntext.com/products/serna/doc.htm
    Tim

  • Configuring ALBPM Studio Built-in Engine

    I am working through the tutorial on ALBPM studio and have reached the stage at which I need to run a process using the studio's built-in engine [i.e. Run/Start engine...].
    When I do this, I always get several failure messages that indicate the engine cannot run. The most informative of these indicates:
    "SERVER STARTUP aborted. Server not configured or
    not able to run in host: 'laptop'"
    'laptop' is the hostname of [no surprise] my laptop.
    Can anyone advise me as to where I can configure the 'Server' to run correctly on my host machine. I cannot find any documentation as to how the configure the internal engine, nor does there seem any relevant setting in the Engine settings.
    Thanks for any help.

    Which operative system are you using? this can happend due to a DNS
    problem when resolving your local machine name.
    Here is a solution that worked for a linux used:
    did a "hostname" on my Linux and it came back with "linux". I found an
    entry in the /etc/hosts file for linux but for IP address 127.0.0.2. I
    commented it out and added the "linux" short name to 127.0.0.1. I
    republished-deployed and it failed again. I then removed the system and
    build directories, republished-deployed and this time I was able to
    start the server.
    Paul Nixon wrote:
    I am working through the tutorial on ALBPM studio and have reached the stage at which I need to run a process using the studio's built-in engine [i.e. Run/Start engine...].
    When I do this, I always get several failure messages that indicate the engine cannot run. The most informative of these indicates:
    "SERVER STARTUP aborted. Server not configured or
    not able to run in host: 'laptop'"
    'laptop' is the hostname of [no surprise] my laptop.
    Can anyone advise me as to where I can configure the 'Server' to run correctly on my host machine. I cannot find any documentation as to how the configure the internal engine, nor does there seem any relevant setting in the Engine settings.
    Thanks for any help.

  • What are the Built-In-Functions in XSLT mapping?

    what are the Built-In-Functions in XSLT mapping?

    hi praveen
    check the below blogs
    XSLT MAPPING                                   
    Step u2013 By u2013 Step Simple Approach for XSLT Mapping                                   
    Step – By – Step Simple Approach for XSLT Mapping                                   
    XSLT mapping for multiple segments of XML                                   
    XSLT mapping for multiple segments of XML                                   
    IF - ELSE IF and XSLT - A Better work around ?                                   
    IF - ELSE IF and XSLT - A Better work around ?                                   
    Calling instance (object) method of ABAP Class into xslt mapping by using SAP: CALL-EXTERNAL                                             
    Calling instance (object) method of ABAP Class into xslt mapping by using SAP: CALL-EXTERNAL                                             
    xpath functions in xslt mapping                                             
    xpath functions in xslt mapping                                             
    Using XSLT Mapping within the J2EE Adapter Framework                                             
    https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/3823 [original link is broken] [original link is broken] [original link is broken]                                             
    EDIFACT to XML - Stylus Studio Solution                                             
    EDIFACT to XML - Stylus Studio Solution                                             
    Running NetWeaver's XSLT processor from XMLSpy                                             
    Running NetWeaver's XSLT processor from XMLSpy                                             
    generic xslt mapping part 1                                             
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/01a57f0b-0501-0010-3ca9-d2ea3bb983c1                                             
    generic xslt mapping part 1          part2                                   
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/9692eb84-0601-0010-5ca0-923b4fb8674a                                             
    xslt recursive templates                                             
    XSLT: Recursive Templates                                             
    Generating Generic XML / HTML files without using XSLT Mappings                                                       
    Generating Generic XML / HTML files without using XSLT Mappings                                                       
    regards
    kummari

  • Bin/jre not found when I install 8.1.7

    Hi fellow,
    But the strange thing is, tried to install on two similar env, one can start the runInstaller but the other will warn me with "bin/jre not found" error and then exist. I found that the runInstaller should use the 8.1.7 built-in jre not the one of system. And I have confirmed that the "Disk1/stage/Component/oracle.swd.jre.../linux/bin/jre" was that can run-able. Did anyone here encountered this problem also?? Look forward for any advice! :-)
    JH

    I have the same problem If some one has the solution please email me.
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by HM ([email protected]):
    Just tried the 8.1.7_01 instead. The same error. So many people has this problem but no one in Oracle know about this??<HR></BLOCKQUOTE>
    null

  • XML document structures must start and end within the same entity

    Hi there,
    I'm working with a client/server application and using SaxParser for reading in xml. I get the SaxParserException: XML document structures must start and end within the same entity. I understand what that means, but it isn't applicable! The xml data being used is well-formed. I checked the well-formedness with Stylus Studio to make sure. Here's the data:
    <?xml version='1.0' encoding='UTF-8'?>
    <vcmessage>
         <vcsource>3</vcsource>
         <processevent>16</processevent>
         <shape>
              <llindex>0</llindex>
              <shapetype>9</shapetype>
              <shapeproperties>
                   <shapelocation>
                        <xcoord>54</xcoord>
                        <ycoord>184</ycoord>
                   </shapelocation>
                   <bounds>
                        <width>24</width>
                        <height>24</height>
                   </bounds>
                   <fgcolor>
                        <fgred>0</fgred>
                        <fggreen>0</fggreen>
                        <fgblue>0</fgblue>
                   </fgcolor>
                   <bgcolor>
                        <bgred>255</bgred>
                        <bggreen>255</bggreen>
                        <bgblue>255</bgblue>
                   </bgcolor>
                   <thickness>1</thickness>
                   <isfilled>false</isfilled>
              </shapeproperties>
         </shape>
    </vcmessage>The parser generally stops around the </bgcolor> tag.
    I'm using Eclypse as my IDE. I'm wondering if there's something wrong with it? Or maybe there's something wrong with the class I'm using for reading in the XML? Followng is the class.
    Please advise,
    Alan
    package vcclient;
    import java.io.*;
    import org.xml.sax.*;
    import org.xml.sax.helpers.*;
    import javax.xml.parsers.*;
    public class XMLDocumentReader extends DefaultHandler
      private VCClient client = null;
      private Writer out;
      private String lineEnd =  System.getProperty("line.separator");
      private boolean haveSourceType = false;
      private boolean haveUserName = false;
      private boolean haveMessage = false;
      private boolean haveProcessEvent = false;
      private boolean haveLinkedListIndex = false;
      private boolean haveOpeningShapePropertiesTag = false;
      private boolean haveShapeType = false;
      private boolean haveOpeningShapeLocationTag = false;
      private boolean haveShapeLocation = false;
      private boolean haveOpeningXCoordTag = false;
      private boolean haveOpeningYCoordTag = false;
      private boolean haveOpeningBoundsTag = false;
      private boolean haveBoundsWidth = false;
      private boolean haveBoundsHeight = false;
      private boolean haveOpeningFGColorTag = false;
      private boolean haveOpeningBGColorTag = false;
      private boolean haveOpeningThicknessTag = false;
      private boolean haveOpeningIsFilledTag = false;
      private boolean haveOpeningImageDataTag = false;
      private boolean haveOpeningTextDataTag = false;
      private boolean haveFGRed = false;
      private boolean haveFGGreen = false;
      private boolean haveFGBlue = false;
      private boolean haveBGRed = false;
      private boolean haveBGGreen = false;
      private boolean haveBGBlue = false;
      private boolean haveThickness = false;
      private boolean haveIsFilled = false;
      private boolean haveImageData = false;
      private boolean haveTextData = false;
      private VCMessage vcmessage = null;
      public XMLDocumentReader(VCClient value)
           client = value;
           vcmessage = new VCMessage();
      public VCMessage getVCMessage()
           return vcmessage;
      public boolean haveSourceType()
         return haveSourceType; 
      public boolean ParseXML(InputStream stream)
         boolean success = false;
         // Use the default (non-validating) parser
        SAXParserFactory factory = SAXParserFactory.newInstance();
        try
             // Set up output stream
            out = new OutputStreamWriter(System.out, "UTF-8");
            // Parse the input
            SAXParser saxParser = factory.newSAXParser();
            saxParser.parse( stream, this );
            success = true;
        catch (SAXParseException spe)
            // Error generated by the parser
            System.out.println("\n** Parsing error"
               + ", line " + spe.getLineNumber()
               + ", uri " + spe.getSystemId());
            System.out.println("   " + spe.getMessage() );
            // Unpack the delivered exception to get the exception it contains
            Exception  x = spe;
            if (spe.getException() != null)
                x = spe.getException();
            x.printStackTrace();
            return success;
        catch (SAXException sxe)
             // Error generated by this application
             // (or a parser-initialization error)
             Exception  x = sxe;
             if (sxe.getException() != null)
                 x = sxe.getException();
             x.printStackTrace();
             return success;
        catch (ParserConfigurationException pce)
            // Parser with specified options can't be built
            pce.printStackTrace();
            return success;
        catch (Throwable t)
             t.printStackTrace();
             return success;
        return success;
      public void startDocument()throws SAXException
          emit("<?xml version='1.0' encoding='UTF-8'?>");
          nl();
      public void endDocument()throws SAXException
          try {
              nl();
              out.flush();
          } catch (IOException e) {
              throw new SAXException("I/O error", e);
      public void startElement(String namespaceURI,
                               String lName, // local name
                               String qName, // qualified name
                               Attributes attrs)throws SAXException
          String eName = lName; // element name
          if (eName.equals(""))
             eName = qName; // namespaceAware = false
          emit("<"+eName);
          if (attrs != null) {
              for (int i = 0; i < attrs.getLength(); i++) {
                  String aName = attrs.getLocalName(i); // Attr name
                  if (aName.equals("")) aName = attrs.getQName(i);
                  emit(" ");
                  emit(aName + "=\"" + attrs.getValue(i) + "\"");
          emit(">");
          if(makeStartTag(eName).equals(Constants.OPENING_SHAPEPROPERTIES))
                haveOpeningShapePropertiesTag = true;
          else if(makeStartTag(eName).equals(Constants.OPENING_SHAPELOCATION))
              haveOpeningShapeLocationTag = true;
          else if(makeStartTag(eName).equals(Constants.OPENING_BOUNDS))
                haveOpeningBoundsTag = true;
          else if(makeStartTag(eName).equals(Constants.OPENING_FGCOLOR))
                 haveOpeningFGColorTag = true;
          else if(makeStartTag(eName).equals(Constants.OPENING_BGCOLOR))
              haveOpeningBGColorTag = true;
          else if(makeStartTag(eName).equals(Constants.OPENING_BGGREEN))
               System.out.println("See BGGreen");
          else if(makeStartTag(eName).equals(Constants.OPENING_BGBLUE))
               System.out.println("See BGBlue");
          else if(makeStartTag(eName).equals(Constants.OPENING_THICKNESS))
              haveOpeningThicknessTag = true;
          else if(makeStartTag(eName).equals(Constants.OPENING_ISFILLED))
              haveOpeningIsFilledTag = true;
          else if(makeStartTag(eName).equals(Constants.OPENING_IMAGEDATA))
              haveOpeningImageDataTag = true;
          else if(makeStartTag(eName).equals(Constants.OPENING_TEXTDATA))
              haveOpeningTextDataTag = true;
      public void endElement(String namespaceURI,
                             String sName, // simple name
                             String qName  // qualified name
                            )throws SAXException
           if(sName.equals("") && !qName.equals(""))
              sName = qName;
              emit("</"+sName+">");
           else
              emit("</"+sName+">");
           if(makeEndTag(sName).equals(Constants.CLOSING_SOURCE_TYPE))
              haveSourceType = true;
           else if(makeEndTag(sName).equals(Constants.CLOSING_USER))
              haveUserName = true;
           else if(makeEndTag(sName).equals(Constants.CLOSING_MESSAGE))
              haveMessage = true;
           else if(makeEndTag(sName).equals(Constants.CLOSING_PROCESSEVENT))
               haveProcessEvent = true;
           else if(makeEndTag(sName).equals(Constants.CLOSING_LINKEDLISTINDEX))
               haveLinkedListIndex = true;
           else if(makeEndTag(sName).equals(Constants.CLOSING_SHAPETYPE))
               haveShapeType = true;
           else if(makeEndTag(sName).equals(Constants.CLOSING_SHAPELOCATION))
                haveOpeningShapeLocationTag = false;
           else if(makeEndTag(sName).equals(Constants.CLOSING_WIDTH))
               haveBoundsWidth = true;
           else if(makeEndTag(sName).equals(Constants.CLOSING_HEIGHT))
               haveBoundsHeight = true;
           else if(makeEndTag(sName).equals(Constants.CLOSING_BOUNDS))
                haveOpeningBoundsTag = false;
           else if(makeEndTag(sName).equals(Constants.CLOSING_FGRED))
               haveFGRed = true;
           else if(makeEndTag(sName).equals(Constants.CLOSING_FGGREEN))
               haveFGGreen = true;
           else if(makeEndTag(sName).equals(Constants.CLOSING_FGBLUE))
               haveFGBlue = true;
           else if(makeEndTag(sName).equals(Constants.CLOSING_FGCOLOR))
                haveOpeningFGColorTag = false;
           else if(makeEndTag(sName).equals(Constants.CLOSING_BGRED))
               haveBGRed = true;
           else if(makeEndTag(sName).equals(Constants.CLOSING_BGGREEN))
             haveBGGreen = true;
           else if(makeEndTag(sName).equals(Constants.CLOSING_BGBLUE))
               System.out.println("See closing BGBlue");
               haveBGBlue = true;
           else if(makeEndTag(sName).equals(Constants.CLOSING_BGCOLOR))
                haveOpeningBGColorTag = false;
           else if(makeEndTag(sName).equals(Constants.CLOSING_THICKNESS))
               System.out.println("XMLDocumentReader: Step2");
                haveOpeningThicknessTag = false;
           else if(makeEndTag(sName).equals(Constants.CLOSING_ISFILLED))
               haveOpeningIsFilledTag = false;
           else if(makeEndTag(sName).equals(Constants.CLOSING_IMAGEDATA))
               haveOpeningImageDataTag = false;
           else if(makeEndTag(sName).equals(Constants.CLOSING_TEXTDATA))
               haveOpeningTextDataTag = false;
      private String makeStartTag(String tag_name)
           String start = "<";
           String end = ">";
           return start.concat(tag_name).concat(end);
      private String makeEndTag(String tag_name)
           String start = "</";
           String end = ">";
           return start.concat(tag_name).concat(end);
      public void characters(char buf[], int offset, int len)throws SAXException
           String s = new String(buf, offset, len);
          if(haveSourceType == false)
               if(vcmessage.getSourceType() == null)
                  try
                    if(s.equals(""))return;
                   int sourcetype = Integer.parseInt(s);
                   vcmessage.setSourceType(sourcetype);                            
                  catch(NumberFormatException nfe){}
          else if(vcmessage.getSourceType() == SourceType.CHAT_SOURCE)
            if(vcmessage.getSourceType() == SourceType.CHAT_SOURCE && haveUserName == false)
                 vcmessage.setUserName(s);          
            else if(vcmessage.getSourceType() == SourceType.CHAT_SOURCE && haveMessage == false)
               //When the parser encounters interpreted characters like: & or <,
               //then this method gets invoked more than once for the whole message.
               //Therefore, we need to concatonate each portion of the message.  The
               //following method call automatically concatonates.
               vcmessage.concatMessage(s);                    
          else if(vcmessage.getSourceType() == SourceType.WHITEBOARD_SOURCE)
               if(haveProcessEvent == false)
                 try
                   vcmessage.setProcessEvent(Integer.parseInt(s));
                 catch(NumberFormatException nfe){}
               else if(haveLinkedListIndex == false)
                    try
                       vcmessage.setLinkedListIndex(Integer.parseInt(s));
                     catch(NumberFormatException nfe){}
               else if(haveShapeType == false)
                    try
                       vcmessage.setShapeType(Integer.parseInt(s));
                     catch(NumberFormatException nfe){}
               if(haveOpeningShapePropertiesTag)
                    if(haveOpeningShapeLocationTag)
                         if(haveOpeningXCoordTag)
                              try
                                vcmessage.setXCoordinate(Integer.parseInt(s));
                              catch(NumberFormatException nfe){}
                         else if(haveOpeningYCoordTag)
                              try
                                vcmessage.setYCoordinate(Integer.parseInt(s));
                                //reset all flags for ShapeLocation, X and Y coordinates
                                haveOpeningXCoordTag = false;
                                haveOpeningYCoordTag = false;
                                //haveOpeningShapeLocationTag = false;
                              catch(NumberFormatException nfe){}
                    else if(haveOpeningBoundsTag)
                         if(haveBoundsWidth == false)
                              try
                                vcmessage.setBoundsWidth(Integer.parseInt(s));
                              catch(NumberFormatException nfe){}
                         else if(haveBoundsHeight == false)
                              try
                                vcmessage.setBoundsHeight(Integer.parseInt(s));
                                //reset flag
                                //haveOpeningBoundsTag = false;
                              catch(NumberFormatException nfe){}
                    else if(haveOpeningFGColorTag)
                         if(haveFGRed == false)
                              try
                                vcmessage.setFGRed(Integer.parseInt(s));                           
                              catch(NumberFormatException nfe){}
                         else if(haveFGGreen == false)
                              try
                                vcmessage.setFGGreen(Integer.parseInt(s));                           
                              catch(NumberFormatException nfe){}
                         else if(haveFGBlue == false)
                              try
                                vcmessage.setFGBlue(Integer.parseInt(s));
                                //reset flag
                                //haveOpeningFGColorTag = false;
                              catch(NumberFormatException nfe){}
                    else if(haveOpeningBGColorTag)
                         if(haveBGRed == false)
                              try
                                vcmessage.setBGRed(Integer.parseInt(s));                           
                              catch(NumberFormatException nfe){}
                         else if(haveBGGreen == false)
                              try
                                vcmessage.setBGGreen(Integer.parseInt(s));                           
                              catch(NumberFormatException nfe){}
                         else if(haveBGBlue == false)
                         {   System.out.println("getting BGBlue data");
                              try
                                vcmessage.setBGBlue(Integer.parseInt(s));
                                //reset flag
                                //haveOpeningBGColorTag = false;
                              catch(NumberFormatException nfe){}
                    else if(haveOpeningThicknessTag)
                         try
                            vcmessage.setThickness(Integer.parseInt(s));                       
                          catch(NumberFormatException nfe){}
                    else if(haveOpeningIsFilledTag)
                         vcmessage.setIsFilled(s);
                    else if(haveOpeningImageDataTag && vcmessage.getProcessEvent() == org.jcanvas.comm.ProcessEvent.MODIFY)
                         vcmessage.setBase64ImageData(s);                    
                    else if(haveOpeningTextDataTag && vcmessage.getProcessEvent() == org.jcanvas.comm.ProcessEvent.MODIFY)
                         vcmessage.setTextData(s);
                    //reset
                    haveOpeningShapePropertiesTag = false;
          emit(s);
      //===========================================================
      // Utility Methods ...
      //===========================================================
      // Wrap I/O exceptions in SAX exceptions, to
      // suit handler signature requirements
      private void emit(String s)throws SAXException
          try {
              out.write(s);
              out.flush();
          } catch (IOException e) {
              throw new SAXException("I/O error", e);
      // Start a new line
      private void nl()throws SAXException
          try {
              out.write(lineEnd);
          } catch (IOException e) {
              throw new SAXException("I/O error", e);
      //treat validation errors as fatal
      public void error(SAXParseException e)
      throws SAXParseException
        throw e;
      // dump warnings too
      public void warning(SAXParseException err)
      throws SAXParseException
        System.out.println("** Warning"
            + ", line " + err.getLineNumber()
            + ", uri " + err.getSystemId());
        System.out.println("   " + err.getMessage());
    }

    Just out of curiosity what happens if you append a space to the end of the XML document?

  • Running NetWeaver's XSLT processor from Oxygen

    Hello
    I am using Oxgen XML Editor (version 12.1, build 2011012011) to create my XSLT mappings. Having tested these mappings successfully offline they are imported onto our SAP-PI ( SAP NetWeaver 7.01 ). However, sometimes mappings that work in Oxygen fail on SAP-PI. Therefore, I would like to use NetWeaver's XSLT processor as Custom Engine within Oxgen.
    Triggered by the blog of Thorsten Nordholm Søbirk
    Running NetWeaver's XSLT processor from XMLSpy
    I copied the archive sapxmltoolkit.jar into the lib directory of the Oxygen installation path. Next I went to menu Options -> Preferences -> XML -> XSLT/FO/XQuery -> Custom Engines and defined the following settings:
    Working Directory = .
    Command Line = C:Program FilesJavajdk1.6.0_07 injava -cp
    "C:Program FilesOxygen XML Editor 12libsapxmltoolkit.jar";
    com.sap.engine.lib.xsl.Process
    -xml="C:     empz_tempinput.xml"
    -xsl="C:     empz_tempstylesheet.xsl"
    -out="C:     empz_tempoutput.xml"
    In addition, within the Transformation Options I set:
    javax.xml.transform.TransformerFactory=com.sap.engine.lib.jaxp.TransformerFactoryImpl
    For the sake of simplicity I used a plain stylesheet without any Java extensions. When I delete file "output.xml" in "C:     empz_temp" and execute the transformation the file is recreated. Thus, I am sure that the NetWeaver XSLT processor has been used.
    However, instead of hard-coding filenames and pathes I would like to use the built-in variables of Oxygen like "$" etc. Most of the XSLT mappings use a Java extension which is located in the same directory as sapxmltoolkit.jar (C:Program FilesOxygen XML Editor 12lib).
    There are 2 major problems that I am facing now:
    (1) How must the Command Line look like so that I can use Oxygen's built-in variables as input for -xml, -xsl and -out?
    (2) How must the Command Line look like so that the Java extension archive is recognized?
    Your help and valuable input is very much appreciated.
    Regards
      Uwe

    hi,
    this is how we use it with Stylus Studio, also with external libraries
    c:\program files\java\jre1.5.0_22\bin\java.exe -cp "Y:\xivaluemappingproxy_stylusstudio.jar";"c:\sapxmltoolkit.jar";"Y:\XIFramework.jar";"Y:\jms.jar";"Y:\sapjco.jar";"c:\ExtendedValueChange.jar" com.sap.engine.lib.xsl.Process -xsl=%2 -xml=%1 -out=%3

  • Report Query using a Named Column Report Layout fails to produce PDF

    I am testing FOP and the Shared Component Report Queries query with a Named Column Report Layout. The xsl file was built using Stylus Studio and worked fine with the saved XML data file in Stylus Studio.
    500 Internal Server Error
    500 Internal Server Error
    Servlet error: An exception occurred.
    The current application deployment descriptors do not allow for including it in this response.
    Please consult the application log for details.
    I assume this is a message from FOP. What do I do now?
    tia,
    Sam

    Sam,
    I would suggest to take APEX out of the picture first and see if you can get this to work directly with your FOP solution, i.e. generate the XML data and take your XSL file and then post it directly to the FOP JSP (or whichever rendering engine you use). If this works, the problem might be somewhere in your APEX configuration. If it doesn't work, then the problem is likely in your XSL or XML structure. Here's how you can setup a static HTML page to post your XML and XSL to FOP:
    http://marcsewtz.blogspot.com/2008/06/heres-another-posting-on-pdf-printing.html
    Regards,
    Marc

  • XSLT Mapping with Java class not working in Integration Repository

    Hi,
    I have an XSLT mapping program with Java enhancement and I was able to successfully tested it in Stylus Studio. However, when I imported the Java class and the xslt program in Enterprise Service Builder and tested it, my program does not compile.
    Here is the error message: "Transformer Configuration Exception occurred when loading XSLT mapping_temp.xsl; details: Could not compile stylesheet".
    My java program is in a zip file containing SOAPHeaderHandler.java and SOAPHeaderhandler.class. My Java has a package com.nga.xslt.
    Here is the declaration of my Java class in the XSLT: xmlns:javamap="java:com.nga.xslt.SOAPHeaderHandler"
    It seems that it could not read the java class. Can you please advice what is wrong?

    Hi ,
    select XMLTOOLKIT option in Operation mapping and execute it.
    I am not sure we can call java program in XSLT Program,but alternative is copy the code and use it in XSLT mapping it self,that means your XSLT program will become with JAVA extensions.
    then in Operation mapping level select SAPXMLTOOL kit option and execute it. i hope it will work. if it is not working then you have deploy some JAXP files on server,because the way execution of XSLT Mpaping program got changed,like when eve you executing XSLT with extnasions( if you are not using XMLTOOL kit option) then you have to use latest version of JAXP.JDK files.
    Regards,
    Raj

  • XSLT Mapping: URI appearing in each field entry in the output

    Hi there,
    I am mapping a custome build Invoice to xCBL structure in Stylus Studio. The output look ok, but in each field URI value appear as well, as shown below.
    --Start
    <p:msgDetails xmlns:p="http://localhost/webs/msgDetails.xsd">
    <p:sender xmlns:p="http://localhost/webs/msgDetails.xsd"><p:senderId xmlns:p="http://localhost/webs/msgDetails.xsd">SCA HA</p:senderId><p:senderName xmlns:p="http://localhost/webs/msgDetails.xsd">SCA HA</p:senderName></p:sender><p:receiver xmlns:p="http://localhost/webs/msgDetails.xsd"><p:receiverId xmlns:p="http://localhost/webs/msgDetails.xsd">PEL</p:receiverId><p:receiverName xmlns:p="http://localhost/webs/msgDetails.xsd">Progressive Enterprise</p:receiverName></p:receiver><p:docType xmlns:p="http://localhost/webs/msgDetails.xsd">invoice</p:docType><p:docFormat xmlns:p="http://localhost/webs/msgDetails.xsd">xcbl40</p:docFormat><p:transmissionDetails xmlns:p="http://localhost/webs/msgDetails.xsd"><p:testMsg xmlns:p="http://localhost/webs/msgDetails.xsd">true</p:testMsg><p:transmissionDate xmlns:p="http://localhost/webs/msgDetails.xsd">2005-05-23 14:20:20</p:transmissionDate><p:messageId xmlns:p="http://localhost/webs/msgDetails.xsd">2005-05-23 14:20:20</p:messageId><p:username xmlns:p="http://localhost/webs/msgDetails.xsd"/><p:password xmlns:p="http://localhost/webs/msgDetails.xsd"/></p:transmissionDetails></p:msgDetails>
    ---End
    The expected output is,
    - Start
    <p:msgDetails xmlns:p="http://localhost/webs/msgDetails.xsd">
      <p:sender>
        <p:senderId>SCA HA</p:senderId>
        <p:senderName>SCA HA</p:senderName>
      </p:sender>
      <p:receiver>
        <p:receiverId>PEL</p:receiverId>
        <p:receiverName>Progressive Enterprises</p:receiverName>
      </p:receiver>
      <p:docType>invoice</p:docType>
      <p:docFormat>xcbl40</p:docFormat>
      <p:transmissionDetails>
        <p:environmentFrom>dev</p:environmentFrom>
        <p:testMsg>true</p:testMsg>
        <p:transmissionDate>2005-05-18T11:14:06</p:transmissionDate>
        <p:messageId>104435_2005-05-18T11:14:06</p:messageId>
        <p:username></p:username>
        <p:password></p:password>
      </p:transmissionDetails>
    </p:msgDetails>
    --end
    Its happening in the body area as well. Can somebody please suggest.
    Thank you.
    Warm Regards,
    Ranjan

    Hi Ranjan,
    You can resolve this in this way.
    In ur xsl, delete the namespaces appearing. Then hardcode with ur hand the namespace like <p:msgDetails xmlns:p="http://localhost/webs/msgDetails.xsd">.
    Make sure that the template match is coming before the
    <p:msgDetails ..
    Hope this helps out.
    Rgds,
    Deno

Maybe you are looking for