RoboHelp 7 and XML output

Can RoboHelp 7 output topics as XML (.xml files) ?
We are researching upgrading to RoboHelp 7 from our RoboHelp
HTML 2002 versions. We skipped the X-series upgrades, but I recall
reading that the X-series supported XML in some way. I downloaded
the RH7 trial version and could not find anything in the Help about
XML. Then it seems that suddenly an XML Output icon appeared in the
Single Source Layouts pane. It was not there previously. I then
could generate xhtml (.htm) files.
We called sales who didn't seem to know and said we'd need a
valid license to ask tech support.
Can someone enlighten me about the history of the X-series
and XML output, and what is actually possible for XML from RH7? And
what you need to do to get the XML Output to appear in the Single
Source Layoutspane? XML Output is not covered anywhere I found in
help or knowledge base, but it seems so huge a deal that it makes
me think I must be missing something.
Thanks for your help.

Hi Peter
Thanks for your help. In the Single Source Layouts pane, I
clicked create Layout, and selected XML Output, and it now appears
in the Single Source Layouts screen. Still have some questions.
1\ Do you know any of the history of what kind of XML support
was offered in the X-series, and if version 7 offers less, more, or
the same support?
2\ Any idea why there is NOTHING mentioned in the RoboHelp
Help if you search using XML or XML output? Even more curious is
when I click the Help button from the XML Output Options box, I do
find a topic called XML Output Options. I wonder why their main
Search tool doesn't find this...
We were hoping to migrate to XML using XMetaL, but Mgt is
balking due to the time and costs involved in conversion and
translation issues. Which is why we may need to upgrade RH2002 to
RH7, so our legacy docs remain pretty much intact. But at the same
time, we want to know what the current RH XML capabilites are, and
are wondering what their plans are for the future, like, will they
offer real XML out to the current major tech writing standard,
DITA. We hope to start authoring new docs only then using XMetal so
we don't take the conversion/translation memory hit.
So yes, our XML questions are deliberate.

