Xslt stylesheets

I am using dbms_xmlquery function to create this xml document:
<OrderDetails>
<OrderNumber>12345</OrderNumber>
<Header>
<Header_ROW num="1">
<Customer>JESQ</Customer>
<Division>5</Division>
</Header_ROW>
<Header_ROW num="2">
<Customer>KEST</Customer>
<Division>6</Division>
</Header_ROW>
</Header>
</OrderDetails>
The problem is the DTD requires me to repeat the Header element and drop Header_ROW element. The correct output needs to look like this:
<OrderDetails>
<OrderNumber>12345</OrderNumber>
<Header>
<Customer>JESQ</Customer>
<Division>5</Division>
</Header>
<Header>
<Customer>KEST</Customer>
<Division>6</Division>
</Header>
</OrderDetails>
Does anybody know how to write a stylesheet to remove those tags withouse using objects?
Thanks in advance.

Hello Irina,
Try the following in the StyleSheet...
<xsl:template match="Header">
<xsl:for-each select="Header_ROW">
<Header>
<Customer><xsl:value-of select="Customer"/></Customer>
<Division><xsl:value-of select="Division"/></Division>
</Header>
</xsl:for-each>
</xsl:template>
This may work !!!
Rajat,
OTN Team @IDC Thank you so much, I modified it a little and it worked.
That helped to get rid of Header_ROW tag, but now there is another problem. I have this output:
<Details>
<Details_ROW>
<ItemNumber>1</ItemNumber>
<LineItem>
<LineItem_ROW>
<Part>XYZ</Part>
</LineItem_ROW>
</LineItem>
<ItemNumber>2</ItemNumber>
<LineItem>
<LineItem_ROW>
<Part>YRUE</Part>
</LineItem_ROW>
</LineItem>
</Details_ROW>
</Details>
I wrote this script to get rid of Details_ROW and LineItem_ROW tag:
<xsl:for-each select="//Details_ROW">
<Details>
<ItemNumber><xsl:value-of select="ItemNumber"></ItemNumber>
<xsl:for-each select="//LineItem_ROW">
<LineItem><Part><xsl:value-of select="Part"></Part></LineItem>
</xsl:for-each>
</Details>
</xsl:for-each>
The problem is that instead of printing one part inside of each LineItem tags, it prints 2 different parts inside of each LineItem tag.
Any ideas on that?

