XSL error

we using soa 11g.
using Transform in bpel to transform from xsd1 to xsd2
our xsd is huge.
if i open Transform XSL source, it shows Green color at the top right corner. Meaning it is VAlid.
But when I open same xsl in design mode it fails showing error Error: Invalid Usage of <for-each> Element and does not open the xsl in design mode
Why is that ? Green in source and Error in design mode ?
I really want this xsl to open in design mode, bcaz I want to map (transform) another branch and cannot do it manually in source mode bcaz it is huge. will be easier in design mode.
How to get rid of this issue and be able to open xsl in design mode ?
thx

Could you check if you are getting the right transformed results? Right click in the transformation source and click test. (Provide the source xml rather than allowing Jdev to generate one) . Check if your results are OK.
If your XML is not opening in the design mode, Backup your xsl, cut portions of your xsl which you think could cause the problem and open in the design mode. Redo the transformation that you cut in the source in design mode.
please note: if your XSL fails to open in the design mode, it does not mean that your XSL is incorrect.Design view will open up only for simple transformations. If you know that your XSL is correct ( by using the test feature and ensure your transformation works fine), go ahead deploy your application and test it. It should work fine.
Edited by: Dwarak on Sep 2, 2011 3:01 AM

Similar Messages

  • XSL Errors When Using AQ Adapter with EBS Business Events

    I am triggering a BPEL process with an Oracle EBS Business Event. After receiving the event, I am trying to perform an XSL transformation to extract parameters from the event. However, I keep getting XSL errors because the BE field ERROR_SUBSCRIPTION comes in containing invalid XML characters (#).
    It seems that BPEL or EBS do not properly escape the XML input. Is that a bug, or is there a way to work around this. I know I could filter the XML input in some way, but that seems likely to be more brittle to any future changes to the EBS BE message types.

    Adding to the above post, how will the PL/SQL program which triggers the Business Event ensure that the complete data is enqueued in the queue in form of XML?
    What will be the additional logic to send complete data in the XML format?

  • WL 6.1 to 8.1 XSL Error SAX Exception, Could not parse xsl document

    1)I have an application which is deployed and running successfully on WL6.1. The application uses lot of xsl style sheets. Parsers used were from xalan.jar and xerces.jar
    2)Now, I am migrating it to WL8.1, the application is deployed on 8.1 but when I open the login(first page) it gives the following error:
    ====================
    ABCD.xsl; Line 0; Column 0
    XSL Error: Could not parse C:/src/xslsheets/ABC4.xsl document!
    XSL Error: SAX Exception
    ====================
    3)As the previous versions of WebLogic Server included the unmodified versions of the Xerces parser and Xalan transformer from www.apache.org in the WL_HOME\server\ext\xmlx.zip file. The ZIP file no longer includes these classes and interfaces in 8.1.
    4)I understand it is the the Parser Exception and wud like to know the best possible way to solve this.
    Thanks
    Val

    1)I have an application which is deployed and running successfully on WL6.1. The application uses lot of xsl style sheets. Parsers used were from xalan.jar and xerces.jar
    2)Now, I am migrating it to WL8.1, the application is deployed on 8.1 but when I open the login(first page) it gives the following error:
    ====================
    ABCD.xsl; Line 0; Column 0
    XSL Error: Could not parse C:/src/xslsheets/ABC4.xsl document!
    XSL Error: SAX Exception
    ====================
    3)As the previous versions of WebLogic Server included the unmodified versions of the Xerces parser and Xalan transformer from www.apache.org in the WL_HOME\server\ext\xmlx.zip file. The ZIP file no longer includes these classes and interfaces in 8.1.
    4)I understand it is the the Parser Exception and wud like to know the best possible way to solve this.
    Thanks
    Val

  • "XSL Error: Cannot use a DTMLiaison for a input DOM node"

    This code:
    Writer writer = new StringWriter();
    XSLTProcessor processor = XSLTProcessorFactory.getProcessor();
    // Note: event.getDocument() returns a
    // org.apache.xerces.dom.DocumentImpl
    // sourced from xlms.jar
    processor.process(new XSLTInputSource(event.getDocument()),
    new XSLTInputSource(new FileReader(GDS_XSLT_STYLESHEET)),
    new XSLTResultTarget(writer));
    Gives this stacktrace:
    XSL Error: Cannot use a DTMLiaison for a input DOM node... pass a weblogic.apache.xalan.xpath.xdom.XercesLiaison
    instead!
    XSL Error: SAX Exception
    weblogic.apache.xalan.xslt.XSLProcessorException:
         at weblogic.apache.xalan.xslt.XSLTEngineImpl.error(XSLTEngineImpl.java:1756)
         at weblogic.apache.xalan.xslt.XSLTEngineImpl.error(XSLTEngineImpl.java:1648)
         at weblogic.apache.xalan.xslt.XSLTEngineImpl.getSourceTreeFromInput(XSLTEngineImpl.java:876)
         at weblogic.apache.xalan.xslt.XSLTEngineImpl.process(XSLTEngineImpl.java:600)
    1. All XML/XSLT classes are being sourced from weblogic.jar or xmlx.jar
    2. Both jar files come from the WLS installation (WLS6.0 + SP2)
    3. There are no other XML class providers on my class path
    4. This is a standalone application, not running within WLS; I'm using weblogic
    jarfiles here purely so I use the same XML implementation both inside and outside
    WLS. Is this a sensible approach?
    Any help, anyone?

    All works fine in WLS6.1, with this extra code:
    System.setProperty("javax.xml.transform.TransformerFactory",
    "weblogic.apache.xalan.processor.TransformerFactoryImpl");
    (or you could use -D)
    No longer concerned; we've moved off WLS6.0
    "Simon Spruzen" <[email protected]> wrote:
    >
    Interestingly, expanding the code to (the very verbose):
    Document sourceDocument = event.getDocument();
    XSLTProcessor processor = XSLTProcessorFactory.getProcessor();
    StringWriter source = new StringWriter();
    XMLSerializer sourceSerializer = new XMLSerializer(source, new OutputFormat(sourceDocument));
    sourceSerializer.asDOMSerializer();
    sourceSerializer.serialize(sourceDocument.getDocumentElement());
    StringWriter output = new StringWriter();
    processor.process(new XSLTInputSource(source.toString()),
    new XSLTInputSource(new FileReader(GDS_XSLT_STYLESHEET)),
    new XSLTResultTarget(output));
    (i.e. document -> string -> transform -> string)
    works just fine, but this code is far too long-winded for me to be happy
    with.
    (Note that one of XSLTInputSource's ctors does take a Node, so I'm assuming
    that
    it should be perfectly safe to pass a Document here)
    (Note also, that for various reasons at the moment, using JAXP's transformer
    factory
    is difficult for us)
    "Simon Spruzen" <[email protected]> wrote:
    This code:
    Writer writer = new StringWriter();
    XSLTProcessor processor = XSLTProcessorFactory.getProcessor();
    // Note: event.getDocument() returns a
    // org.apache.xerces.dom.DocumentImpl
    // sourced from xlms.jar
    processor.process(new XSLTInputSource(event.getDocument()),
    new XSLTInputSource(new FileReader(GDS_XSLT_STYLESHEET)),
    new XSLTResultTarget(writer));
    Gives this stacktrace:
    XSL Error: Cannot use a DTMLiaison for a input DOM node... pass a weblogic.apache.xalan.xpath.xdom.XercesLiaison
    instead!
    XSL Error: SAX Exception
    weblogic.apache.xalan.xslt.XSLProcessorException:
         at weblogic.apache.xalan.xslt.XSLTEngineImpl.error(XSLTEngineImpl.java:1756)
         at weblogic.apache.xalan.xslt.XSLTEngineImpl.error(XSLTEngineImpl.java:1648)
         at weblogic.apache.xalan.xslt.XSLTEngineImpl.getSourceTreeFromInput(XSLTEngineImpl.java:876)
         at weblogic.apache.xalan.xslt.XSLTEngineImpl.process(XSLTEngineImpl.java:600)
    1. All XML/XSLT classes are being sourced from weblogic.jar or xmlx.jar
    2. Both jar files come from the WLS installation (WLS6.0 + SP2)
    3. There are no other XML class providers on my class path
    4. This is a standalone application, not running within WLS; I'm using
    weblogic
    jarfiles here purely so I use the same XML implementation both inside
    and outside
    WLS. Is this a sensible approach?
    Any help, anyone?

  • XSL error while creating new WEB FORMS in Web Page Composer (WPC)

    Hi Experts,
    I am getting following error :
    An error occurred while generating a preview : Fatal Error: com.sap.engine.lib.xml.parser.ParserException: XML Declaration not allowed here.(:main:, row:1, col:8)
    Regards,

    Hi,
    have you tried to open your XSL file with Internet Explorer to see if it is not a XSL syntax problem ?
    Fabien.

  • XSL Error using OracleXMLQuery with XSLT params

    Exception in thread "main" oracle.xml.sql.OracleXMLSQLException: nrvfpio.xsl
    <Line 3, Column 1>: XSL-1026: (Error) Unknown expression at EOF: text()|@*.
    at oracle.xml.sql.query.OracleXMLQuery.setXSLT(OracleXMLQuery.java:786)
    at OracleXML.To_XML(OracleXML.java:1047)
    at OracleXML.ExecuteGetXML(OracleXML.java:917)
    at OracleXML.main(OracleXML.java:184)
    stylesheet "nrvfpio.xsl" is valid. Here is it:
    <?xml version="1.0" ?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" />

    Chirag,
    Create xslt on abap mapping using transaction SXLT_TOOL on XI abap stack. Copy paste same xslt code and run with test file. You can debug code or most likely you can see error message too.
    Actually your mapping raising an exception which result in sys-fail.
    Hope this will help.
    Nilesh

  • XSL Error: XSL Map generation failed

    When i try to open the xsl-design window i get the error
    Error: XSL Map generation failed. Please use the source editor.....
    When i switch to the source editor, i have a red box in the scroll bar. This has a tooltip with:
    "Obligatorisches Attribut version fehlt in Element xsl:stylesheet"
    translated:
    "obligatory attribut version is missing in element xsl:stylesheet"
    I get this error on every xsl map. New generated and others which has worked... Does anybody know, how to fix this?

    Hi HEWizard ,
    I am also facing similar issue,i am not able to open my xsl with ide.
    i am seeing XSL Map generation Failed error for all my XSL :( even all new XSL as well.
    how did you solve this problem,
    Any pointers.
    Thanks,
    Murali

  • MDM 2.0.1 Unable to parse XSL Error

    Hi,
    I have installed MDM 2.0.1 successfully without any error.My weblogic server is also working fine,both splservice and splweb are active.There is no error in myserver.log but i am getting some error in spl_web.log like .....
    Error preloading XSL for 'reportSubmissionMainPage"
    com.splwg.shared.common.LoggedException: Unable to parse XSL '/WEB-INF/uiXSL/tabPage2.xsl'
    for page 'reportSubmissionMainPage'
    Unable to parse XSL '/WEB-INF/uiXSL/tabPage2.xsl'
    for page 'outboundMsgXMLPage'...........
    please guide me to resolve this error.....

    Garrett:
    Welcome to the Apple Discussions. That's a problem that has bitten a number of users and there's no easy fix.
    You can try to create a new library, place the old library folder in the new one, and then do a rebuild on the new one. That should create another library folder with just your jpg files in it. That works with iPhoto 4 to exclude the thumbnail files in the old library. Once you've got your new library up and running you can get rid of the library folder that contains the original "old" library. (Can you follow that?)
    If you try to just import the files from the original library with the normal import method I believe V2 will also import the thumbnail files as normal files and that will not be what you want. This method works with V4 but it's been a long time since I've used V2 that I'm not positive that's how it'll work with it so keep a pristine backup of that original library folder just in case. If all goes well you can delete all of the previous folders except your current working one. Good luck.

  • Problem for XSL copying  XML file with Error in expression '*|/'.

    Hi,
    I am trying to convert xml file to another xml through command-line interface but failed.
    java oracle.xml.parser.v2.oraxsl data.xml data.xsl data_new.xml
    My sample xml and xsl files are:
    1. XML file
    <employee_data>
    <employee_row>
    <employee_number>7950</employee_number>
    <employee_name>ABC</employee_name>
    <employee_title>PRESIDENT</employee_title>
    <manager>1111</manager>
    <date_of_hire>20-JAN-93</date_of_hire>
    <salary>65000</salary>
    <commission>1000</commission>
    <department_number>10</department_number>
    </employee_row>
    </employee_data>
    2. XSL file
    <?xml version="1.0" ?>
    <xsl:stylesheet xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml"/>
    <xsl:template match="*">
    <xsl:copy>
    <xsl:apply-templates>
    <xsl:sort select=".//employee_name"/>
    </xsl:apply-templates>
    </xsl:copy>
    </xsl:template>
    </xsl:stylesheet>
    The error message:
    Error occurred while processing data.xsl: Error in expression: '*|/'.
    I used a sample XSL files copying from a XML book to do the convert but got the same error.
    Does anyone know how to fix this problem? I'll appreciate it very much for your help.
    Thanks.
    Yiguang Zhong

    Hi swanelvis ,
    I have the same issue. Were you able to resolve this ?
    Thanks

  • 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.
    />

  • Xsl:if not working in bi publisher template

    Hi,
    I have a template which has form field, which I defined as below:
    <xsl:if test="string(number((//ROW/TOTALDATACHECKS))) != 'NaN' ">
    <xsl:value-of select="format-number((1-(sum(//ROW/TOTALDATADISCREPANCIES) div sum(//ROW/TOTALDATACHECKS)))*100,0.00)"/>%
    </xsl:if>
    I see that, if I replace xsl:value-of tag with plain text "xxxxx" , it is rendering fine in the rendered report. But I need xsl:value-of to evaluate the farmula I have in the above implementation.
    I did the above implementation to avoid xsl errors in case of denominator in the farmula being null.
    Please suggest solution for the xsl:if issue I had. Any alternate solution to avoid xsl error for denominator being null is also welcome.
    Thanks,
    -Vijay-

    I am using rtf file as a template in BI Publisher. The rtf file has several form fields which gets populated by the sql query executed by BI Publisher.
    The form field I was referring has a farmula in which the denominator has a field read from sql query result. When the denominator becomes zero, BI publisher is throwing error and not rendering report.
    To handle above scenorio, I pasted the xsl piece of code (pasted in my first post of this thread) in that to handle this. But for the reason mentioned in the prior post its not successful.

  • SubTemplate call is failing with XML-22002 error

    Hi,
    I am using Oracle BI Publisher 10.1.3.4 in WebLogic Server 10.3.6.0.
    Subtemplate reference is used in some reports. Whn we click on view of such report, below error is shown.
                   "The report cannot be rendered because of an error, please contact the administrator."
    The patch 9017232 is also installed.
    The detailed error log is below:
    [111413_123806333][oracle.apps.xdo.common.xml.XSLTWrapper][ERROR] XSL error:
    <Line 3, Column 71>: XML-22002: (Fatal Error) Error while processing include XSL file (xdoxsl:///FCReports/HeaderFooter_LandScape.xsb).
    <Line 78, Column 312>: XML-22008: (Error) Namespace prefix 'ref' used but not declared.
    @Line 3 ==> <xsl:import href="xdoxsl:///FCReports/HeaderFooter_LandScape.xsb"/>
    [111413_123806337][oracle.apps.xdo.template.FOProcessor][EXCEPTION] java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at oracle.apps.xdo.common.xml.XSLT10gR1.invokeNewXSLStylesheet(Unknown Source)
        at oracle.apps.xdo.common.xml.XSLT10gR1.transform(Unknown Source)
        at oracle.apps.xdo.common.xml.XSLT10gR1.transform(Unknown Source)
        at oracle.apps.xdo.common.xml.XSLTWrapper.transform(Unknown Source)
        at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(Unknown Source)
        at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(Unknown Source)
        at oracle.apps.xdo.template.FOProcessor.createFO(Unknown Source)
        at oracle.apps.xdo.template.FOProcessor.generate(Unknown Source)
        at oracle.apps.xdo.servlet.RTFCoreProcessor.transform(RTFCoreProcessor.java:91)
        at oracle.apps.xdo.servlet.CoreProcessor.process(CoreProcessor.java:276)
        at oracle.apps.xdo.servlet.CoreProcessor.generateDocument(CoreProcessor.java:82)
        at oracle.apps.xdo.servlet.ReportImpl.renderBodyHTTP(ReportImpl.java:554)
        at oracle.apps.xdo.servlet.ReportImpl.renderReportBodyHTTP(ReportImpl.java:257)
        at oracle.apps.xdo.servlet.XDOServlet.writeReport(XDOServlet.java:270)
        at oracle.apps.xdo.servlet.XDOServlet.writeReport(XDOServlet.java:250)
        at oracle.apps.xdo.servlet.XDOServlet.doGet(XDOServlet.java:178)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
        at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
        at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:301)
        at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        at oracle.apps.xdo.servlet.security.SecurityFilter.doFilter(SecurityFilter.java:97)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3730)
        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3696)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
        at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2273)
        at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
        at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1490)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
    Caused by: oracle.xdo.parser.v2.XPathException: Namespace prefix 'ref' used but not declared.
        at oracle.xdo.parser.v2.XSLProcessor.reportException(XSLProcessor.java:806)
        at oracle.xdo.parser.v2.XSLProcessor.newXSLStylesheet(XSLProcessor.java:614)
        ... 38 more
    Syntax used in Report is
    <?import:xdoxsl:///Reports/HeaderFooter_LandScape.xsb?loc=en_US><?call@inlines:Header?><?with-param:PM_REPORT_NAME;string('Customer details report')?><?end call?>
    XDO.CFG file contents
    <config version="1.0.0" xmlns="http://xmlns.oracle.com/oxp/config/">
       <properties>
          <property name="bursting-multithreading-on">false</property>
          <property name="xdk-secure-io-mode">false</property>
       <property name="xslt-scalable">true</property></properties>
    </config>
    Please suggest whether this issue is with BI report setup.
    Thanks in Advance.
    Regards,
    Bala.

    Hi Surya,
    Would you let us know from where you are calling web service and for what?
    And if possible provide error log as screenshot or txt file. So that it will be easy to trace issue.
    For gland your issue, go through below posts
    Not able to execute MII Transaction as web service
    Error calling BLS Transaction as Web service
    Problem in generating wsdl ?
    Create MII transaction & MII Web Service and consume them in ABAP
    Regards,
    Praveen Reddy

  • Error when using SUM function in Excel template

    I am trying to use the XDO_METADATA to create a sum of a column from my XML data and I am getting the following error in the Template Viewer:
    [111412_104246459][][PROCEDURE] Log Level is changed to PROCEDURE
    [111412_104246553][oracle.xdo.common.xml.XSLTWrapper][ERROR] XSL error:
    Time: 0.125 sec.
    FO Formatting failed.
    <Line 317, Column 116>: XML-23029: (Error) FORG0001: invalid value for cast/constructor
    @Line 317 ==> <Cell Index="2" Style="R7C3" Field="XDO_?SUM_V_CR_MO_IDD1?"><xsl:value-of select="sum(.//G_CR_MST_D/V_CR_MO_IDD)"/>
    when I use:
    XDO_?SUM_V_CR_MO_IDD1?     <?sum(.//G_CR_MST_D/V_CR_MO_IDD)?>
    or
    [111412_104048508][][PROCEDURE] Log Level is changed to PROCEDURE
    [111412_104048554][oracle.xdo.common.xml.XSLTWrapper][ERROR] XSL error:
    Time: 0.078 sec.
    FO Formatting failed.
    <Line 317, Column 105>: XML-23029: (Error) FORG0001: invalid value for cast/constructor
    @Line 317 ==> <Cell Index="2" Style="R7C3" Field="XDO_?SUM_V_CR_MO_IDD1?"><xsl:value-of select="sum(.//V_CR_MO_IDD)"/>
    when I use:
    XDO_?SUM_V_CR_MO_IDD1?     <?sum(.//V_CR_MO_IDD)?>
    I believe the XSL to be correct because when I change it to a count it works and when I go into BI Publisher 11g and create the query in the data model and then create a summary from it, the summary is created.
    Can anyone help?

    I went back to basics and created reports (via EXCEL templates) like I was asking based on good old EMP and DEPT and I found exactly the same problems I was mentioning. I looked at the templates provided but they were not calculating totals, like me they were selecting them and then just displaying them on the page.
    Anyway, I have narrowed it down to the fact that when you do aggregates like sum(.//SAL) this works if you have a salary for every value. I did an outer join with DEPT so I did have empty rows and why I still experienced the problems.
    Basically XSL does not like adding (including using the sum function) values that effectively have nulls in them which is why I get the cast/constructor errors because it is trying to turn a NaN value to a number and does not (or cannot) do it.
    You need to either have a value in every row of your column (maybe possible by selecting nvl in your query) and make sure that you check the "create empty nodes" checkbox in the data model of BI Publisher.,
    the other solution is an xsl solution where you would have to make sure that you only added non null values and for that you would have to investigate xsl blogs.
    It is, by the way, why my count worked because it is just counting that the record exists it does not care what the element content is or isn't.
    Closing thread.

  • Error while creating Data Form Definition report from Planning

    Hi All,
    Working on Planning 11.1.2 (x64)
    I tried to generate a Data Form Definition report from Planning and found that I get an error if I select the option "Include member selection list". By going a bit deeper, I realised that it errors for some forms while works fine for others.
    I have tried to find any differences in setting or selection between the forms but haven't been able to see anything that struck me as a reason for error.
    Help please.
    Thanks,
    Abhishek

    The Planning sysout log says:
    [120910_091125126][oracle.apps.xdo.common.xml.XSLTWrapper][EXCEPTION] XSL error:
    <Line 1, Column 1068>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 1068>: XML-20250: (Fatal Error) Missing entity 'ThisYear'.
    <Line 1, Column 1075>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 1075>: XML-20250: (Fatal Error) Missing entity 'Year2'.
    <Line 1, Column 1082>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 1082>: XML-20250: (Fatal Error) Missing entity 'Year3'.
    <Line 1, Column 1089>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 1089>: XML-20250: (Fatal Error) Missing entity 'Year4'.
    <Line 1, Column 1096>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 1096>: XML-20250: (Fatal Error) Missing entity 'Year5'.
    <Line 1, Column 4586>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 4586>: XML-20250: (Fatal Error) Missing entity 'ThisYear'.
    <Line 1, Column 4593>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 4593>: XML-20250: (Fatal Error) Missing entity 'Year2'.
    <Line 1, Column 4600>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 4600>: XML-20250: (Fatal Error) Missing entity 'Year3'.
    <Line 1, Column 4607>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 4607>: XML-20250: (Fatal Error) Missing entity 'Year4'.
    <Line 1, Column 4614>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 4614>: XML-20250: (Fatal Error) Missing entity 'Year5'.
    <Line 1, Column 12215>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 12215>: XML-20250: (Fatal Error) Missing entity 'ThisYear'.
    <Line 1, Column 12222>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 12222>: XML-20250: (Fatal Error) Missing entity 'Year2'.
    <Line 1, Column 12229>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 12229>: XML-20250: (Fatal Error) Missing entity 'Year3'.
    <Line 1, Column 12236>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 12236>: XML-20250: (Fatal Error) Missing entity 'Year4'.
    <Line 1, Column 12243>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 12243>: XML-20250: (Fatal Error) Missing entity 'Year5'.
    <Line 1, Column 18528>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 18528>: XML-20250: (Fatal Error) Missing entity 'ThisYear'.
    <Line 1, Column 18535>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 18535>: XML-20250: (Fatal Error) Missing entity 'Year2'.
    <Line 1, Column 18542>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 18542>: XML-20250: (Fatal Error) Missing entity 'Year3'.
    <Line 1, Column 18549>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 18549>: XML-20250: (Fatal Error) Missing entity 'Year4'.
    <Line 1, Column 18556>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 18556>: XML-20250: (Fatal Error) Missing entity 'Year5'.
    <Line 1, Column 39824>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 39824>: XML-20250: (Fatal Error) Missing entity 'Scenario'.
    <Line 1, Column 39905>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 39905>: XML-20250: (Fatal Error) Missing entity 'PriorYear'.
    <Line 1, Column 39985>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 39985>: XML-20250: (Fatal Error) Missing entity 'ThisYear'.
    <Line 1, Column 39992>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 39992>: XML-20250: (Fatal Error) Missing entity 'Year2'.
    <Line 1, Column 39999>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 39999>: XML-20250: (Fatal Error) Missing entity 'Year3'.
    <Line 1, Column 40006>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 40006>: XML-20250: (Fatal Error) Missing entity 'Year4'.
    <Line 1, Column 40013>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 40013>: XML-20250: (Fatal Error) Missing entity 'Year5'.
    <Line 1, Column 41613>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 41613>: XML-20250: (Fatal Error) Missing entity 'CommentYearTarget'.
    <Line 1, Column 41702>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 41702>: XML-20250: (Fatal Error) Missing entity 'CommentYearTarget'.
    <Line 1, Column 41791>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 41791>: XML-20250: (Fatal Error) Missing entity 'CommentYearTarget'.
    <Line 1, Column 41880>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 41880>: XML-20250: (Fatal Error) Missing entity 'CommentYearTarget'.
    <Line 1, Column 41960>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 41960>: XML-20250: (Fatal Error) Missing entity 'ThisYear'.
    <Line 1, Column 41967>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 41967>: XML-20250: (Fatal Error) Missing entity 'Year2'.
    <Line 1, Column 41974>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 41974>: XML-20250: (Fatal Error) Missing entity 'Year3'.
    <Line 1, Column 41981>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 41981>: XML-20250: (Fatal Error) Missing entity 'Year4'.
    <Line 1, Column 41988>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 41988>: XML-20250: (Fatal Error) Missing entity 'Year5'.
    <Line 1, Column 46124>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 46124>: XML-20250: (Fatal Error) Missing entity 'CostCentre'.
    <Line 1, Column 47563>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 47563>: XML-20250: (Fatal Error) Missing entity 'Scenario'.
    <Line 1, Column 47644>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 47644>: XML-20250: (Fatal Error) Missing entity 'PriorYear'.
    <Line 1, Column 47724>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 47724>: XML-20250: (Fatal Error) Missing entity 'ThisYear'.
    <Line 1, Column 47731>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 47731>: XML-20250: (Fatal Error) Missing entity 'Year2'.
    <Line 1, Column 47738>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 47738>: XML-20250: (Fatal Error) Missing entity 'Year3'.
    <Line 1, Column 47745>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 47745>: XML-20250: (Fatal Error) Missing entity 'Year4'.
    <Line 1, Column 47752>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 47752>: XML-20250: (Fatal Error) Missing entity 'Year5'.
    <Line 1, Column 49431>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 49431>: XML-20250: (Fatal Error) Missing entity 'Scenario'.
    <Line 1, Column 49512>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 49512>: XML-20250: (Fatal Error) Missing entity 'PriorYear'.
    <Line 1, Column 49592>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 49592>: XML-20250: (Fatal Error) Missing entity 'ThisYear'.
    <Line 1, Column 49599>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 49599>: XML-20250: (Fatal Error) Missing entity 'Year2'.
    <Line 1, Column 49606>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 49606>: XML-20250: (Fatal Error) Missing entity 'Year3'.
    <Line 1, Column 49613>: XML-20100: (Fatal Error) Expected ';'.
    <Line 1, Column 49613>: XML-20250: (Fatal Error) Missing entity 'Year4'.
    Most of these are Substitution Variables. I dont know why it is showing a few lines for "Scenario" as well.
    The Planning syserr log says
    java.net.SocketException: socket write error: Connection reset by peer.
         at jrockit.net.SocketNativeIO.writeBytesPinned(Native Method)
         at jrockit.net.SocketNativeIO.socketWrite(SocketNativeIO.java:73)
         at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
         at weblogic.utils.io.ChunkedOutputStream.writeTo(ChunkedOutputStream.java:193)
         at weblogic.servlet.internal.ResponseHeaders.writeHeaders(ResponseHeaders.java:443)
         at weblogic.servlet.internal.ServletResponseImpl.writeHeaders(ServletResponseImpl.java:1291)
         at weblogic.servlet.internal.ServletOutputStreamImpl.sendHeaders(ServletOutputStreamImpl.java:260)
         at weblogic.servlet.internal.ServletOutputStreamImpl.flush(ServletOutputStreamImpl.java:108)
         at weblogic.servlet.internal.ServletResponseImpl.sendRedirect(ServletResponseImpl.java:907)
         at HspValidatingHttpResponse.sendRedirect(Unknown Source)
         at jsp_servlet.__planninglogoff._jspService(__planninglogoff.java:1411)
         at weblogic.servlet.jsp.JspBase.service(JspBase.java:35)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:27)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
         at HspValidationFilter.doFilter(Unknown Source)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3592)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    oracle.xml.parser.v2.XMLParseException: Expected ';'.
         at oracle.xml.parser.v2.XMLError.flushErrors1(XMLError.java:323)
         at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:335)
         at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:318)
         at oracle.apps.xdo.common.xml.XSLTClassic.transform(Unknown Source)
         at oracle.apps.xdo.common.xml.XSLTWrapper.transform(Unknown Source)
         at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(Unknown Source)
         at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(Unknown Source)
         at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(Unknown Source)
         at oracle.apps.xdo.template.FOProcessor.createFO(Unknown Source)
         at oracle.apps.xdo.template.FOProcessor.generate(Unknown Source)
         at HspReportingServlet.Handle(Unknown Source)
         at HspHttpServlet.initialize(Unknown Source)
         at HspHttpServlet.doGet(Unknown Source)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at HspValidationFilter.doFilter(Unknown Source)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3592)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Would be great if you could interpret these log and let me know how I can resolve this.
    Cheers

  • OAM customization error

    I wanted to change the font colour of user manager application to red.To get this done i followed the instructions given in the document.the steps have been done in the process are as below.
    2.5.1 Prerequisites to Customizing Styles
    Be sure to complete the following prerequisites before you start to customize a style. This enables you to keep the original Classic Style (\style0) intact for reference and in case you need to return to it as a last resort.
    To prepare to customize styles
    As an Identity Administrator, add your own named style as described in the Oracle Access Manager Identity and Common Administration Guide.
    The original style stays in effect until an Identity Administrator makes your style the new system default.
    As an Identity Administrator, select the new style as the default style so that you can see the effect of any changes you make.
    2.5.2 Customization Facts
    Style Updates and Maintenance: Default wrapper files in \style0 and default global stylesheets in \shared are periodically updated to instantiate improvements through patches and product upgrades.
    The Release Notes notify you when such updates occur so you can propagate the changes to your custom styles. Oracle recommends that you compare the new file with your custom file and propagate any changes to your custom styles. It is risky to overwrite a default style with a customized style that bears the same name.
    Be sure to record the changes you make and the files that are involved so you can more quickly update custom stylesheets when you update default styles.
    Custom Directory: Stylesheet customization should occur only within your custom directory. Customized stylesheets must reside in your custom directory and relative pointers in all files must point to the files in your custom directory, not to files in \shared.
    Registration Files: As discussed in "General Content of Registration Files", a common registration file and each application's registration file contain the names of the stylesheets and schema files needed to present pages for the application. For example, when you look at the User Manager registration file in identity\oblix\apps\userservcenter\userservcenterreg.xml, you can see the application name and the names of the stylesheets the application calls during the completion of various functions.
    Also, given the application and the program name, you can locate the corresponding schema file name in the application's registration file.
    Oracle recommends that only experienced developers using extreme care consider editing a registration file. Registration files are covered in more detail at "Registration Files".
    Pointers: All wrapper files and stylesheets contain pointers as include statements that call another file. Most of these pointers are relative pointers that indicate where within the directory structure the file is without providing an absolute path name.
    For example, when you look at the usc_profile.xsl stylesheet called by User Manager functions, you can see that it contains include statements with relative pointers that call the following files:
    ./basic.xsl
    ./selectorinfo.xsl
    ./usc_searchform.xsl
    ./usc_navbar.xsl
    When you change the location of a file (place a copy of a stylesheet in your custom directory for customization), pointers to this file (whether relative or absolute) must be changed to reflect the new location in every file that calls it. All relative pointers in a stylesheet should point to files in your custom directory.
    In addition, many stylesheets contain relative pointers to object files. If Oracle Access Manager cannot instantiate an object when the page is loaded, unexpected behavior may result. All relative pointers to object files should be absolute pointers, as discussed in "Editing Stylesheets".
    Wrapper Files: Wrapper files include pointers to actual stylesheets in \shared. However, you cannot be assured that a wrapper file is called before the stylesheet because both the common registration file and the application's own registration file call stylesheets according to an internal ordering. For this reason, all wrapper files in your custom directory must be overwritten by a copy of the corresponding default stylesheet from the \shared directory.
    Important:
    Customizing stylesheets is an iterative process. Attempting to copy the entire contents of \shared into your custom directory at one time produce an error.
    Rather than copying all stylesheets at once, you start by investigating registration files to learn which functions (programs) call which stylesheets. You then selectively copy base stylesheets and a function-related stylesheet into your custom directory to overwrite their wrapper files, as discussed in "Copying Stylesheets to Your Custom Directory". You then customize and test the style for that function. When this returns satisfactory results you repeat the process to customize another function.
    2.5.3 Customization Guidelines
    The following guidelines should help ensure a successful customization.
    Retain all original files in the \style0 and \shared directories in pristine condition and store them safely for future use. Also, make a backup copy of your customized style files so that patches won't disrupt your customization.
    Record all changes you make and the files that are affected.
    Customize and test your new styles in a non-production environment before migrating them to your production environment.
    Important:
    Oracle recommends that you do not modify original style files in the \shared or \style0 directories. These may be overwritten by patch updates and product upgrades or you may want to refer to them later.
    When you use only one style, consider breaking the dependence on stylesheets in the \shared directory (again, to prevent patch\release updates to \style0 and \shared from disrupting customizations). This means that no stylesheet in your custom directory should inherit from or reference a stylesheet in \shared or \style0.
    When you use multiple custom styles, consider the pros and cons of sharing customizations between multiple custom styles with implementing individual customizations for each custom style. For example:
    Two styles that share the same stylesheet: When two custom styles (custom_style1 and custom_style2) can share the same stylesheet you may be tempted to customize the stylesheet in the \shared directory despite the risk of having your custom style overwritten by an updated stylesheet in a product patch or upgrade.
    Two individual styles: When two custom styles (custom_style1 and custom_style2) require their individually customized stylesheets you use the standard methodology and overwrite the wrapper files in your custom directory with the corresponding stylesheets in \shared.
    Consider using parameter stylesheet files for a custom style collection, rather than using hard-coded values (tab id's, attribute names, table/link properties, and so on); this is similar to how program code is written using header files.
    2.5.4 Customization Methodology Checklist
    As mentioned earlier, customization is an iterative process and more of an art than a science. This Guide does not attempt to give precise instructions for getting the presentation you want. Instead, this section outlines the recommended approach for a minor change.
    Important:
    Oracle recommends that you focus on stylesheets for one function at a time. Attempting to copy all stylesheets from \shared into your custom style directory results in an error.
    Table 2-28 Customization Methodology Checklist
    Check Action Description
    Add a New Style
    See the Oracle Access Manager Identity and Common Administration Guide for details about adding a style and selecting your new style as the default.
    Choose a Function to Customize
    Decide which function to customize first. Oracle recommends that you customize stylesheets related to one function at a time.
    Copy Selected Stylesheets into Your Custom Directory
    Copy selected stylesheets from \shared to your custom directory to overwrite corresponding wrapper stylesheets:
    Base stylesheets
    Stylesheets included in base stylesheets
    A function-related stylesheet identified in application registration file
    Function-related stylesheets identified in oblixbasereg.xml
    Customize Stylesheets in Your Custom Directory
    Change relative pointers in copied stylesheets to point to files in your custom directory.
    Change relative pointers to objects to absolute pointers.
    Complete other changes to implement the function's customization.
    Record Your Work
    Keep a record of the files you change and the changes you make.
    Copy Your Custom Directory Structure to WebPass
    Build a custom directory structure on WebPass and copy customized styles and images into it.
    Note: On WebPass, stylesheets are used only for client-side processing and are not required for server-side processing.
    Test Your Customized Style
    Test the customized style and make any alterations you need to the stylesheets in your custom directory.
    Record the changes.
    Customize Another Function
    Repeat this process on a function by function basis:
    Choose a function.
    Copy related stylesheets from \shared to your custom directory.
    Customize pointers and styles.
    Record and test your work.
    Propagate the Customized Style
    When you have copied and customized all stylesheets for the application, copy the custom style directory to all Identity Servers and WebPass hosts in your environment.
    2.6 Customizing the Identity System Pages
    This example shows a method for changing the way a page looks, without changing what it does. The change is a simple font color alteration for a specific page in one application. After making the change you must verify that the change is successful. When you finish this functional customization, you must create the same custom style directory structure on WebPass and copy all image files into it so WebPass can display the appropriate images in response to queries. You then test the implementation.
    The following topics demonstrate one sequence in the "Customization Methodology Checklist". You can complete the following procedures to gain first-hand experience:
    Task overview: Customizing Identity System pages includes
    Completing Prerequisites
    Choosing a Function to Customize
    Copying Stylesheets to Your Custom Directory
    Editing Stylesheets
    Copying Images and Styles to WebPass
    Testing Your Customized Style
    Propagating Styles
    See also:
    For details about localizing messages, see "Localizing XSL Files".
    2.6.1 Completing Prerequisites
    A prerequisite to customizing a style is to add a style and select the new style as the default, as described in the Oracle Access Manager Identity and Common Administration Guide. The resulting files and file structure provide the foundation for your customization.
    Suppose you added a new style named Pastel in a directory named Pastel and requested files be copied from Classic Style (in directory \style0).
    To confirm the results of adding a new style
    Add a style and select it as the default, as described in the Oracle Access Manager Identity and Common Administration Guide.
    New Custom Directory: Oracle Access Manager creates a directory that duplicates \style0 for the default language, English. If you have installed a Language Pack for French, Oracle Access Manager also creates a directory that duplicates \style0 in the French language directory.
    Locate your new custom directory.
    For example:
    Identity_install_dir \identity\oblix\lang\en-us\Pastel
    Identity_install_dir \identity\oblix\lang\fr-fr\Pastel
    Wrapper Stylesheets: Your custom directory contains wrapper stylesheets that point to actual stylesheets in another directory. If you selected the Classic Style to copy from, your custom directory duplicates the content of the \style0 directory.
    Open a wrapper stylesheet in your new custom directory, basic.xsl, and review the files that it includes.
    For this example:
    Identity_install_dir\identity\oblix\lang\en-us\Pastel\basic.xsl
    <?xml version="1.0" ?>
    - <!-- Copyright (c) 1996-2005, Oracle Inc. All Rights Reserved.
    -->
    - <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:oblix="http://www.oblix.com/">
    <xsl:include href="./style.xsl" />
    <xsl:include href="../msgctlg.xsl" />
    <xsl:include href="../../shared/basic.xsl" />
    </xsl:stylesheet>
    The basic.xsl wrapper stylesheet includes the following three files:
    style.xsl file in your custom directory
    msgctlg.xsl, one directory up from your custom directory (in identity\oblix\lang\en-us)
    basic.xsl in identity\oblix\lang\shared
    Locate and review the content of the basic.xsl stylesheet in \shared.
    For example:
    Identity_install_dir\identity\oblix\lang\shared\basic.xsl
    <?xml version="1.0" ?>
    - <!-- Copyright (c) 1996-2002, Oblix Inc. All Rights Reserved. -->
    - <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:oblix="http://www.oblix.com/">
    <xsl:include href="obstringutil.xsl" />
    - <!-- xsl:output indent="no"/ -->
    <xsl:include href="font.xsl" />
    <xsl:include href="title.xsl" />
    The basic.xsl stylesheet in the \shared directory includes additional files (font.xsl, title.xsl, obstringutil.xsl) and provides templates to define attributes and status and control display information. See "basic.xsl" for more information.
    During your customization process, you copy selected stylesheets from the \shared directory into your custom directory. This overwrites wrapper files with corresponding stylesheets you can then edit in your custom directory.
    New Custom XML Document: In addition to the custom directory structure, when you select the new custom style as the default style, Oracle Access Manager creates an XML document (a duplicate of style0.xml) named after the directory you created.
    Locate and open the custom xml document that was created when you added the new style.
    For this example:
    Identity_install_dir\identity\oblix\config\style\Pastel.xml
    <?xml version="1.0" ?>
    - <ParamsCtlg xmlns="http://www.oblix.com" CtlgName="style0">
    - <ValNameList ListName="">
    <NameValPair ParamName="styleReady" Value="TRUE" />
    </ValNameList>
    </ParamsCtlg>
    This new file, stored with style0.xml, provides the status of your custom style and the location of the original style directory from which wrapper files were copied. For example, if your custom style directory is named Pastel and you copied from Classic Style, the Pastel.xml file is created when you select Pastel as the default style.
    You do not need to edit this file. The original style0.xml remains unchanged. Also, there is a .lck version, Pastel.xml.lck, which is a lock file. No other new files are created when you add a new style.
    Updated styles.xml: The styles.xml file is updated to include a new NameValPair that provides both the directory and style names you supplied when creating the style.
    Locate and open the styles.xml file to confirm it was updated with your new style information.
    For example:
    Identity_install_dir\identity\oblix\config\style\styles.xml
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    - <ValNameList xmlns="http://www.oblix.com" ListName="styles.xml">
    <NameValPair ParamName="style0" Value="Classic Style" />
    <NameValPair ParamName="Pastel" Value="Pastel" />
    </ValNameList>
    In this example, both the default Classic Style and new custom Pastel style are identified. You do not need to edit this file.
    After confirming your custom directory structure, new and updated files, you are ready to choose a function and begin your customization.
    2.6.2 Choosing a Function to Customize
    The first step in the customization process is to choose a function to customize. For this example, suppose you want to change the font color to red on a specific page of the User Manager without changing anything else.
    To identify the function and source information
    Log in to the Identity System, as usual.
    Navigate to the desired page.
    For this example, click:
    Identity System Console, User Manager, and then click My Identity
    The page appears, as shown in Figure 2-6.
    Figure 2-6 Customization Example: A User Manager Page Displays Red Text
    The following information on each Identity System application page is useful for customizing styles:
    Application Name: The application name, User Manager, appears on a highlighted tab in the top left area of the screen.
    Each application's \bin directory contains the registration file that you need to identify functions. See "Registration Files".
    Page Name: The page name, in this example it is My Profile, is the first page that you want to customize so you can see text in a red font color.
    Registration File Path: The URL for each page includes a path to the application page, for example, identity\oblix\apps\userservcenter\bin\userservcenter.cgi. You can use this to locate the relevant registration file on the Identity Server.
    Function Name: The URL for each page also includes a segment, program=view in this case, that you can use to locate the relevant stylesheet name for the function in the registration file.
    Record the required information to assist you during the customization.
    For this example:
    Application: User Manager
    Page: User Profile
    Registration File Path: Identity_install_dir\identity\oblix\apps\userservcenter\bin\
    Function: program=view
    2.6.3 Copying Stylesheets to Your Custom Directory
    Once you have identified the function you want to customize, your next task in any customization is to copy relevant stylesheets into your custom directory from the \shared directory. This activity overwrites wrapper files in your custom directory with copies of stylesheets you can customize. This also retains the original stylesheets in \shared as well as the original default wrappers in \style0.
    Locating and copying relevant stylesheets is an iterative process in itself. In the following procedure you must locate and copy:
    Base stylesheets
    Stylesheets included in base stylesheets
    The specific function-related stylesheet identified for the program in the application's registration file, in this case the stylesheet associated with program=view
    Stylesheets included in the function-related stylesheet
    Eventually your custom directory must contain all stylesheets, including those identified in the application's registration file and in oblixbasereg.xml. Even if you do not need to edit a stylesheet, it must be copied to your custom directory.
    Important:
    Copying stylesheets is an iterative process that must be done in a selective manner. Attempting to copy all stylesheets from \shared to you custom directory at one time results in an error.
    To locate and copy relevant stylesheets
    Copy the base stylesheets to your custom style directory from \shared to overwrite the default wrappers with stylesheets you can customize.
    For example:
    Copy from: Identity_install_dir\identity\oblix\lang\en-us\shared\ basic.xsl, font.xsl, searchform.xsl, navbar.xsl, title.xsl
    Copy to: Identity_install_dir\identity\oblix\lang\en-us\Pastel\
    This retains the original base stylesheets in \shared as well as the original default wrappers in \style0.
    Open each base stylesheet in your custom style directory and locate include statements that point to other stylesheets you must copy, as well as any style information you need to customize.
    For this example, see Table 2-29:
    Table 2-29 Base Stylesheet Pointers and Items to Customize
    Base Stylesheets in Custom Directory Pointers to Related Stylesheets and Items to Customize
    basic.xsl
    Contains implied relative include pointers to other stylesheets you need in your local custom directory:
    <xsl:include href="obstringutil.xsl" />
    <xsl:include href="font.xsl" />
    <xsl:include href="title.xsl" />
    Record the names of additional stylesheets you must copy into your custom directory from \shared. In this case, obstringutil.xsl.
    font.xsl
    Does not contain include pointers to other files.
    Does contain color information you can customize:
    <xsl:variable name="subHeadingColor">#006699...
    <xsl:variable name="contentTitleColor">#000000...
    <xsl:variable name="contentTextColor">#000000...
    searchform.xsl
    Does not contain include pointers to other files.
    Does not contain color information to customize. No changes needed to this stylesheet in your custom directory.
    navbar.xsl
    Does not contain include pointers to other files.
    Does contain color information you may customize later.
    title.xsl
    Does not contain include pointers to other files.
    Does contain color information you may customize later. No changes needed to this stylesheet in your custom directory.
    Copy stylesheets included in base stylesheets to your custom directory from \shared.
    For this example, obstringutil.xsl:
    Copy from: Identity_install_dir\identity\oblix\lang\en-us\shared\ obstringutil.xsl
    Copy to: Identity_install_dir\identity\oblix\lang\en-us\Pastel\obstringutil.xsl
    Record the stylesheets you have copied from \shared to your custom directory so you can track your work.
    Locate the required registration files.
    For this example, oblixbasereg.xml and userservcenterreg.xml:
    Identity_install_dir\identity\oblix\apps\common\bin\oblixbasereg.xml Identity_install_dir\identity\oblix\apps\userservcenter\bin\ userservcenterreg.xml
    At some point, you typically need stylesheets included in the common registration file oblixbasereg.xml. However, stylesheets included in oblixbasereg.xml are not needed for this example.
    For this example, you must locate only the function-related stylesheet in the userservcenterreg.xml file.
    Open the application's registration file and locate the function-related stylesheet you need.
    For this example, locate ObProgram name="view":
    <?xml version="1.0" ?>
    - <ObProgramRegistry>
    - <ObApplication name="userservcenter">
    - <ObProgram name="front">
    <ObStyleSheet name="usc_profile.xsl" />
    <ObSchema name="usc_front.xsd" />
    </ObProgram>
    - <ObProgram name="commonNavbar">
    <ObStyleSheet name="usc_profile.xsl" />
    <ObSchema name="usc_front.xsd" />
    </ObProgram>
    - <ObProgram name="view">
    <ObStyleSheet name="usc_profile.xsl" />
    <ObButton name="initiateDeactivateUser" />
    - <!-- ObButton name="manageSubscriptions"/ -->
    <ObButton name="userreactivate" />
    <ObButton name="wfTicketDelete" />
    <ObButton name="userModify" />
    <ObSchema name="usc_profile.xsd" />
    </ObProgram>
    You can see in the registration file that the usc_profile.xsl stylesheet is associated with the function you want to customize (ObProgram name="view"). The usc_profile.xsl stylesheet is also associated with a number of other functions.
    Copy the function-related stylesheet, usc_profile.xsl, to your custom style directory from \shared and record the stylesheet name.
    For this example:
    Copy From: Identity_install_dir\identity\oblix\lang\en-us\shared\ usc_profile.xsl
    Copy To: Identity_install_dir\identity\oblix\lang\en-us\Pastel\ usc_profile.xsl
    Open the function-related stylesheet and locate include statements that point to other stylesheets you must copy, record any information you plan to customize.
    For this example, usc_profile.xsl:
    Table 2-30 usc_profile.xsl Pointers and Items to Customize
    usc_profile.xsl in Custom Directory Pointers to Related Stylesheets and Items to Customize
    usc_profile.xsl
    This main stylesheet for the User Manager includes stylesheets that must be copied to your custom directory:
    <xsl:include href="./basic.xsl" />
    <xsl:include href="./selectorinfo.xsl" />
    <xsl:include href="./usc_searchform.xsl" />
    <xsl:include href="./usc_navbar.xsl" />
    Note: selectorinfo.xsl, usc_searchform.xsl and usc_navbar.xsl should be copied.
    Also record pointers to objects that should be customized:
    <object id="cenroll" classid= ...
    codebase="../../common/bin/xenroll.cab" />
    and
    <script src="../../common/bin/installCert.vbx" ...
    Repeat steps to copy relevant stylesheets, then record their names and details you plan to change.
    For this example:
    Copy From:
    Identity_install_dir\identity\oblix\lang\en-us\shared\selectorinfo.xsl
    Identity_install_dir\identity\oblix\lang\en-us\shared\usc_searchform.xsl
    Identity_install_dir\identity\oblix\lang\en-us\shared\usc_navbar.xsl
    Copy To:
    Identity_install_dir\identity\oblix\lang\en-us\Pastel\selectorinfo.xsl Identity_install_dir\identity\oblix\lang\en-us\Pastel\usc_searchform.xsl Identity_install_dir\identity\oblix\lang\en-us\Pastel\usc_navbar.xsl
    These stylesheets do not contain include statements, other stylesheet names, nor parameters you need to change.
    You have collected, copied, and recorded relevant stylesheets for this example.
    2.6.4 Editing Stylesheets
    After copying relevant stylesheets, you may need to edit them. As described in Table 2-29 the information that needs to be customized for this example includes:
    Font colors defined in the base stylesheet font.xsl should be changed to red.
    Pointers to objects defined in usc_profile.xsl should change from a relative path to an absolute path.
    Note:
    To help streamline development and testing, consider implementing XSL stylesheet control parameters. See "Caching Considerations".
    To edit stylesheets for a simple font color change
    Open the font.xsl stylesheet in your custom directory in a text editor.
    For example,
    Identity_install_dir\identity\oblix\lang\en-us\Pastel\ font.xsl
    Edit the stylesheet to change all colors from the default color to red (FF0000), then save the change.
    For example,
    Change all Default Font Colors From:
    ... <xsl:variable name="pageHeaderColor">#006699</xsl:variable>
    <xsl:variable name="subHeadingColor">#006699</xsl:variable>
    <xsl:variable name="contentTitleColor">#000000</xsl:variable>
    <xsl:variable name="contentTextColor">#000000</xsl:variable>
    and others ...
    To Red (#FF0000):
    ... <xsl:variable name="pageHeaderColor">#FF0000</xsl:variable>
    <xsl:variable name="subHeadingColor">#FF0000</xsl:variable>
    <xsl:variable name="contentTitleColor">#FF0000</xsl:variable>
    <xsl:variable name="contentTextColor">#FF0000</xsl:variable>
    and others ...
    Record your changes to this file.
    If you restarted the Identity Server now you would not yet see your changes. This is because you have not yet customized the function-related stylesheet that identifies where to apply the changes.
    Edit the basic.xsl stylesheet in your custom directory as follows to add required include statements that were in the original basic.xml (but were lost when you copied over the basic.xsl from the shared folder).
    Locate the line containing the following:
    <xsl:include href="obstringutil.xsl"/>
    Add the following information so that it precedes the line identified in a):
    <xsl:include href="./style.xsl" />
    <xsl:include href="../msgctlg.xsl" />
    Edit the usc_profile.xsl stylesheet in your custom directory to change the relative path to objects, as shown in the following, then save the changes.
    For example:
    Change From a Relative Path:
    - <head>
    ...<object id="cenroll" classid="clsid:43F8F289-7A20-11D0-8F06-00C04FC295E1" codebase="../../common/bin/xenroll.cab" />
    ... <script src="../../common/bin/installCert.vbx" language="VBScript" />
    </head>
    Change To an Absolute Path:
    - <head>
    ... <object id="cenroll" classid="clsid:43F8F289-7A20-11D0-8F06-00C04FC295E1" codebase="/identity/oblix/apps/common/bin/xenroll.cab" />
    ... <script src="/identity/oblix/apps/common/bin/installCert.vbx" language="VBScript" />
    </head>
    This concludes the specific function-related change for this example.
    Ensure that file system access control for new custom style directories and files is set to match the ownership and permissions of \style0.
    Restart the Identity Server.
    If you log in to the Identity System now and view the My Identity page, you see the red font color. However, the images supplied by WebPass won't appear until they are included in a corresponding custom style directory structure on the WebPass host.
    After doing this i checked user manager application then iam being displayed the following error page.
    style shhet error report form.
    an error has occured while executing the application.
    your browser does not support sending email automatically.
    please send email to <a=" "><\a> with the following information.
    you name
    email adress
    make sure to append the trace back in the mail
    in the log file errors have been given as below
    Error: ExXSLTProcessingGeneric: Exception processing stylesheet. Root stylesheet ID: ../../../lang/en-us/pastel2/usc_profile.xsl     
    "Failed to compile XSL file."     XSL file:^../../../lang/en-us/pastel2/usc_profile.xsl     
    Error: ExXSLTProcessingGeneric: Exception processing stylesheet. Root stylesheet ID: ../../../lang/en-us/pastel2/usc_profile.xsl     
    "OIS_LOG_PASSED_ERROR"     Error^writer\obhtmlpage.cpp:276: Error: ExXSLTProcessingGeneric: Exception processing stylesheet. Root stylesheet ID: ../../../lang/en-us/pastel2/usc_profile.xsl

    Hi Matt,
    I think the page you are being redirected to is servererror.jsp, which is deployed within oam-server.ear, within its own ngsso-web.war application. You could deploy your own version of this. I assume you could also modify the ErrorPage setting in oam-config.xml to define your own page, though I have not tested this. This would be a customisation, so you would be responsible for the system behaviour when doing this.
    Regards,
    Colin

Maybe you are looking for