Similar Messages

  • RH9 and XML output - passing build tags

    Hi,
    I've just upgraded to RH9 and have found out that the XML output options are different from RH7 - the RH7 Export Handler "Export Topics to XHTML"  has  disappeared and the other options no longer allow you to retain conditional build tags in the XML output. Instead, the tag is removed (if tag is to be included in compile), leaving the content as is, or the tag and content is removed (if tag excluded).
    As some background, we used the RH7 Export Handler "Export Topics to XHTML" option to strip down the size of our localized content - included tags stay in the XML,exclude tags actually remove content. The XML is reimported into a translatable project where the retained tags (e.g., UserGuide or Help) are used to restrict content to Help or generated User Guide after translation.
    Has anyone any experience of this area of RH9? Woulld you know if this is a bug or by design, or if a workaround is possible? Are there other ways of cutting down projects for translation while having build tag control in your localized versions?
    This breaks my solution for cutting down UK/US help content big time - this has saved a lot on localization costs!
    Many thanks
    Andy Capstick
    [email protected]

    Hi, you can FOR XML PATH for a finer degree of control over your XML.  Use the @ symbol to create attributes.  Here's a simple example:
    DECLARE @t TABLE ( rowId INT IDENTITY PRIMARY KEY, [address] VARCHAR(50), city VARCHAR(30), floor INT, suite INT, doorType VARCHAR(20) )
    INSERT INTO @t VALUES
    ( '123 Fake St', 'Springfield', 10, 512, 'Metal' )
    SELECT
    [address] AS "Address",
    city AS City,
    [floor] AS "Location/@Floor",
    suite AS "Location/@Suite",
    doorType AS "Location/@DoorType"
    FROM @t
    FOR XML PATH ('Company'), ROOT ('Companies'), ELEMENTS;

  • Easiest and/or best methods for generating XML output (not with a report)

    Hi, several of our EBS customers (11.5.10) are converting their PDF reports to use XML/BI publisher to produce output. The data stream comes from a report that generates the XML output, and then the XML template is applied. This works great ... no problems, etc. From what I have read, however, Oracle intends to treat the traditional Forms and Reports Developers as legacy tools (although still supporting them, of course).
    My question is if I wanted to ditch using Reports to generate XML output, what, in your opinion or in your current usage, is the easiest way of getting this data? In Reports, the data modeler is excellent in providing a method to write your queries, split them into different repeating groups, write formula and summary columns, link multiple queries, etc, etc. If one were to become Reports Developer free, what comparable tools are available to take its place? I would expect this tool to handle a mix of GUI and coding like the Reports data modeler. Please note that I'm not looking for an EBS-specific solution -- say for a custom application using regular Oracle 10g DB and iAS, with BI Publisher for reporting.
    Thanks for your feedback,
    Ryan

    What I'm looking for is to not use Oracle Reports to generate the XML data output since Oracle's statement of direction is pushing BI Publisher rather than Oracle Reports as the preferred tool for reporting. That said, the data modeler in Reports provides a very flexible tool to construct and link multiple queries and to manipulate the queries into several levels of a master/detail relationship. Further, the mix of GUI and coding makes setting up the data model a lot more efficient. What I'm looking for (and I don't know if anything exists) is something comparable that can be used to generate XML output from the DB -- the idea being that I wouldn't use legacy tools, like Reports, for this task. I hope that is clearer.
    Really, another way of answering my question is, aside from Reports and the APIs mentioned so far, what are my fellow developers using, if anything, to extract XML data in a way that handles the features i list above?

  • Generate XML output using DBMS_XMLGEN.getxmltype and not from rdf

    Hi,
    I have a requirement to display output from a particular table in XL format. Out of all the known possible options, I am planning to use the XML publisher to generate XL output.
    For the data source, instead of using the conventional way of creating XML data using rdf,I am planning to use DBMS_XMLGEN.getxmltype pl/sql procedure to generate the XML output. And from the output, call the template to generate the required Excel output.
    Now, I am using the following code to generate XML output but am not sure how to proceed from here. I need to first print the XML data in the FND Output file after which I was planning to call the 'XML Report Publisher' (XDOREPPB) program and use the current request id to get the excel output but I am not able to find the way to print the XML data in the output file as:
    fnd_file.put_line (fnd_file.output, l_xml_type); - is throwing an error as l_xml_type is an XML data output.
    PROCEDURE xml_main (
    errbuf OUT VARCHAR2
    ,retcode OUT VARCHAR2
    ,p_project_from IN VARCHAR2
    ,p_project_to IN VARCHAR2
    AS
    l_xml_type XMLTYPE;
    BEGIN
    SELECT DBMS_XMLGEN.getxmltype
    ('SELECT fnd_global.conc_request_id
    ,TO_CHAR (segment1)
    ,to_char(start_date,''MM/DD/RRRR'')
    ,to_char(xxmcc_project_details_pkg.current_profit_projection
    (project_id),''999,999,990.90'')
    ,to_char(xxmcc_project_details_pkg.cost_to_date (project_id),''999,999,990.90'')
    ,''1''
    FROM pa_projects_all
    WHERE segment1 BETWEEN NVL (p_project_from, segment1)
    AND NVL (p_project_to, segment1)')
    INTO l_xml_type
    FROM DUAL;
         fnd_file.put_line (fnd_file.output, l_xml_type);
    END xml_main;
    Can anyone point me as to how to publish XML output using a PL/SQL procedure (DBMS_XMLGEN.getxmltype)
    Thanks.

    Pl see if the example included in this presentation helps http://www.oracle.com/technology/products/applications/Events/OOW-2006/EBS/S281401_Sridhar_Bogelli.pdf
    Also, you do not need to explicitly call XDOREPPB in later versions of XML Publisher. If you set up everything correctly (as described in the presentation above and the link below) the Output Post Processor is called automatically after the XML file is generated successfully.
    Another excellent tutorial is at http://www.oracle.com/technology/obe/fusion_middleware/fusion/bi/xmlp_ebiz/index.html
    HTH
    Srini

  • When running an xml publisher report the xml output leads to 9 mb and the excel output file leads to 20 mb.But the output records is originally 4000 records. When copy to new excel it is showing 3.5 mb only. Does anyone knows the answer for this issue?

    When running an xml publisher report the xml output leads to 9 mb and the excel output file leads to 20 mb. The records contained in excel file is 4000 records. When taking the excel records and copy to new excel file the excel file size is 3.5 mb only.Why does the oracle software generates 20mb file?
    Does any one knows the answer please advice?

    Hello,
    This issue is because the Excel output from BI Publisher is MHTML (XML Publisher generates XHTML) not binary .xls.
    MHTML and XHTML are more verbose formats than binary .xls.
    It will be large because the current Excel output is just an HTML and not compressed like PDF. Please use the workaround (save it as .xls file).  This is a known limitation of RTF layout templates.
    BI Publisher Enterprise has a new feature True Excel Templates. The layouts generate binary Excel output.
    Excel Output File Size Generated By BI Publisher is Very Large (Doc ID 760437.1)
    Bogdan

  • Generating and Viewing XML Output without rdf

    Howdy,
    I have been dev Oracle Forms/Reports for over 10 years. We are now migrating all of our reports to BIP.
    To date when I have been developing these reports I have been using the old rdf files to "generate to a file" and thus get a nice, quick and dirty XML output file (what I am calling a “datafile”). Using this makes it substantially easier to then dev the format template. However going forward I/we would like to completely remove the Designer 2000 tool entirely when it comes to report development.
    How can we as developers can get our hands on the XML "datafiles" that are generated by the data templates in BIP? Are these stored anywhere on the server for the viewing? Is there another tool I can pop my Data template and SQL into and generate XML ‘with’ the correct groupings, ect.?
    Thanks in advance for any assistance/guidance you can provide.
    ScottC

    Or, from the browser see Note:394631.1
    1.Using System Administrator responsibility
    Nav:Profile->System
    query Viewer: Text, set this to Browser and save
    2. Using your Receivables responsibility
    Run the the XML report that is failing, note the request_id
    when it finishes, even with errors do this,
    View->Requests
    query this request_id
    click on Diagnostic button->View XML
    save the file to your PC by doing File->Save As
    3. Upload this XML data file.

  • IDOC to Flat File and XML ( Need both the Output)

    Hi ,
    My Scenario is IDOC to File .
    I need o/p in 2 format . ie,    1) Flat File 2 ) XML file
    I have a plan to go with Interface determination , 2 IM and what shd be the condition ?
    or Else  2 Receiver detmination  but condition ?
    How to slove this ?
    Need the Output from Idoc in 2 format ( Flat file and XML file )
    Any Blog , Thread ...Tips...etc
    Regards,
    Jude

    Hi Jude,
    Do like this:
    1. Create two inbound Service Interface (with the same target Message Type)
    2. Create separate Operation mapping with the above service interfaces as target (with the same source service interface)
    3. Create Interface Determination and include these two operation mapping (without any condition)
    4. Create 2 receiver agreement (with two separate communication channel) for each of the target service Inetrface. In one channel use content conversion and the other one will give you normal XML output
    Regards
    Suraj

  • XSL and FSG report with XML output

    I have 5 FSG Reports combined into one reportset. all these reports output type as XML. Once the reportset is submitted and all the FSG reports are completed , i want to call a XSL program which will combine all the 5 FSG XML outputs. Please advice me how to use the xsl program to combine all the FSG XML Outputs.

    Phew thats gonna be some XSL bearing in mind how complex the FSG XML is. How much data are we talking about here ? There might be a simpler solution as long as there is not a huge amount of data.
    REgards, Tim

  • Regarding  the rowset and row tags in the XML output

    Hi,
    We generated an XML file using dataset of type SQL query.The output is including additional tags
    <ROWSET> and <ROW> tags.How to disable them from appearing in the XML output.

    Hi,
    Iam not using the Datamodel of data template type.If we use the data template we can disable the rowtags by setting the property mentioned by you.But we get the data template name and the query name included in the output.My requirement is to disable the extratags.
    Can u please provide inputs on how to disable the datatemplate name and the query name tags in the output when we use datatemplate.Thank you.

  • Get XML Output and parameters

    I'm using Oracle BI Publisher 11.1.1.3.0 and I've created a Dataset with several parameters. (6 to be precise) I'm using the "Get XML Output" button to generate my sample data...
    Without the parameters all is good... but when I add parameters... the parameters line up from left to right three of my parameters "disappears" to the right and even more importantly the "Run" & "Return" buttons disappear and I cannot access them.
    I feel like I'm missing something simple... but I just can't find it. How can I get those parameters to line up some other way?
    (Let me specify once again that I am ONLY in the Dataset area, not the report area)
    Thanks in advance

    Look... this seems like a serious problem...
    I cannot generate the sample data when I add more than 3 parameters (Type Menu with a LOV) ....
    I cannot generate sample data, the parameters do not appear on the report...
    The Run button is off screen and there are no scroll bars...
    I am in the data model area only... NOT the report are and I have NO way of seeing the parameters that are off screen or even accessing the Run & Return button or the "Save sample data"
    What is going on?

  • [svn] 4521: Fix for - Override information missing for properties and methods in DITA XML output of ASDoc

    Revision: 4521
    Author: [email protected]
    Date: 2009-01-14 06:01:28 -0800 (Wed, 14 Jan 2009)
    Log Message:
    Fix for - Override information missing for properties and methods in DITA XML output of ASDoc
    QE Notes: None
    Doc Notes: None
    Bugs: SDK-18681
    tests: checkintests
    Ticket Links:
    http://bugs.adobe.com/jira/browse/SDK-18681
    Modified Paths:
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/asdoc/TopLevelClassesGenerator.ja va

    Hi ,
    I have an error like this below:
    [java] Exception in thread "main" java.lang.IllegalArgumentException: and
    [java] at com.sun.rave.jsfmeta.generators.Main.run(Main.java:521)
    [java] at com.sun.rave.jsfmeta.generators.Main.main(Main.java:279)
    BUILD FAILED
    if someone know solution plz post it here
    Thanks

  • JCo Calling BAPI and generate htm and xml page in output

    Friends,
            I am developing an Application in Java using JCO. The requirement there is a list of BAPI's are available for the selection, once the user select the BAPI , it will dynamically generates the screen of input parameters and than result will be stored in .htm and .xml file. It works for many BAPI's, but for few of that it won't work. Will you help me out why its gng to create problem for other BAPI's.
    e.g.
    BAPI_SALESORDER_GETLIST
    BAPI_PO_GETITEMS
    BAPI_MATERIAL_GET_DETAIL and few more...
    It doesn't generate the proper output of these BAPI's.
    Thanks.
    HItesh Shah

    Tanveer,
    There are many files so i wont be able to put the codes but let me tell u how i m doing.
    1) Giving the options to user in which server they want to connect.
    2) After connection has been established there is a plain text file available which consists the list of BAPI's which will be displayed in the list box.
    3) After user select any BAPI and press a button named 'DETAILS' it will display the Import/Export/Tables list.
    4) After clicking on Next , i m generating a dynamic screen for input parameters.
    5)Here is this step also one problem is that i have to write all the zeros, can u tell me if i want to pad the zeroes automatically what i will do.Becz every time the input parameters of each BAPI would be different.
    6) After getting input parameters i will generate the .htm and .xml file using writeXML and writeHTML function.
    7) I want to show them generated xml and html file in iexplore using clicking button...Can u tell me how to achieve that.
    Here is the code through which my xml and htm file will be generated.
    import com.sap.mw.jco.*;
    import java.io.*;
    import java.util.*;
    import java.math.*;
    import java.util.Iterator;
    // Quick imports
    import com.jxml.quick.QDoc;
    import com.jxml.quick.Quick;
      class RFCG {
          static final String SID = "R3";
          String conDetails []=new String[6];
          String ErrorMsg;
          int i=0;
          String LogonDetail;
          int Rows;
          IRepository repository;
          String InputName[]=new String[200];
          String InputType[]=new String[200];
          String OutputName[]=new String[200];
          String OutputType[]=new String[200];
          String OutputINTTYPE[]=new String[200];
          String OutputField[]=new String[200];
          String TableName[]=new String[500];
          String TableType[]=new String[500];
          String TableINTTYPE[]=new String[500];
          String FIELDNAME[]=new String[500];
          //String FIELDNAME[]=new String[20];
          String FIELDINTTYPE[]=new String[500];
          String OutputFieldType[]=new String[200];
          String OutputFieldINTTYPE[]=new String[200];
          String InputParFieldName[][]=new String[200][200];
          String InputParFieldDatatype[]=new String[200];
          String InputParFieldIntType[]=new String[200];
          int l,j,k,m,n,o,t,q;
           /** public static void main(String [] args){
                  new RFCG("SAPR3.txt");
             public RFCG(String LogonDetail,String BAPI)
                      this.LogonDetail=LogonDetail;
                      cleanUp();
                      try {
                                 /* for xml */
                                 // Initialize Quick
                                  QDoc schema = PersonSchema.createSchema();
                              // Convert input XML to Java
                                  QDoc doc = Quick.parse(schema, "input.xml");
                             // Get the result
                                  Person person = (Person)Quick.getRoot(doc);
                               for (Iterator i = person.getClientList().iterator(); i.hasNext(); ) {
                                            Client number = (Client)i.next();
                                           // String type=number.getType();
                                            //System.out.println(type);
                                           // System.out.println(LogonDetail+"LOGO");
                                            if(LogonDetail.equals(number.getType())){
                                                   //conDetails[0]=number.getType();
                                                   conDetails[0]=number.getSapclient();
                                                   conDetails[1]=number.getUserid();
                                                   conDetails[2]=number.getPassword();
                                                   conDetails[3]=number.getLanguage();
                                                   conDetails[4]=number.getHostname();
                                                   conDetails[5]=number.getSystemnumber();
                                            //System.out.println("  Client Type(" + number.getType() + "):");
                                          //System.out.println("  Sapclient " + number.getSapclient());
                                          //System.out.println("  Userid  " + number.getUserid());
                                          //System.out.println("  Password " + number.getPassword());
                                          //System.out.println("  Language " + number.getLanguage());
                                          //System.out.println("  Hostname  " + number.getHostname());
                                          //System.out.println("  Systemnumber  " + number.getSystemnumber());
                                          //System.out.println("   \n  ");
                               } catch (Exception e) {
                                     e.printStackTrace();
                      Connect(LogonDetail);
                      zbapi(BAPI);
                      new BapiParameters1(InputName,InputType,OutputName,OutputType,TableName,TableType,BAPI,repository,OutputINTTYPE,FIELDNAME,FIELDINTTYPE,OutputField,OutputFieldType,OutputFieldINTTYPE,LogonDetail,InputParFieldName,InputParFieldDatatype,InputParFieldIntType);
                      for (int i = 0; i < 10; i++) {
                               //System.out.println("STRING***RFCG*******"InputName<i>'\t'+InputType<i>);
         public void Connect(String LogonDetail){
         //CustName=CustName;
      /** try{
           File myFile = new File(LogonDetail);
           FileReader fr= new FileReader(myFile);
           BufferedReader reader=new BufferedReader(fr);
           String line=null;
           while ((line=reader.readLine())!=null){
                     String[] result=line.split(":");
                     conDetails<i>=result[1];
                     System.out.println(conDetails<i>);
                     ++i;
                reader.close();
           }catch(Exception ex){
                ex.printStackTrace();
               try {
                 JCO.addClientPool( SID,           // Alias for this pool
                                    10,            // Max. number of connections
                                    conDetails[0], // SAP client
                                    conDetails[1], // userid
                                            conDetails[2], // password
                                    conDetails[3], // language
                                    conDetails[4], // host name
                                    conDetails[5] );
                 this.repository = JCO.createRepository("MYRepository", SID);
                 //System.out.println("Connected"+ repository);
               catch (JCO.Exception ex) {
                 //System.out.println("Caught an exception: \n" + ex);
                 ErrorMsg=ex.toString();
                 //new Error(ex);
                 if (ErrorMsg!=null){
                      new Error(ErrorMsg);
             protected void cleanUp() {
                           JCO.removeClientPool(SID);
    public void zbapi(String BAPI)
        JCO.Client client = null;
        JCO.Table codes = null;
        try {
          // Get a function template from the repository
          //FunctionTemplate ftemplate = repository.getFunctionTemplate(person.getRFCName());
             IFunctionTemplate ftemplate = repository.getFunctionTemplate("FUNCTION_GET");
          // if the function definition was found in backend system
          if(ftemplate != null) {
          // Create a function from the template
            JCO.Function function = ftemplate.getFunction();
            // Get a client from the pool
            client = JCO.getClient(SID);
            // Fill in input parameters
            JCO.ParameterList input = function.getImportParameterList();
            input.setValue(BAPI, "FUNCNAME");
            client.execute(function);
            // Print return message
            //JCO.Structure ret = function.getExportParameterList().getString("NAME1");
              codes = function.getTableParameterList().getTable("PRMTAB");
                 //System.out.println("ROWS:"+codes.getNumRows());
                 this.Rows=codes.getNumRows();
                 //System.out.println(this.Rows);
              //System.out.println("PTYPE" + '\t' + "PNAME" + '\t' + "FIELDNAME" + '\t' + "DATATYPE");
         for (int i = 0; i < codes.getNumRows(); i++, codes.nextRow()) {
                                  //System.out.println(codes.getString("PARAMTYPE")+ '\t' +
                                  //codes.getString("NAME") + '\t'codes.getString("FIELDNAME")
                                  //'t' +codes.getString("DATATYPE"));
                                  if (codes.getString("PARAMTYPE").equals("1")){
                                        InputName[j]=codes.getString("NAME");
                                        InputType[j]=codes.getString("INTTYPE");
                                        //InputINTTYPE[j]=codes.getString("INTTYPE");
                                        ++j;
                                  else if(codes.getString("PARAMTYPE").equals("2")){
                                             OutputName[k]=codes.getString("NAME");
                                             OutputType[k]=codes.getString("DATATYPE");
                                             OutputINTTYPE[k]=codes.getString("INTTYPE");
                                             ++k;
                                  else if(codes.getString("PARAMTYPE").equals("3")){
                                             TableName[l]=codes.getString("NAME");
                                             TableType[l]=codes.getString("DATATYPE");
                                             TableINTTYPE[l]=codes.getString("INTTYPE");
                                             ++l;
                                       /**else if(codes.getString("PARAMTYPE").equals("5")){
                                            //System.out.println("RFCGGGGG"+InputParFieldName[o]);
                                             InputParFieldName[q][o]=codes.getString("FIELDNAME");
                                             if(t==0){
                                                  t=1;
                                                  //System.out.println("RFCGGGGG"InputParFieldName[o]"           "+t);
                                                        InputParFieldDatatype[o]=codes.getString("NAME");
                                              else{
                                                   int w=o-1;
                                                   System.out.println("OoOoOooo"w"\t"+o);
                                                   if(InputParFieldDatatype[w].equals(InputParFieldDatatype[o])){
                                                  //System.out.println("RFCGGGGG"InputParFieldName[o]"           "+t);
                                                  System.out.println("yes");
                                                 else{
                                                   InputParFieldDatatype[o]=codes.getString("NAME");
                                                   ++q;
                                             InputParFieldIntType[o]=codes.getString("INTTYPE");
                                                                                ++o;
                                  else if(codes.getString("PARAMTYPE").equals("6")){
                                            if(!codes.getString("NAME").equals("RETURN")){
                                                  //if(codes.getString("NAME").equals(TableName[]))
                                                  OutputField[n]=codes.getString("FIELDNAME");
                                                  //OutputFieldType[n]=codes.getString("DATATYPE");
                                                  OutputFieldINTTYPE[n]=codes.getString("INTTYPE");
                                                  ++n;}
                                  else if(codes.getString("PARAMTYPE").equals("7")){
                                             FIELDNAME[m]=codes.getString("FIELDNAME");
                                             FIELDNAME[m]=codes.getString("DATATYPE");
                                             //System.out.println("TABLEFIELD"+FIELDNAME[m]);
                                             FIELDINTTYPE[m]=codes.getString("INTTYPE");
                                             ++m;
          else {
                //System.out.println("Function not found"  );
                   //new Error("Function not Found");
            //System.out.println("Function BAPI_SALESORDER_GETLIST not found in backend system.");
          }//if
        catch (Exception ex) {
         System.out.println("Caught an exception: \n" + ex);
         ErrorMsg=ex.toString();
              //System.out.println("2222Caught an exception: \n" + ErrorMsg);
                   if (ErrorMsg!=null)
                               new Error(ErrorMsg);
         //        new Error(ex);
        finally {
          // Release the client to the pool
                    //System.out.println("2222Caught an exception: \n" + ErrorMsg);
          JCO.releaseClient(client);
    /**protected void cleanUp() {
                  JCO.removeClientPool(SID);
    Thanks,
    Hitesh

  • How is html page outputed when using taglib and xml ?

    Dear all,
              I am a newbie for taglib and xml. Today, when I read some source code of a
              website, I found that there is a entry like
              "%@ taglib uri="/tlds/taglib.tld" prefix="myprefix" %>",
              and some other entries like
              "<myprefix:Content area="<%=contentArea%>" />"
              I opened the specifized file taglib.tld and saw a tag entry named "Content",
              its tagclass is com.mycom.presentation.taglib.ContentTag. Again I opend a
              java class file "ContentTag.java" and saw some setXXX methods and doXXX
              methods. I donot know how is the webpage outputed. Can someone give me a
              detailed description about that? I will greatly appreciate your help.
              Some source code segments are listed as follows:
              test.jsp:
              <%@ taglib uri="/tlds/taglib.tld" prefix="myprefix" %>
              <td>
              <myprefix:Content body="<%=body%>" area="<%=contentArea%>"
              pageName="<%=pageName%>" />
              </td>
              taglib.tld:
              <?xml version="1.0" encoding="ISO-8859-1" ?>
              <!DOCTYPE taglib
              PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
              "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
              <tag>
              <name>Content</name>
              <tagclass>com.myprefix.presentation.taglib.ContentTag</tagclass>
              <bodycontent>JSP</bodycontent>
              <info>An tag which given the screen and element does the right content
              thing!</info>
              <attribute>
              <name>id</name>
              <required>false</required>
              <rtexprvalue>true</rtexprvalue>
              <!--type>String</type-->
              </attribute>
              <attribute>
              <name>pageName</name>
              <required>false</required>
              <rtexprvalue>true</rtexprvalue>
              <!--type>String</type-->
              </attribute>
              <attribute>
              <name>area</name>
              <required>false</required>
              <rtexprvalue>true</rtexprvalue>
              <!--type>String</type-->
              </attribute>
              <attribute>
              <name>body</name>
              <required>false</required>
              <rtexprvalue>true</rtexprvalue>
              <!--type>long</type-->
              </attribute>
              </tag>
              ContentTag.java
              package com.mycom.presentation.taglib;
              import javax.servlet.*;
              import javax.servlet.http.*;
              import javax.servlet.jsp.JspTagException;
              import javax.servlet.jsp.tagext.BodyTagSupport;
              public class ContentTag extends BodyTagSupport {
              private String ......;
              public String ......;
              public ContentTag() {
              super();
              public void setPageName(String pageName) {
              this.pageName = pageName;
              public void setArea(String area) {
              this.area = area;
              public void setSegment(String segment) {
              this.segment = segment;
              if (segment!=null) // && !segment.equals("null")
              this.segment_set = true;
              public void setAdmin(String admin) {
              try{
              this.admin = Boolean.getBoolean(admin);
              } catch (Exception _) {
              debugCategory.debug("Setting admin err " + admin);
              public void setBody(String body)
              try {
              this.body = Long.parseLong(body);
              } catch (NumberFormatException ne) {
              debugCategory.debug("Setting body format err");
              public int doStartTag() {
              if (contentMap == null)
              HttpSession session = pageContext.getSession();
              if (segment==null)
              segment =
              (String)session.getAttribute(Parameters.segment_id);
              if (currentScreen==null)
              currentScreen =
              (String)session.getAttribute(Parameters.currentScreen);
              try{
              StateEngineProxy sep =
              (StateEngineProxy)session.getAttribute("stateMachine");
              ModelManager mm =
              (ModelManager)session.getAttribute("modelManager");
              if (sep == null||mm==null)
              sep = new StateEngineProxy();
              session.setAttribute("stateMachine", sep);
              mm = new ModelManager();
              mm.init(session, sep);
              session.setAttribute("modelManager", mm);
              if (body !=0)
              //content = (ContentAI)
              contentMap.get(Parameters.content_id+Long.toString(body));
              if (content==null)
              debugCategory.debug("Get by Body");
              mm.getContent(body);
              content =
              (ContentAI)session.getAttribute(Parameters.content);
              //contentMap.put(Parameters.content_id +
              Long.toString(body), content);
              file:// pageContext.setAttribute(CONTENT_MAP,
              contentMap, myScope);
              if (pageName!=null&&area!=null &&
              segment!=null&&segment!=""&&area!=""&&pageName!="")
              contentList = (Collection)
              mm.getContentBySegmentPageNameAndArea(segment,
              pageName, area);
              if(contentList!=null){
              Iterator it = contentList.iterator();
              if (it.hasNext()) {
              content = (ContentAI)it.next();
              session.setAttribute(Parameters.content,
              content);
              return EVAL_BODY_TAG;
              return EVAL_BODY_TAG;
              public int doEndTag() throws JspTagException {
              current = SUPPLIERSINFORMATION;
              pageContext.getOut().flush();
              if ( content != null
              && !currentScreen.equals(ScreenNames.CONTENT_LIST_URL)
              && !currentScreen.equals(ScreenNames.CONTENT_EDIT_URL))
              if ( !admin ){
              // include body?
              if
              rentScreen.equals(ScreenNames.CONTENT_NEWS_URL)){ 
              pageContext.getOut().println("<h3>" + content.getSubject() + "<br></h3>");
              pageContext.getOut().println("<!-- Subject[" + content.getSubject() + "]");
              pageContext.getOut().println("OrgID[" + content.getOrgId() + "]");
              pageContext.getOut().println("LogoPath[" + content.getLogoPath() + "]");
              pageContext.getOut().println("PageName[" + content.getPageName() + "]");
              pageContext.getOut().println("Area[" + content.getArea() + "]");
              pageContext.getOut().println("Segment[" + content.getSegment() + "]");
              pageContext.getOut().println("<!--Body[-->" + "<br>" + content.getBody() + "<!--]-->");
              return EVAL_PAGE;
              public int doAfterBody() throws JspTagException {
              return SKIP_BODY;
              public static String shortenLink(String link)
              

    Hi Andy,
              The sequence of operations that happen when a JSP page encounters a Custome Tag are
              1. Find the class associated with the custom tag from the tld.
              2. The set and get methods that u find are for passing  the values for the tag attributes that u may need
              to pass.
              3. The Tag Lib class performs the operation specified and flushes the output to the jsp.
              For further understanding ..u can refer to these sites !!!
              http://java.sun.com/products/jsp/tutorial/TagLibrariesTOC.html
              http://www.weblogic.com/docs51/classdocs/API_taglib.html#intro
              Regards,
              Sundhar Subramanian
              Andy Ping wrote:
              > Dear all,
              >
              > I am a newbie for taglib and xml.  Today, when I read some source code of a
              > website, I found that there is a entry like
              >     "%@ taglib uri="/tlds/taglib.tld" prefix="myprefix" %>",
              > and some other entries like
              >     "<myprefix:Content  area="<%=contentArea%>"  />"
              > I opened the specifized file taglib.tld and saw a tag entry named "Content",
              > its tagclass is com.mycom.presentation.taglib.ContentTag.  Again I opend a
              > java class file "ContentTag.java" and saw some setXXX methods and doXXX
              > methods.  I donot know how is the webpage outputed.  Can someone give me a
              > detailed description about that?   I will greatly appreciate your help.
              > Some source code segments are listed as follows:
              >
              > ----------------
              > test.jsp:
              > ----------------
              > ...
              > <%@ taglib uri="/tlds/taglib.tld" prefix="myprefix" %>
              > ...
              > <td>
              >     <myprefix:Content body="<%=body%>" area="<%=contentArea%>"
              > pageName="<%=pageName%>" />
              > </td>
              > ...
              >
              > ----------------
              > taglib.tld:
              > ----------------
              > <?xml version="1.0" encoding="ISO-8859-1" ?>
              > <!DOCTYPE taglib
              >         PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
              >  "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
              > ......
              >   <tag>
              >     <name>Content</name>
              >     <tagclass>com.myprefix.presentation.taglib.ContentTag</tagclass>
              >     <bodycontent>JSP</bodycontent>
              >     <info>An tag which given the screen and element does the right content
              > thing!</info>
              >     <attribute>
              >       <name>id</name>
              >       <required>false</required>
              >       <rtexprvalue>true</rtexprvalue>
              >       <!--type>String</type-->
              >     </attribute>
              >     <attribute>
              >       <name>pageName</name>
              >       <required>false</required>
              >       <rtexprvalue>true</rtexprvalue>
              >       <!--type>String</type-->
              >     </attribute>
              >     <attribute>
              >       <name>area</name>
              >       <required>false</required>
              >       <rtexprvalue>true</rtexprvalue>
              >       <!--type>String</type-->
              >     </attribute>
              >     <attribute>
              >       <name>body</name>
              >    <required>false</required>
              >    <rtexprvalue>true</rtexprvalue>
              >       <!--type>long</type-->
              >     </attribute>
              >   </tag>
              > ......
              >
              > ----------------
              > ContentTag.java
              > ----------------
              > package com.mycom.presentation.taglib;
              >
              > import javax.servlet.*;
              > import javax.servlet.http.*;
              > import javax.servlet.jsp.JspTagException;
              > import javax.servlet.jsp.tagext.BodyTagSupport;
              > ...
              >
              > public class ContentTag extends  BodyTagSupport {
              >     private String ......;
              >     public String ......;
              >     ......
              >
              >     public ContentTag() {
              >         super();
              >     }
              >
              >     public void setPageName(String pageName) {
              >         this.pageName = pageName;
              >     }
              >
              >     public void setArea(String area) {
              >         this.area = area;
              >     }
              >
              >     public void setSegment(String segment) {
              >         this.segment = segment;
              >         if (segment!=null) // && !segment.equals("null")
              >         {
              >             this.segment_set = true;
              >         }
              >     }
              >
              >     public void setAdmin(String admin) {
              >         try{
              >             this.admin = Boolean.getBoolean(admin);
              >         } catch (Exception _) {
              >             debugCategory.debug("Setting admin err " + admin);
              >         }
              >
              >     }
              >     public void setBody(String body)
              >     {
              >         try {
              >          this.body = Long.parseLong(body);
              >         } catch (NumberFormatException ne) {
              >             debugCategory.debug("Setting body format err");
              >         }
              >     }
              >
              >     public int doStartTag() {
              >             if (contentMap == null)
              >             {
              >             }
              >    HttpSession session = pageContext.getSession();
              >             if (segment==null)
              >             {
              >                 segment =
              > (String)session.getAttribute(Parameters.segment_id);
              >             }
              >             if (currentScreen==null)
              >             {
              >                 currentScreen =
              > (String)session.getAttribute(Parameters.currentScreen);
              >             }
              >             try{
              >                 StateEngineProxy sep =
              >                     (StateEngineProxy)session.getAttribute("stateMachine");
              >                 ModelManager mm =
              > (ModelManager)session.getAttribute("modelManager");
              >                 if (sep == null||mm==null)
              >                 {
              >                     sep = new StateEngineProxy();
              >                     session.setAttribute("stateMachine", sep);
              >                     mm = new ModelManager();
              >                     mm.init(session, sep);
              >
              >                     session.setAttribute("modelManager", mm);
              >                 }
              >                 if (body !=0)
              >                 {
              >                     //content = (ContentAI)
              >                     //
              > contentMap.get(Parameters.content_id+Long.toString(body));
              >                     if (content==null)
              >                     {
              >                     debugCategory.debug("Get by Body");
              >                     mm.getContent(body);
              >                     content =
              > (ContentAI)session.getAttribute(Parameters.content);
              >
              >                     //contentMap.put(Parameters.content_id +
              > Long.toString(body), content);
              >                     file:// pageContext.setAttribute(CONTENT_MAP,
              > contentMap, myScope);
              >                     }
              >                 }
              >                 if (pageName!=null&&area!=null &&
              >                     segment!=null&&segment!=""&&area!=""&&pageName!="")
              >                 {
              >                      contentList = (Collection)
              >                          mm.getContentBySegmentPageNameAndArea(segment,
              > pageName, area);
              >                      if(contentList!=null){
              >                         Iterator it = contentList.iterator();
              >                         if (it.hasNext()) {
              >                             content = (ContentAI)it.next();
              >                             session.setAttribute(Parameters.content,
              > content);
              >                             return EVAL_BODY_TAG;
              >                         }
              >                      }
              >                 }
              >                 ...
              >            }
              >   return EVAL_BODY_TAG;
              >     }
              >
              >     public int doEndTag() throws JspTagException {
              >         current = SUPPLIERSINFORMATION;
              >         pageContext.getOut().flush();
              >         if ( content != null
              >             && !currentScreen.equals(ScreenNames.CONTENT_LIST_URL)
              >             && !currentScreen.equals(ScreenNames.CONTENT_EDIT_URL))
              >         {
              >             if ( !admin  ){
              >             // include body?
              >                 if
              > rentScreen.equals(ScreenNames.CONTENT_NEWS_URL)){
              >                     pageContext.getOut().println("<h3>" + content.getSubject() + "<br></h3>");
              >                 }
              >                 pageContext.getOut().println("<!-- Subject[" + content.getSubject() + "]");
              >                 pageContext.getOut().println("OrgID[" + content.getOrgId() + "]");
              >                 pageContext.getOut().println("LogoPath[" + content.getLogoPath() + "]");
              >                 pageContext.getOut().println("PageName[" + content.getPageName() + "]");
              >                 pageContext.getOut().println("Area[" + content.getArea() + "]");
              >                 pageContext.getOut().println("Segment[" + content.getSegment() + "]");
              >                 pageContext.getOut().println("<!--Body[-->" + "<br>" + content.getBody() + "<!--]-->");
              >             }
              >         }
              >  return EVAL_PAGE;
              >     }
              >
              >     public int doAfterBody() throws JspTagException {
              >         return SKIP_BODY;
              >     }
              >
              >     public static String shortenLink(String link)
              >     {
              >        ...
              >     }
              > }
              

  • Generating XML Output for Eclipse

    Does anyone know if you can customize RoboHelp HTML such
    that, if you generate XML output, you get your TOC in the XML
    needed for Eclipse-based online help platforms? Thanks...

    Good question. The app XML file I was referring to was the one in the source folder. It seems that Flash Builder (or something else, hard to say) is having trouble parsing the brackets and so it's preventing the test app from launching.
    I just told my project to "Execute FlexUnit Tests" again to repro the problem to verify.
    /src/FlexUnitApplication-app.xml
    Contains <content>[...]</content>
    Shows a modification date of 9:04 am (now)
    /bin-debug/FlexUnitApplication-app.xml
    Contains <content>FlexUnitApplication.swf</content>
    Shows a modification date of yesterday (when I last successfully ran the tests)
    I'm unclear why Flash Builder is modifying this file (in the source folder) at all. Should the app XMLs be read-only configurations?

  • Using a SQL data source and XML data source in the same template

    I am trying to develop a template for the Request for Quote report generated in Apps 11.5.10. I have loaded the data from the XML output into the template, but I am missing one field - I need the org_id from the po_headers table. Is it possible to use a sql data source (i.e., "select org_id from po_headers_all where po_header_id = [insert header_id from xml data]...") in addition to the xml data source to populate the template at runtime? When you use the Insert > SQL functionality is it static at the time the template is created, or does it call to the database at runtime? I've looked through all the docs I could find, but this isn't clear.
    Thanks for any help or suggestions you may have.
    Rhonda

    Hi Pablo
    Thats a tough one ... if you go custom with a data template you will at least get support on the data template functionality ie you have a problem when you try and build one. You will not get support on the query inside the data template as you might have gotten with the Oracle Report, well you could at least log a bug against development for a bad query.
    Eventually that Oracle Report will be converted by development anyway, theres an R12 project going on right now to switch the shipped OReports to data templates. AT this point you'll be fully supported again but:
    1. You have to have R12 and
    2. You'll need to wait for the patch
    On reflection, if you are confident enough in the query then Oracle will support you on its implementation within a data template. Going forward you may be able to swap out your DT and out in the Oracle one without too much effort.
    Regards, Tim

Maybe you are looking for

  • Color issue in an InDesign CS4 document

    Something strange is happening in an InDesign CS4 document: All of my my objects that use RGB color swatches appear darker (or grayer) in the document than the RGB swatches themselves. It might be that all of the objects are converting to CMYK and I'

  • Photo Album from Internet

    Hi, wondered if anyone could help. We are trying to deploy photos of students to staff on their school iPads. The idea is they can be used in something like idoceo. Yes we could send out all pictures but with 1200 students, a lot would be unnecessary

  • Infoview error after DB update

    Hi All, I facing a problem with Infoview. After th DB update it is not able to extract data giving the error "WIS 10901-Error on fetch". The day after the DB update everything works fine again. This problem is only on Infoview. Web Intelligence Rich

  • JDev3: http basic auth

    Can the web-to-go(?) httpd in JDev3 be configured to support http basic auth? How do I configure it to setup my realms? thnx.

  • I just got my printer to day and can not get it to work please help p.s. email nsdolan@comcas

    THIS IS A HP DESKJET 3050A ALL-IN-ONE J611 SERIES