Similar Messages

  • OPM gives error when trying to use XSLT stylesheet

    Hi,
    I am trying use a simple XSLT stylesheet into an OPM project and see the result in the web determination screen.But when ever i am clicking on the link that is created when i compile the project with the XSL file, i am getting the error
    "An error occurred trying to process your request.
    This error has been logged and is available in the application logs.
    For support and assistance please contact [email protected]"
    I have kept the XSL file inside the "templates" folder in "include" folder.
    I am using a very simple one i.e
    <?xml version="1.0" encoding="UTF-8" ?>
    <xsl:stylesheet
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    version="1.0" >
    <xsl:output method="html"/>
    </xsl:stylesheet>
    How do I find what the error is and what do I need to do to solve this?
    Thanks and regards
    Sagnik

    Yes, now that above issue is solved and now when I click on the "HTML" or "PDF" link, I think some file is being generated but not properly.
    For HTML, I am getting blank page error and for PDF I am getting "file is damaged" error.May be, the xslt stylesheet that I am using is wrong, but I am absolutley stuck with this. I have tried many different formats of xlst stylesheets, but none seem to be working.
    pasting the two xslts below:
    *<?xml version="1.0" encoding="UTF-8" ?>*
    *<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">*
    *<xsl:output method="html"/>*
    *<xsl:template match="/">*
    *<xsl:apply-templates/>*
    *</xsl:template>*
    *<html>*
    *<body>*
    *<xsl:template match="session">*
    *<session><xsl:apply-templates/></session>*
    *</xsl:template>*
    *<xsl:template match="entity name">*
    *<entity-name align="center"><xsl:apply-templates/></entity-name>*
    *</xsl:template>*
    *<xsl:template match="instance label">*
    *<instance-label align="center"><xsl:apply-templates/></instance-label>*
    *</xsl:template>*
    *<xsl:template match="attribute id">*
    *<attribute-id><xsl:apply-templates/></attribute-id>*
    *</xsl:template>*
    *<xsl:template match="date-val">*
    *<date-val><xsl:apply-templates/></date-val>*
    *</xsl:template>*
    *<xsl:template match="text-val">*
    *<text-val><xsl:apply-templates/></text-val>*
    *</xsl:template>*
    *<xsl:template match="unknown-val">*
    *<unknown-val><xsl:apply-templates/></unknown-val>*
    *</html>*
    *</body>*
    *</xsl:template>*
    *</xsl:stylesheet>*
    and
    *<?xml version="1.0" encoding="UTF-8" ?>*
    *<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">*
    *<xsl:output method="html"/>*
    *<xsl:template match="/">*
    *<html>*
    *<body>*
    *<xsl:template match="session">*
    *<session><xsl:apply-templates/></session>*
    *</xsl:template>*
    *<enityName>*
    *<xsl:for-each select="entity name">*
    *<instancelabel>*
    *<xsl:for-each select="instance label">*
    *<attribute-id>*
    *<xsl:for-each select="attribute id">*
    *<text-val>*
    *<xsl:value-of select="text-val"/>*
    *</text-val>*
    *<date-val>*
    *<xsl:value-of select="date-val"/>*
    *</date-val>*
    *</xsl:for-each>*
    *</attribute-id>*
    *</xsl:for-each>*
    *</instancelabel>*
    *</xsl:for-each>*
    *</enityName>*
    *</body>*
    *</html>*
    *</xsl:template>*
    *</xsl:stylesheet>*
    also pasting the source xml file I am trying to convert.
    - <session xmlns="http://oracle.com/determinations/engine/relational/sessiondata/10.0" sessionDateTime="2010-12-17T11:34:08" locale="en-US" rulebase="Barclay_2910" rulebase-build="2010-12-17 06:04:02Z">
    - <entity name="global">
    - <instance label="global">
    - <attribute id="S_Other_Type_of_Business1">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_Nature_of_Business">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="N_Desired_Review_Period">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_I_Confirm">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_new_investors_ID_Vd">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_Address">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="N_Total_Amount_of_Capital_Invested">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_State_Business_use_Trading_name1">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_Correspondence_Postcode">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_Country">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_BTA_Code1">
    *<text-val>Central Government</text-val>*
    *</attribute>*
    - <attribute id="S_Correspondence_Address">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="N_Total_Amount_Capital_Invested_non_Corporate">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_Business_Organisation">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_State_Business_use_Trading_name">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_Business_Organisation1">
    *<text-val>1</text-val>*
    *</attribute>*
    - <attribute id="S_Date_Established1">
    *<date-val>2010-01-01</date-val>*
    *</attribute>*
    - <attribute id="S_Telephone_Number">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_Date_of_Incorporation1">
    *<uncertain-val />*
    *</attribute>*
    - <attribute id="S_Date_of_Incorporation">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_Postcode">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_Start_Up_Type_Non_Corporate">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_Previous_registered_names">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_Other_Investments_non_corporate">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_Registered_Number">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="b8@Properties_PropBkACC_xsrc">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_Registered_Number1">
    *<text-val />*
    *</attribute>*
    - <attribute id="b6@Properties_PropBkACC_xsrc">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_Business_use_Trading_name1">
    *<text-val>Yes</text-val>*
    *</attribute>*
    - <attribute id="S_Registered_address_Main_Trading">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_select_the_high_risk_industry_operated1">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_Start_Up_Type">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_Priority1">
    *<text-val>Standard</text-val>*
    *</attribute>*
    - <attribute id="S_Correspondence_address_same_Main_Trading">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_Additional_Source_Capital">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_Previous_Sort_Code">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_Source_of_funds">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_Choose_Start_Up1">
    *<text-val>Start Up/New Entity/Businesses</text-val>*
    *</attribute>*
    - <attribute id="S_Registered_Country">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_Fax_Number">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_Contributer">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_business_organisations_annual_turnover1">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_Previous_Account_number_Roll_Number">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_Previous_registered_names1">
    *<text-val />*
    *</attribute>*
    - <attribute id="b9@Rules_startuprule_doc">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_CIS_Record1">
    *<text-val>Yes</text-val>*
    *</attribute>*
    - <attribute id="S_Employees_Members1">
    *<text-val>1-9</text-val>*
    *</attribute>*
    - <attribute id="S_shareholders_Contributors">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_Business_operate_high_risk_industry">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="b7@Properties_PropBkACC_xsrc">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_select_the_high_risk_industry_operated">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_business_organisations_annual_turnover">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_Registered_Postcode">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_Nature_of_Business1">
    *<text-val />*
    *</attribute>*
    - <attribute id="S_Country_of_Incorporation1">
    *<text-val>1</text-val>*
    *</attribute>*
    - <attribute id="N_issued_share_capital_company">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_Correspondence_Country">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_Type_of_Business1">
    *<text-val>Sole Trader</text-val>*
    *</attribute>*
    - <attribute id="S_Web_Address">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_Registration_Number1">
    *<text-val />*
    *</attribute>*
    - <attribute id="S_Business_operate_high_risk_industry1">
    *<text-val>Yes</text-val>*
    *</attribute>*
    - <attribute id="S_Additional_Source_Capital1">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="Source_of_funds_non_Corporate">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_Country_of_Incorporation">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_if_registered_address">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_Date_Established">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_Registration_Number">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_ID_VD">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_I_confirm_form_287">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_Other_Investments">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_I_Confirm1">
    *<text-val>Yes</text-val>*
    *</attribute>*
    - <attribute id="S_Date_Form_Lodged">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_Registered_Address">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="S_Other_Type_of_Business">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="N_start_up_capital_business">
    *<unknown-val />*
    *</attribute>*
    - <attribute id="N_Approx_transferring_balance">
    *<unknown-val />*
    *</attribute>*
    *</instance>*
    *</entity>*
    *</session>*
    Edited by: Sagnik on Dec 21, 2010 12:06 AM

  • Can I use some JavaScript in an XSLT stylesheet?

    I have two related (I think) problems.
    I am using Dreamweaver CS4 in Windows XP, Service Pack 3.
    I have created an XSLT stylesheet that transforms a simple XML file into HTML. I have a very short JavaScript that writes the day's date into the document. It is a script that I have used in many other HTML pages. The XSLT stylesheet also has a Spry widget, an accordion, in one of its DIV elements. Originally, I developed the accordion as part of a Dreamweaver template, and it works fine there. I cannot get the scripts to work completely in Firefox and Internet Explorer.
    If I just link in the external JavaScript files, the XML document displays correctly in both browsers. Note that MY external JavaScript file is the definition of one function, today(). The other JavaScript file is the Spry js file for the accordion widget. Of course the widget displays, but is not functional.
    If I add the script to display the date (document.write(today()); document.close();) in one of the DIVs, Internet Explorer(7) displays the date correctly in the correct location AND displays all the other content correctly, including the accordion, which of course is not functional. However, FireFox (latest version) displays ONLY the date in a white background and NOTHING else, such as background image, other DIVs with content, the accordion widget, etc.
    If I add the script to instantiate the accordion widget, FireFox displays the date and nothing else, as before. Internet Explorer displays the date, the other content, and the accordion widget, as before, but the widget is still not functional, that is, the accordion does not close or open when the panels are clicked.
    So, do I have to be extra careful on where I place scripts in an XSLT? Or is there some reason why scripts in an XSLT file do not work? It seems that once the browser transforms the XML file into HTML, which includes the scripts, it should display correctly.
    Thanks,
    Van

    Not sure what you mean by a CDATA section. But here is the XSLT file showing the template for the root element. The script is included using a <script> element, inserted in the <head> element. Should it be some place else?
    <?xml version="1.0" encoding="utf-8"?><!-- DWXMLSource="Trial procedure.xml" -->
    <!DOCTYPE xsl:stylesheet  [
        <!ENTITY nbsp   "&#160;">
        <!ENTITY copy   "&#169;">
        <!ENTITY reg    "&#174;">
        <!ENTITY trade  "&#8482;">
        <!ENTITY mdash  "&#8212;">
        <!ENTITY ldquo  "&#8220;">
        <!ENTITY rdquo  "&#8221;">
        <!ENTITY pound  "&#163;">
        <!ENTITY yen    "&#165;">
        <!ENTITY euro   "&#8364;">
    ]>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="html" encoding="utf-8" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
    <xsl:template match="/">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title><xsl:value-of select="MovexUser/Title"/></title>
    <script src="SpryAssets/SpryAccordion.js" type="text/javascript"></script>
    <link href="resources/navigatorSpryAccordion.css" rel="stylesheet" type="text/css" />
    </head>
    <body id="body">
    --- The JavaScript funtions are called inside DIV elements here. ---
    </body>
    </html>
    </xsl:template>
    </xsl:stylesheet>

  • Calling java instance methods in XSLT stylesheet

    HI
    I know this has been answered in this forum but I cnanot get it to work.
    Before calling the transform() method on my transformer instance I do the following
    transformer.setParameter( "Confirm", confirm)confim is an instance of one of my own classes. I want to get the
    XSLT stylesheet to call a method on this object. The method sig is
    public void setTitle(String title)Accordingly in my stylesheet I do the following
    <xsl:param name="Confirm"/>having already declared the java namespace in my stylesheet element as xmlns:java="java", and later on call the setTitle method
    <xsl:value-of select="java:setTitle($Confirm,$Title)/>where $Title is another var generated in the XSLT.
    This should work, right? Well I get an error
    'The first argument to the non-static Java function 'setTitle' is not a valid object reference.'But it is as I can do this
    <xsl:value-of select="$Confirm"/>Thanks
    Mark

    Hi !
    I've being trying to use a java class into xsl but without success.
    If anybody can help me to no how do I have to organize the files (.class, .xsl)????
    My organization is like this
    c:
    WEBAPP
    WEB-INF (here I have the .xml and .xsl)
    classes
    com
    example (here I have the .class)
    And I use it as follows:
    --------------------------------------xslextension_prueba.XSL------------------ ---------------------------
    <?xml version="1.0" encoding="utf-8"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:java="java"
    extension-element-prefixes="java"
    version="1.0">
    <xsl:output method="html"/>
    <xsl:template match="/">
    <html>
    <body bgcolor="#FFFFFF">
    <h2>The smoking calendar</h2>
    <h3>
    <xsl:value-of select="java:Date.new()"/>
    </h3>
    </body>
    </html>
    </xsl:template>
    </xsl:stylesheet>
    --------------------------------------------XML-------------------------------- ----
    <?xml version="1.0" encoding="UTF-8"?>
    <?xml-stylesheet type="text/xsl" href="xslextension_prueba.xsl"?>
    <articles>
    <article>
    <title>Using Web Services</title>
    <author>T. Cowan</author>
    <date>11/30/01</date>
    <text>
    content of article.
    </text>
    </article>
    <article>
    <title>Java May Be Just a Fad</title>
    <author>J. Burke</author>
    <date>08/15/95</date>
    <text>
    content of article.
    </text>
    </article>
    </articles>
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!AND I GET THIS ERROR!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    E The URI java does not identify an external Java class
    THANKS FOR YOUR HELP......

  • Default XSLT Stylesheet to transform BW XML Data?

    I'm currently working on a deafult XSLT Stylesheet to convert a BW XML Query Result Set into an html grid.
    [code]
    <!--
    #==========================================================================
    XSL Transformation that displays
    Template Properties, List of Data Providers and List of Items
    #==========================================================================
    -->
    <xml id="xsl_transform_1">
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:variable name="header">
    <tr bgcolor="white"> <xsl:for-each select="//RRWS_SX_TUPLE[1]/*">
      <td>
      <xsl:value-of select="local-name()"/>
      </td>
    </xsl:for-each>
    </tr>
    </xsl:variable>
    <xsl:template match="/">
    <table bgcolor="gold" border="1">
    TESTVALUE -
    <tr>
      <xsl:copy-of select="$header" /> <xsl:apply-templates />
    </tr>
    <xsl:for-each select="//RRWS_SX_TUPLE">
          <tr>
            <td><xsl:value-of select="TUPLE_ORDINAL"/></td>
              <xsl:for-each select="//RRWS_S_CELL">           
              <td><xsl:value-of select="CELL_ORDINAL"></td>
              </xsl:for-each>
            <td><xsl:value-of select="TUPLE_ORDINAL"/></td>
            <td><xsl:value-of select="CHANM"/></td>
            <td><xsl:value-of select="CAPTION"/></td>
            <td><xsl:value-of select="CHAVL"/></td>
            <td><xsl:value-of select="CHAVL_EXT"/></td>
            <td><xsl:value-of select="NIOBJNM"/></td>
            <td><xsl:value-of select="TLEVEL"/></td>
            <td><xsl:value-of select="DRILLSTATE"/></td>
            <td><xsl:value-of select="OPT"/></td>
            <td><xsl:value-of select="SIGN"/></td>                    
            <td><xsl:value-of select="ATTRIBUTES"/></td>     
          </tr>
    <xsl:for-each select="//RRWS_S_CELL">
         <tr>     
            <td><xsl:value-of select="CELL_ORDINAL"/></td> 
            <td><xsl:value-of select="VALUE"/></td>            
            <td><xsl:value-of select="FORMATTED_VALUE"/></td> 
            <td><xsl:value-of select="VALUE_TYPE"/></td> 
            <td><xsl:value-of select="CURRENCY"/></td> 
            <td><xsl:value-of select="UNIT"/></td> 
            <td><xsl:value-of select="MWKZ"/></td> 
            <td><xsl:value-of select="NUM_SCALE"/></td> 
            <td><xsl:value-of select="NUM_PREC"/></td> 
            <td><xsl:value-of select="CELL_STATUS"/></td> 
            <td><xsl:value-of select="BACK_COLOR"/></td> 
         </tr>
    </xsl:for-each>
    </table>
    </xsl:template>
    <xsl:template match="RRWS_S_CELL/*">
    <td> <xsl:value-of select="." /> </td>
    </xsl:template></xsl:stylesheet>
    </xml>
    [/code]
    I've started this, but I need to join the top tree with the bottom. Right now I'm just flattening the tree. Does anyone know if any work has been done in this area? I'm looking to create these XSLT Transforms. Also, I'd like to create generic javascript functions that I can use as an include, such as
    function join_BW_Table(table1, table2, fieldtojoin, typeofjoin)
    This would allow anyone to generically combine BW Data from multiple sources all on the FrontEnd and render it all as an html table. My ultimate goal would be have all this in includes and available for all BW Reporting. Anyone have any thoughts on:
    1. Has this been done before?
    2. If it hasn't, anyone have comments on how I can combine the 2 tables that I'm rendering with the attached XSLT transform?
    I'm running these transforms via a javscript function on the load of the html page.
    Prakash

    Prakash,
    did you ever compile the Stylesheet?  I am looking for an alternative way to format the pre-compiled XML file from the Report Designer.  The more complex my report is, the less robust the application becomes.
    Your insight would be greatly appreciated.
    Thank you

  • Use Java to process the XSLT stylesheet

    Background:-
    I used Java to design a very simple Interface, which was composed of two components, one is an editable comboBox, the other is a button. What I want to achieve is selecting the value in the combobox and clicking the button, then it will achieve the relevant transformation process against the value selected from the comboBox.
    Implementation:-
    The transformation process is to extracting a set of information about a certain bird from an XML document, which contains many birds' information, to form a new XML document of one bird. The bird that I want to transform is listed in the comboBox and can be selected there. I use the Java to control the transformation process. My design is: I use Java programme to read the selected comboBox's value (bird name) and pass this value to the XSLT stylesheet, which is used to transform the XML document to a new XML document. What I have implemented: The Java programme has successfully controlled the transformation process, but I have defined in the XSLT stylesheet the bird name in advance. So the transformation is limited.
    What I want:-
    What I want is the transformation process will be carried out based on the value (bird name) read from the comboBox on the interface. And I hope to use Java to achieve this design!
    XSLT stylesheet code:-
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
    <xsl:template match="node()">
         <xsl:apply-templates/>
    </xsl:template>
    <xsl:template match="class[own-slots/own-slot/entry/value = 'Barn_swallow']">
         <xsl:copy-of select="."/>
    </xsl:template>
    </xsl:stylesheet> I am very appreciated if you can provide me some helps kindly!
    Thanks a lot! Waiting for your nice suggestions!
    David

    I mean, you can find the bird name(Barn_swallow) in my
    attached XSLT stylesheet code. This name was actually
    defined in advance. What I want to perform now is to
    use the Java program to get the bird name from the
    comboBox (you have gave out the method) and pass it to
    the XSLT(actually needed to implement by Java), then
    continue to use the Java programe to achieve the
    transformation process (this step, I think, has been
    achieved.) Obviously, how to perform the second step
    "pass it to the XSLT" is the current task!What can you do already? Can you get a Transformer object from a TransformerFactory? If so, then simply call its setParameter("bird", "Barn Swallow") method. You'll have to declare a top-level xsl:param element whose name is "bird" in your XSL transformation, which you can then use as if it were a variable.

  • XSQL/XSL help (iPlanet): Error processing XSLT stylesheet

    hello-
    i am running XSQL and XSL pages on an iPlanet web server and i am receiving the following error:
    XSQL-011: Error processing XSLT stylesheet: /xslt/page/xsl_page.xsl
    XSL-1002: Error while processing include XSL file (\xslt\util\other_xsl.xsl (The system cannot find the path specified)).
    here's the deal: other_xsl.xsl (the one it says it can't find) is there in the right place, but the web server is not looking from the document root (which IS set correctly on the web server). it is looking for the file starting at the current directory.
    for example, the server is processing /xslt/page/xsl_page.xsl. it is then looking for the include file using this path: /xslt/page/XSLT/UTIL/other_xsl.xsl --- instead of the correct /xslt/util/other_xsl.xsl.
    the include statement uses the full path starting from the web root (<xsl:include href="/xslt/util/other_xsl.xsl"/>)
    any help would be appreciated.

    thanks for the response. the /xslt/util directory is browsable by the web server, and using relative paths does work (that is one of the ways i discovered what was going on in the first place), but i am rebuilding a machine and redeploying an exisiting application-- the intention is to not re-write any code.
    the part that is most confusing is that the current code/directory structure works on the current box, but not on my rebuilt box. i have gone through every config file with a fine tooth comb. it appears that the current box and my build are set up exactly the same-- but, like i said, on one it reads the include-path from the document root, on the other from the current directory.
    so confusing.

  • Can I have JavaScript in an XSLT stylesheet?

    I posted this first on the Dreamweaver forum, and it was suggested that I post here instead...
    I have two related (I think) problems.
    I am using Dreamweaver CS4 in Windows XP, Service Pack 3.
    I have created an XSLT stylesheet that transforms a simple XML file into HTML. I have a very short JavaScript that writes the day's date into the document. It is a script that I have used in many other HTML pages. The XSLT stylesheet also has a Spry widget, an accordion, in one of its DIV elements. Originally, I developed the accordion as part of a Dreamweaver template, and it works fine there. I cannot get the scripts to work completely in Firefox and Internet Explorer.
    If I just link in the external JavaScript files, the XML document displays correctly in both browsers. Note that MY external JavaScript file is the definition of one function, today(). The other JavaScript file is the Spry js file for the accordion widget. Of course the widget displays, but is not functional.
    If I add the script to display the date (document.write(today()); document.close();) in one of the DIVs, Internet Explorer(7) displays the date correctly in the correct location AND displays all the other content correctly, including the accordion, which of course is not functional. However, FireFox (latest version) displays ONLY the date in a white background and NOTHING else, such as background image, other DIVs with content, the accordion widget, etc.
    If I add the script to instantiate the accordion widget, FireFox displays the date and nothing else, as before. Internet Explorer displays the date, the other content, and the accordion widget, as before, but the widget is still not functional, that is, the accordion does not close or open when the panels are clicked.
    So, do I have to be extra careful on where I place scripts in an XSLT? Or is there some reason why scripts in an XSLT file do not work? It seems that once the browser transforms the XML file into HTML, which includes the scripts, it should display correctly.
    For now, I am trying to create a whole page XSLT, not fragments.
    Thanks,
    Van

    Not sure what you mean by a CDATA section. But here is the XSLT file showing the template for the root element. The script is included using a <script> element, inserted in the <head> element. Should it be some place else?
    <?xml version="1.0" encoding="utf-8"?><!-- DWXMLSource="Trial procedure.xml" -->
    <!DOCTYPE xsl:stylesheet  [
        <!ENTITY nbsp   "&#160;">
        <!ENTITY copy   "&#169;">
        <!ENTITY reg    "&#174;">
        <!ENTITY trade  "&#8482;">
        <!ENTITY mdash  "&#8212;">
        <!ENTITY ldquo  "&#8220;">
        <!ENTITY rdquo  "&#8221;">
        <!ENTITY pound  "&#163;">
        <!ENTITY yen    "&#165;">
        <!ENTITY euro   "&#8364;">
    ]>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="html" encoding="utf-8" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
    <xsl:template match="/">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title><xsl:value-of select="MovexUser/Title"/></title>
    <script src="SpryAssets/SpryAccordion.js" type="text/javascript"></script>
    <link href="resources/navigatorSpryAccordion.css" rel="stylesheet" type="text/css" />
    </head>
    <body id="body">
    --- The JavaScript funtions are called inside DIV elements here. ---
    </body>
    </html>
    </xsl:template>
    </xsl:stylesheet>

  • Pass object to xslt stylesheet and invoke its methods

    I'd like to pass an external created object to a xslt stylesheet to dynamically modify the xslt file at run time. After searching around for weeks, I'm really desperate.
    I used Xalan transformer's method setParameter(name, obj) to initialize a variable in xslt file with this object. Then the object's method was invoked.
    The class that I want to invoke the method:
    class test{
    private String testString = "abc";
    public String valueOf(){
    return testString;
    xslt file:
    <xsl:param name="myType"></xsl:param>
    <<xsl:variable name="new-pop"
    select="my-class:valueOf($myType)">
    Any help is greatly appreciated.
    Thank you.
    Message was edited by:
    Orbital
    Message was edited by:
    Orbital

    Thank sabre. I have looked through your link.
    The problem is for all the info I knew, we can only
    create a new object inside the stylesheet using new()
    and then invoke this particular object's instance
    method.
    However, I want to pass an already created java
    object into the stylesheet and then invoke its
    method.
    Xalan seems to not allow this. I have tried to pass
    an object as the parameter of
    transformer.setParameter(name, object) but it doesn't
    work.
    Any one know what 3rd party transformer that allow to
    pass object directly into xslt?setParameter will work... in your XSL, you should have
    <xsl:param name="myParam" />set the parameter in your transformer like what you had in your post...
    In your XSL header, you must declare the your Java object namespace and path, such as:
    xml:myJavaObject= "com.MyCompany.MyJavaObject"then in your template or anywhere that you want to use your object, you should have:
    <xsl:variable name="runningMyMethod" select="myJavaObject:myJavaMethod($myParam)" />The XSL will treat $myParam as the instance object, if there is any other method parameters needed to be passed in do:
    <xsl:variable name="runningMyMethod" select="myJavaObject:myJavaMethod($myParam, 'blah', 'blah')" />Good luck.

  • How to write DBUri-refs in XSLT stylesheets ?

    The "XDB Developers Guide" documentation says on page 12-18
    >
    The application can use DBUriType objects:
    To make references, such as import or include, to related XSL stylesheets. You can encode these references within the XSL stylesheet itself.
    following this i added string like this to my stylesheet
    <xsl:apply-templates select="document('/ORADB/SCOTT/STYLESHEET_TAB/ROW[ID=1]/STYLESHEET/text()')" mode="include"/>
    <xsl:cinclude href="/ORADB/SCOTT/STYLESHEET_TAB/ROW[ID=1]/STYLESHEET/text()"/>
    But when XSLT processor reaches this, it fails.
    I also even tried like this
    <xsl:include href="/ORADB/SCOTT/STYLESHEET_TAB/ROW[ID=1]/STYLESHEET/text()"/>
    but result is the same ;(((
    Generally - is there ANY way XSLT processor can deal with stylesheet which contains
    DBURI references to another stylesheets stored in XMLTYPE columns ?
    I'm currently in charge to develop a content management system for a huge corporate site,
    so i'm VERY interested to know - does this feature really exists on Oracle 9.2 ?
    Please ansver ASAP.

    i'm using PL/SQL based XSLT engine through
    XMLTransform function, since these SQLX functions give me more flexibility
    There is no much gain in using DBMS_XMLGEN, since in core itselt it uses the same SQLX functions.
    I'd also prefer not to use XDB-like way to access XMLTYPE objects, since it causes much overhead( just imagine - extract, serialize, send to servlet, then get back through HTTP-request, parse, and finally include it into stylesheet.
    HHTP access to XMB is preferrable in case external applications, meanwhile my is PL/SQL based.
    Maybe you can give me a showcase or a simpiest working
    example using document() function with DBUri in PL/SQL XSLT engine ?

  • XSLT stylesheet template for Endeca Records

    Endeca Forge provides a Record Adapter which can load XML data, transformed (if required) to Endeca's XML record format by an XML Stylesheet Template (XSLT). This provides a way of getting XML into Endeca with a minimum of fuss, for data analysis, PoCs and for modest amounts of XML data in production applications.
    There was an XSLT template posted to Endeca Eden prior to the acquisition. The thread is still available at:
    http://eden.endeca.com/web/eden/forums/message_boards/message/99120
    Does anyone have a copy of the template?
    TG

    Hi TG,
    Template XSLT below. Its main feature is that it attempts to be XSLT-agnostic, other than identification of the start-record element/x-path. It could be optimized for specific XML structures, or modified to support more complex XML data.
    Note also the remarks about XSLT and larger XML data - as your XML source data gets larger, XSLT will become less attractive, and you'll want to implement a streaming or pull-parser approach (SAX, StAX).
    Best
    Brett
    <?xml version="1.0" encoding="utf-8"?>
    <!-- Copyright 2012 Oracle, Inc. All Rights Reserved. -->
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        <xsl:output method="xml" indent="yes" doctype-system="records.dtd" />
         <!--
              ========== About this stylesheet ==========
              This is a generic stylesheet for transforming an XML file into the XML record format accepted by Endeca Forge.
              The stylesheet is designed to be reasonably agnostic about the source XML format: the main configuration required is to identify
              one or more repeating record elements in the source XML.  The stylesheet creates the root RECORDS element, enclosing one RECORD element for each
              repeating element.
              Each RECORD element is then assigned any number of PROP name-value pairs created for each property, with each PROP containing
              a NAME attribute and a PVAL.  The stylesheet effectively "flattens" the XML into a RECORD, recursively fetching sub-elements and creating
              properties named according to the hierarchical path (think XPath).
              ========== Stylesheet configuration ==========
              Add your base source repeating elements as an xpath selector at ADD RECORD SELECTORS HERE below.
              The default example in the template is "item", which suites an RSS 2.0 feed.
              By default, the template will use full path property names.  To change to simple property names, change the variable
              use-simple-prop-names below to true().
              You can also change the path dividers used in full property names - see path-divider and attribute-divider variables below.
              ========== Examples ==========
              The first example used is an RSS 2.0 feed (note that there are other Endeca adapters for this type of data).
              Using full property names, this will produce records with the following properties:
              rss_channel_item_title
              rss_channel_item_description
              rss_channel_item_link
              rss_channel_item_guid_@isPermaLink
              and so on.  With simple prop names, only the last part of the name is used (after the last _ or @).
              The second example (sample.xml and sample_records.xml) shows how nested repeating elements within a record are folded-down to
              a multi-value property.
         -->
         <!-- change select to true() to use simple prop names -->
         <xsl:variable name="use-simple-prop-names" select="false()" />
         <xsl:variable name="path-divider">
              <xsl:text>_</xsl:text>
         </xsl:variable>
         <xsl:variable name="attribute-divider">
              <xsl:text>_@</xsl:text>
         </xsl:variable>
         <xsl:template match="/">
              <xsl:element name="RECORDS">
                   <!-- apply templates for each "repeating element" representing a single record -->
                   <!-- ADD RECORD SELECTORS HERE -->
                   <xsl:apply-templates select="//item" />
              </xsl:element>
         </xsl:template>
         <!-- one template with RECORD element for each template type applied above -->
         <xsl:template match="item">
              <xsl:element name="RECORD">
                   <xsl:call-template name="leaves-auto-subpaths" />
              </xsl:element>
         </xsl:template>
        <!-- calls the prop template for each leaf -->
        <xsl:template name="leaves-auto-subpaths">
            <!-- select all attributes-->
            <xsl:for-each select="@*">
                <xsl:call-template name="prop" />
            </xsl:for-each>
            <!-- select all leaf nodes -->
            <xsl:for-each select="*[not(*) and . != '']">
                <xsl:call-template name="prop" />
            </xsl:for-each>
            <!-- auto recurse subpaths -->
            <xsl:for-each select="*[*]|*[@*]">
                <xsl:call-template name="leaves-auto-subpaths" />
            </xsl:for-each>
        </xsl:template>
        <!-- creates the PROP element and calls prop-name and prop-pval -->
        <xsl:template name="prop">
            <xsl:element name="PROP">
                 <xsl:if test="$use-simple-prop-names">
                      <xsl:call-template name="prop-name-simple" />
                 </xsl:if>
                 <xsl:if test="not($use-simple-prop-names)">
                      <xsl:call-template name="prop-name-full" />
                 </xsl:if>
                <xsl:call-template name="prop-pval" />                 
            </xsl:element>
        </xsl:template>
        <!-- creates the NAME element -->
        <xsl:template name="prop-name-simple">
            <xsl:attribute name="NAME">
                <xsl:value-of select="name()" />
            </xsl:attribute>
        </xsl:template>
        <!-- creates the NAME attribute -->
        <xsl:template name="prop-name-full">
            <xsl:attribute name="NAME">
                 <!-- walk from root to current node, print name and underscore  -->
                <xsl:for-each select="ancestor-or-self::*">
                    <xsl:value-of select="name()" />
                    <xsl:if test="position() != last()">
                        <xsl:value-of select="$path-divider" />
                    </xsl:if>
                </xsl:for-each>
                <!-- pick up attributes -->
                <xsl:if test="not(namespace::*)">
                    <xsl:value-of select="$attribute-divider" />
                    <xsl:value-of select="name()" />
                </xsl:if>
            </xsl:attribute>
        </xsl:template>
        <!-- creates the PVAL element -->  
        <xsl:template name="prop-pval">
            <xsl:element name="PVAL">
                <xsl:value-of select="." />
            </xsl:element>
        </xsl:template>
    </xsl:stylesheet>

  • ** How to use XSLT Stylesheet Ver 2.0 functions in XI 7.0?

    Hi friends,
          There are numerous built-in functions in SALT ver 2.0. Functions like upper-case, index-of, etc. They are very useful when use XSLT Mapping. But, unfortunately we are not able to use this functions in XSLT Mapping in XI. i.e XI throws an error like 'Transformation Configuration Error Occured'.
          Friends your experience, kindly share your idea how do we to do in XSLT? Is any other alternate way there ?
    Thanking you.
    Yours friendly,
    Jeg P.

    You could of course try to import your own Java XSLT 2.0 processor in a .jar file and in the same or another .jar, you could import the .xslt files.
    Regards,
    Henrique.

  • Does Firefox not have support for unparsed-entity-url() (XSLT stylesheet), if not is there a plan to implement it?

    We support a site that generates pages based on XML and XSLT where XSLT uses unparsed-entity-url() but it dont seem to work in Firefox.

    By posting on the forum you are asking the wrong people. We are Apple users, not employees. If you want to provide this feedback directly to Apple you should leave the feedback at:
    http://www.apple.com/feedback/iphone.html

  • When clicking one of the link od WEb Application I am getting this error: Error loading stylesheet: Parsing an XSLT stylesheet failed. Same link works fine in IE

    I am using McAfee EPO 4.6.0 when trying to view agent log receiving the error above. I can view this log in IE...

    I am using McAfee EPO 4.6.0 when trying to view agent log receiving the error above. I can view this log in IE...

  • How can I display XSLT transformer errors on a web page ?

    Hi,
    I have some JSP pages that access DB, create an XML based on DB data and then transform it into HTML through an XSLT stylesheet. Developing the XSL code it's easy to make mistakes and generate errors on trasformation, but what I receive on the web page is only a "Could not compile stylesheet" TransformerConfigurationException, while the real cause of the error is displayed only on tomcat logs. This is the code for transformation:
    static public void applyXSLT(Document docXML, InputStream isXSL, PrintWriter pw) throws TransformerException, Exception {
            // instantiate the TransformerFactory.
            TransformerFactory tFactory = TransformerFactory.newInstance();
            // creates an error listener
            XslErrorListener xel = new XslErrorListener();
            // sets the error listener for the factory
            tFactory.setErrorListener(xel);
            // generate the transformer
            Transformer transformer = tFactory.newTransformer(new SAXSource(new InputSource(isXSL)));
            // transforms the XML Source and sends the output to the HTTP response
            transformer.transform(new DOMSource(docXML), new StreamResult(pw));
    }If an exception is thrown during the execution of this code, its error message is displayed on the web page.
    This is the listener class:
    public class XslErrorListener implements ErrorListener {
        public XslErrorListener() {
        public void warning(TransformerException ex) {
            // logs on error log
            System.err.println("\n\nWarning on XEL: " + ex.getMessage());
        public void error(TransformerException ex) throws TransformerException {
            // logs on error log
            System.err.println("\n\nError on XEL: " + ex.getMessage());
            // and throws it
            throw ex;
        public void fatalError(TransformerException ex) throws TransformerException {
            // logs on error log
            System.err.println("\n\nFatal Error on XEL: " + ex.getMessage());
            // and throws it
            throw ex;
    }When I have an error in the XSL stylesheet (for examples a missing closing tag), I can find on tomcat logs the real cause of the error:
    [Fatal Error] :59:10: The element type "table" must be terminated by the matching end-tag "</table>".
    Error on XEL: The element type "table" must be terminated by the matching end-tag "</table>".but on my web page is reported just the TransformerConfigurationException message that is:
    "Could not compile stylesheet".
    How can I display the real cause of the error directly on the web page?
    Thanks,
    Andrea

    This code is part of a bigger project that let developers edit XSL stylesheets through a file upload on the system and we can't impose the use of any tool for checking the xsl. So, I need to display the transformer error on the web page.I see. This code is part of an editorial/developmental tool for developers to create and edit XSL stylesheets.
    As part of the editorial process, XSL errors during editing can be considered a normal condition. In other words, it is normal to expect that the developers will generate XSL errors as they are developing stylesheets.
    In this light, handling the XSL transformation errors is a business requirement that you need to handle. Using the Java Exceptions mechanisms, e.g. try / catch are inappropriate to handle business requirements, in my opinion.
    I suggest that you look at how you handle the occurence of XSL errors differently than what you currently have. You need to:
    (1) capture the Transformation exception on the server;
    (2) extract the message from the exception and put it into a message that can be easily understood by the user;
    The current error message that you have going to the web browser is not useful.
    And you should not have the Transformation exception sent to the web browser either.
    What you are attempting to do with the exception is not appropriate.
    Handle the Transformation exception on the Business tier and use it to create a useful message that is then sent to the Presentation tier. In other words, do not send Java exceptions to web browser.
    />

Maybe you are looking for

  • How do I downgrade Java 8 to Java 7 Mac 10.9.1

    I was going to play a game that requires Java, but it claims my Java version is outdated, so I can either choose to 'update', 'block' or 'later'. At first I tried 'update' and download Java 7, which is the latest on the website. When I opened the pkg

  • How to get bridge to point to PS CC 2014 and not to PS CS3 which I just uninstalled.

    I have PS CC 2014.  It has been functioning fine until today when I got the bright idea to clean up my collection of Photoshop versions (IN all my reading I have since found out that that can upset scripts or something mysterious like that.) Well, th

  • Jerky Footage When exported from PPro

    Hi everyone, I hope someone can PLEASE help with this. Ive read loads online, but failed to find a solution! Once again I turn to the Online Community for guidance and support. Equipment: Sony NX5 on a Monopod. Captured: Full HQ 1920*1080 P 25fps Pc:

  • I need a simple script (Break Link To Style)

    Hi nice guys, Can someone please provide a simple script that will break the links to styles in all the paragraphs in a document. Thanks in advance Maria* *An non coder designer that simply is not capable of understanding javascript... (but I have tr

  • Authorization Issue to Upload file in Integrated Planning

    Hi All   I have included the planning role for the user...which is the same as mine..I can execute and upload  the file..when I login with the user iD, it says you are not authorize to upload zFILE_SEQ/...in my role..there is Z* values also.. No idea