WPC - XSLT helpers

Hi
Is there anyone who has got experience in creating an own xslt helper?
I created an own xslt helper (just took the standard XsltHelperRuntimeLight and uploaded it under an own package).
I did the mapping in config. (System admin - System Config - KM - CM - WPC - editor - XSLT Helpers)
Now I'm getting the following error when I execute. Did I forget something?
Cannot render container :
com.sap.engine.lib.xml.util.NestedException:
Could not load class: com.company.nw.wpc.km.service.editor.xslt.XsltHelperRuntimeLight required for extension library.
-> java.lang.ClassNotFoundException: com.company.nw.wpc.km.service.editor.xslt.XsltHelperRuntimeLight
------------------------- Loader Info -------------------------
ClassLoader name: [com.sapportals.portal.prt.util.ApplicationClassLoader@18d88c3]
Parent loader name: [com.sapportals.portal.prt.util.ApplicationClassLoader@10e631f]
References: not registered! Resources: D:\usr\sap\NWD\JC00\j2ee\cluster\server0\apps\sap.com\irj\servlet_jsp\irj\root\WEB-INF\portal\portalapps\com.sap.nw.wpc.core\private\lib\com.sap.nw.wpc.core_core.jar
It seems my class isn't loaded..
I used this code to import my class in the xsl file
<xsl:stylesheet version="1.0"  
     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
     xmlns:test_wpc="com.company.nw.wpc.km.service.editor.xslt.XsltHelperRuntimeLight">
And this one to use it
<span class="wpcnew"><xsl:value-of disable-output-escaping="yes" select="test_wpc:getString('xsl.xmsg.new', string(document/@locale))"/></span>
When I use a standard class in stead of mine, it works perfectly. So I assume it's a class mapping issue or my class isn't loaded at all.
Thanks for any help, thoughts or information about this topic!
Christof

Hello
I found finally the solution..
http://help.sap.com/saphelp_nw04s/helpdata/en/26/227402890aa140ac967fe6000d93a1/frameset.htm
<xsl:script implements-prefix="chh" language="java" src="java:com.company.nw.wpc.km.service.editor.xslt.XsltHelperRuntimeLight"/>
Christof

Similar Messages

  • Unable to refer to custom resource bundle in WPC content rendered with xslt

    Hi,
    I need to use the resource bundle messages inside WPC content.
    When rendered by standard xsl templates the  call to XSLTHelper class is done to retrieve message from the standard SAP resource bundle com.sap.nw.wpc.bundles.core.properties, like this:
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                         xmlns:wpc="com.sap.nw.wpc.km.service.editor.hslt.XsltHelperCore">
    <xsl:value-of select="wpc:getString([key defined in sap bundle], string(/document/@locale))"/>
    The problem is that helper class doesn't provide any API to use custom bundles.
    I tried to create xslt helper (including config in KM), but that didn't succeed neither. It would return with error NoClassDefFound.
    Could you please help on configuring xslt helper and registering it with xslt rendering engine for Web Page Composer? I could not find any how-to guides on xslt helpers for WPC.
    Thanks in advance.
    Ruslan

    Hi
    Did you find a solution?
    Christof

  • How to configure XSLT Helper for WPC content

    Hi,
    I'm trying to write my own XSLT Helper and use it when rendering content on WPC web pages. I didn't find any documentation on this topic, so I did mimicked what SAP does with their com.sap.nw.wpc.km.service.linkmanager.XsltHelper:
    1. Wrote my little class that contains static method:
    public class MyXslHelper
         public static String testMethod()
              return "response from MyXslHelper";
    2. Added declaration of namespace and usage in xsl template:
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:my_hlp="com.my.xsl.helper.MyXslHelper">
    <xsl:value-of select="my_hlp:testMethod()"/>
    3. Defined helper in Content Management->Web Page Composer->Editor->XSLT Helpers:
    name=my_helper  
    alias=my_hlp  
    implementation=com.my.xsl.helper.MyXslHelper
    description=My helper
    PRT mode=*
    This doesnt' work and when rendered throws exception java.lang.ClassNotFoundException: com.my.xsl.helper.MyXslHelper.
    What are the steps that I'm missing? Does anyone have any documentation on how to configure xslt helpers?
    Thanks in advance
    Ruslan

    Hi
    Did you solve this issue?
    Thanks!
    Christof

  • WPC - Anonymous User Error

    Hello,
      I have some problems with displaying the site content for the anonymous user.
      First, I specify that I've done all the steps provided as a solution in this thread: [Web page composer and end user;
      Some of the containers from a web page are showed correctly but some are displaying the following error message:
    "Cannot render container : com.sap.engine.lib.xml.util.NestedException: Function with name 'wpc:getHrefValue' not found in context library."
      This container uses a Simple Link List - template and as a link item contains an external link; so trying to trace the error I saw that xsl file corresponding to the template calls a method 'wpc:getHrefValue' for displaying the hyperlink value and for unknown reasons this is not available for the anonymous user.
      The same thing happens if the template uses an internal link and brings the error:
    "Cannot render container : com.sap.engine.lib.xml.util.NestedException: Function with name 'wpc:getWebDavAccess' not found in context library." refering to the getWebDavAccess method.  
      The par file containing the xslt helpers should be visible to everyone so the only thing it can represent is the way the "wpc:" call is made - which I couldn't track it.
    Please tell me if you have any clues on this issue.
    Thanks,
    Ioana

    Hello Ioana,
    May I enquire which SP of WPC you are on ?
    Just out of curiosity as I keep getting an authentication pop up despite assigning read user access to anonymous users group.
    Did you come across a similar problem ?
    Prem

  • WPC Runtime Error in Customer Framework Page

    Hi again,
    after successful proof of concept of WPC we have integrated some WPC Pages and iViews in our standard roles. Pages are displayed well with default framework page.
    But using customer specific framework (via portal url alias /portal/mySite and corresponding display rules) we get an error displaying wpc content in runtime:
    Cannot render container : com.sap.engine.lib.xml.util.NestedException:
    Could not load class: com.sap.nw.wpc.km.service. editor.xslt.XsltHelper
    RuntimeStandard required for extension library. -> java.lang.ClassNotFoundException:
    com.sap.nw.wpc.km.service. editor.xslt.XsltHelperRuntimeStandard Found in negative cache
    I have checked SAP Note 1133788 (Com.sap.engine.lib.xml.util.NestedException in WPC) which seems to be related, but adjusting of XSLT Helpers for Editor setting does not fix the problem.
    I mentioned that settings for standardruntime entry (com.sap.nw.wpc.km.service.editor.xslt.XsltHelperRuntimeStandard) should match to customer Alias insted of default portal, but changing these setting won't have any visible result.
    If I use default framework page with customer layout wpc runtime will work - so we have a temporary solution, but we want to avoid changing default framework page.
    Any hints or documentation?
    Many thanks in advance

    Hi Thorsten,
    maybe you should have a look at this [one.|https://forums.sdn.sap.com/thread.jspa?threadID=599765&tstart=0]
    I think it's the same thing that was mentioned in the SAP Note you provided. But maybe you extract some additional hints for yourself out of the posts.
    Let me know, if you manage to solve the problem.
    Regards,
    Marcus

  • WPC custom webform error

    Hi,
    We are trying to develop custom webform in web page composer as mentioned in below how to guide / help document.
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/2041eb17-6001-2b10-b08d-b95ce55fa9b7
    or
    http://help.sap.com/saphelp_nw70/helpdata/EN/45/fef93198f13830e10000000a11466f/frameset.htm
    We are using the same xml and xsl files mentioned in the document .
    While preview or adding the site content to the page we are getting below error.
    Cannot render container : Fatal Error: com.sap.engine.lib.xml.parser.ParserException: XML Declaration not allowed here.(:main:, row:1, col:7)
    Appreciate any help.
    Thanks,
    Abdul Raheem S

    Hi Jagadeesh,
    the note tells you to go to System Administration -> System Configuration -> Knowledge Management -> Content Management -> Web Page Composer -> Editor -> XSLT Helpers
    and check if there is a XSLT Helper with the following parameters:
    name: anonymous
    Alias: *
    Implementation: com.sap.nw.wpc.km.service.editor.xslt.XsltHelperRuntimeStandard
    Key for Description: Define helper for default
    PRT Mode: *
    If not, create one and restart the portal.
    See if this helps,
    Robert

  • Any helpers please on JAVA XSLT Tranformation

    I have an XML file and a XSLT file How using a Java class can I tranform the document to XHTML (i.e html in XML format)

    Follow this link:
    http://xml.apache.org/xalan-j/samples.html
    Good luck.

  • Testing XSLT in WPC

    I'm wondering what methods folks are using when they are testing out XSLT changes.  It appears as though one must bounce the portal in order for XSLT changes to take affect.
    Is there an easier way to have a change to the XSLT for a document type take affect?  I'd prefer to avoid cycling the portal everytime I make a change.  The velocity of development is slowing to a halt.

    Hi,
    Check the Editor Service Cache in the below link:
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/b07754de-e048-2b10-a0a9-8b732cf54b2c
    I would set the Default Time-To-live setting to 1, so that the cached content expires after 1 sec.
    Regards,
    Praveen Gudapati

  • XSLT mapping - namespace problem?

    Hello,
    I am trying to proces a message with the following format:
    <XMLMESSAGE  xsi:nonamespaceSchemalocation='schema.xsd' >
       <ORDER>
         <HEADER>
         </HEADER>
         <ITEM>
         </ITEM
      </ORDER>
    <XMLMESSAGE>
    the mapping (XSLT or message mapping) throws an exception. During runtime or test, this is the same.
    The problem occurs, I think, because of the nonamespace atriibute. If a change or remove the value, the mapping is fine.
    Does anybody know if I should save the file mentioned in the attribute somewhere? Or is there a workaround for this problem?
    thnx, Paul
    PS: we are using PI 7.0.

    Hi Russ (and others),
    I tested it in the real example, but it still throws the same error on the  java (=compiled) mapping.
    this is my input:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE ORDER [
    <!ENTITY % iso-lat1 PUBLIC "ISO 8879:1986//ENTITIES Added Latin 1//EN//XML" "http://www.oasis-open.org/docbook/xmlcharent/0.3/iso-lat1.ent">
    %iso-lat1;
    ]>
    <XMLMESSAGE xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:noNamespaceSchemaLocation="OrderBericht.xsd">
         <ORDER>
              <HEADER>
                   <ACCOUNT_NUMBER></ACCOUNT_NUMBER>
              </HEADER>
              <LINE_ITEMS>
                   <ITEM>
                        <LINE>1</LINE>
                   </ITEM>
              </LINE_ITEMS>
         </ORDER>
    </XMLMESSAGE>
    this is my xslt:
    <?xml version='1.0' ?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="no" standalone="no" indent="yes"/>
         <xsl:template match="/">
              <ORDERS05 xmlns="com:root">
                   <IDOC BEGIN="1">
                       <xsl:call-template name="CrtEDIDC40"/>
                   </IDOC>
              </ORDERS05>
         </xsl:template>
         <xsl:template name="CrtEDIDC40">
              <EDI_DC40 SEGMENT="1">
                   <TABNAM>EDI_DC40</TABNAM>
                   <SNDPRT>LS</SNDPRT>
                   <SNDPRN>XIDCLNT300</SNDPRN>
              </EDI_DC40>
         </xsl:template>
    </xsl:stylesheet>
    and this is the error:
    18:00:41 Start of test
    Creating XSLT mapping mindef_test
    Call XSLT processor with stylsheet mindef_test.xsl.
    Method error called terminate transformation
    javax.xml.transform.TransformerException: IOException occurred while parsing stream. An empty document will be used! at com.sap.engine.lib.jaxp.TransformerImpl.transformWithStylesheet(TransformerImpl.java:351) at com.sap.engine.lib.jaxp.TransformerImpl.transform(TransformerImpl.java:240) at com.sap.aii.ibrep.server.mapping.ibrun.RepMappingTransformer.transform(RepMappingTransformer.java:150) at com.sap.aii.ibrep.server.mapping.ibrun.RepXSLTMapping.execute(RepXSLTMapping.java:81) at com.sap.aii.ibrep.server.mapping.ibrun.RepMappingHandler.run(RepMappingHandler.java:80) at com.sap.aii.ibrep.server.mapping.rt.MappingHandlerAdapter.run(MappingHandlerAdapter.java:107) at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInterfaceMapping(ServerMapService.java:127) at com.sap.aii.ibrep.server.mapping.ServerMapService.transform(ServerMapService.java:104) at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.transform(MapServiceBean.java:40) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0.transform(MapServiceRemoteObjectImpl0.java:167) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0p4_Skel.dispatch(MapServiceRemoteObjectImpl0p4_Skel.java:104) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:320) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:198) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) Caused by: java.io.IOException: Failed to load resource from the context classloader of the current thread! Loading from classloader was caused by: java.net.UnknownHostException: www.oasis-open.org at com.sap.engine.lib.xml.parser.URLLoaderBase.resolveEntity(URLLoaderBase.java:148) at com.sap.engine.lib.xml.parser.helpers.AdvancedXMLStreamReader.addInputFromEntity(AdvancedXMLStreamReader.java:393) at com.sap.engine.lib.xml.parser.XMLParser.handleDTDReference(XMLParser.java:2267) at com.sap.engine.lib.xml.parser.XMLParser.scanIntSubset(XMLParser.java:1057) at com.sap.engine.lib.xml.parser.XMLParser.scanDTD(XMLParser.java:1246) at com.sap.engine.lib.xml.parser.XMLParser.scanProlog(XMLParser.java:2795) at com.sap.engine.lib.xml.parser.XMLParser.scanDocument(XMLParser.java:2830) at com.sap.engine.lib.xml.parser.XMLParser.parse0(XMLParser.java:229) at com.sap.engine.lib.xml.parser.AbstractXMLParser.parseAndCatchException(AbstractXMLParser.java:145) at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:160) at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:261) at com.sap.engine.lib.jaxp.TransformerImpl.transformWithStylesheet(TransformerImpl.java:347) ... 19 more --------- java.io.IOException: Failed to load resource from the context classloader of the current thread! Loading from classloader was caused by: java.net.UnknownHostException: www.oasis-open.org at com.sap.engine.lib.xml.parser.URLLoaderBase.resolveEntity(URLLoaderBase.java:148)
    any ideas? I am totally lost here.

  • XSLT, problem with HTML

    Hi,
    I am using XSLT to generate a webpage using an XML file and a stylesheet. The HTML page is created fine however any HTML tag i.e. the break line tag comes out in the file as &lt.;BR&gt.; rather then <.BR.> (ignore the dots, just there so the form doesnt show them incorrectly). Any suggestions? Here is my code:
    XML FILE
    <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?><transcript xsi:noNamespaceSchemaLocation="transcript-internal.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <section title="Outlook">
    <question>question<BR></question>
    <answer>answer</answer>
    </section>
    <disclaimer>disclaimer</disclaimer>
    </transcript>
                TransformerFactory tFactory = TransformerFactory.newInstance();
                File stypePathFile = new File(stylePath);
                if (!stypePathFile.exists())
                     logger.severe("cannot transform transcript..stylesheet does not exist at this path " + stylePath);
                StreamSource stylesource = new StreamSource(stypePathFile);
                Transformer transformer = tFactory.newTransformer(stylesource);
                transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
                transformer.setOutputProperty(OutputKeys.ENCODING, charEnc);
                transformer.setOutputProperty(OutputKeys.METHOD, "html");
                byte bytes[] = dataXML.getBytes();
                ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
                StreamSource dataSource = new StreamSource(bais);
                StreamResult outputResult = new StreamResult(new File(outputPath));
                transformer.transform(dataSource, outputResult);
            } catch (TransformerConfigurationException tce) {
                // Error generated by the parser
                logger.severe("configuration error while transforming transcript: " + tce.getMessage());
            } catch (Exception e) {
                // Error generated by the parser
                 logger.severe("error while transforming transcript: " + e.getMessage());
        }  The XML file is created using the following code:
    import org.xml.sax.*;
    import org.xml.sax.helpers.*;
    public class TranscriptFilter extends XMLFilterImpl {
         public static final String SECTION_PREFIX = "+s:";
         public static final String QUESTION_PREFIX = "+q:";
         public static final String ANSWER_PREFIX = "+a:";
         public static final String DISCLAIMER_PREFIX = "+d:";
         public static final String IMAGE_PREFIX = "+i:";
         public static final String NARRATION_PREFIX = "+n:";
         public static final String PREFIX_REG_EXP = "(?m)(?=\\+[sqaidn]:)";
         public static final String TRANSCRIPT_TAG = "transcript";
         public static final String SECTION_TAG = "section";
         public static final String TITLE_TAG = "title";
         public static final String NARRATION_TAG = "narration";
         public static final String QUESTION_TAG = "question";     
         public static final String ANSWER_TAG = "answer";
         public static final String DISCLAIMER_TAG = "disclaimer";
         public static final String IMAGE_TAG = "image";
         public static final String URL_TAG = "url";          
         // schema validation tags
         public static final String SCHEMA_LOCATION_TAG = "xsi:noNamespaceSchemaLocation";
         public static final String SCHEMA_LOCATION_VALUE = "transcript-internal.xsd";     
         public static final String SCHEMA_INSTANCE_TAG = "xmlns:xsi";
         public static final String SCHEMA_INSTANCE_VALUE = "http://www.w3.org/2001/XMLSchema-instance";
         private boolean inSection = false; // is section tag open but not closed
         public void parse(String pText) throws SAXException {
              String text = pText;
              String line = null;
              String prefix = null;
              if (text != null) {
                   String[] elements = text.split(PREFIX_REG_EXP);
                   if (elements != null) {
                        AttributesImpl mainAtts = new AttributesImpl();
                        mainAtts.addAttribute("", SCHEMA_LOCATION_TAG, SCHEMA_LOCATION_TAG, null, SCHEMA_LOCATION_VALUE);                    
                        mainAtts.addAttribute("", SCHEMA_INSTANCE_TAG, SCHEMA_INSTANCE_TAG, null, SCHEMA_INSTANCE_VALUE);
                        startElement("", TRANSCRIPT_TAG, TRANSCRIPT_TAG, mainAtts);
                        for (int i = 0; i < elements.length; i++) {
                             if (elements[i] != null)
                                  line = elements.trim();
                                  if (line.length() > 3) {
                                       // return prefix to determine line data type
                                       prefix = getPrefix(line);
                                       line = removePrefix(line);
                                       if (prefix != null) {
                                            if (prefix.equalsIgnoreCase(SECTION_PREFIX)) {
                                                 closeSection(); // close section if open
                                                 AttributesImpl fieldAtts = new AttributesImpl();
                                                 fieldAtts.addAttribute("", TITLE_TAG, TITLE_TAG, null, line);
                                                 startElement("", SECTION_TAG, SECTION_TAG, fieldAtts);
                                                 inSection = true;
                                            else if (prefix.equalsIgnoreCase(NARRATION_PREFIX)) {
                                                 startElement("", NARRATION_TAG, NARRATION_TAG, new AttributesImpl());
                                                 characters(line);
                                                 endElement("", NARRATION_TAG, NARRATION_TAG);
                                            else if (prefix.equalsIgnoreCase(IMAGE_PREFIX)) {
                                                 AttributesImpl fieldAtts = new AttributesImpl();
                                                 fieldAtts.addAttribute("", URL_TAG, URL_TAG, null, line);
                                                 startElement("", IMAGE_TAG, IMAGE_TAG, fieldAtts);
                                                 endElement("", IMAGE_TAG, IMAGE_TAG);
                                            else if (prefix.equalsIgnoreCase(QUESTION_PREFIX)) {
                                                 startElement("", QUESTION_TAG, QUESTION_TAG, new AttributesImpl());
                                                 characters(line);
                                                 endElement("", QUESTION_TAG, QUESTION_TAG);
                                            else if (prefix.equalsIgnoreCase(ANSWER_PREFIX)) {
                                                 startElement("", ANSWER_TAG, ANSWER_TAG, new AttributesImpl());
                                                 characters(line);
                                                 endElement("", ANSWER_TAG, ANSWER_TAG);
                                            else if (prefix.equalsIgnoreCase(DISCLAIMER_PREFIX)) {
                                                 closeSection(); // close section if open
                                                 startElement("", DISCLAIMER_TAG, DISCLAIMER_TAG, new AttributesImpl());
                                                 characters(line);
                                                 endElement("", DISCLAIMER_TAG, DISCLAIMER_TAG);
                        closeSection(); // close section if open
                        endElement("", TRANSCRIPT_TAG, TRANSCRIPT_TAG);
         // closes the section tag if open
         private void closeSection() throws SAXException {
              if (inSection)
                   endElement("", SECTION_TAG, SECTION_TAG);
              inSection = false;
         // overrides super class method
         private void characters(String pLine) throws SAXException {
              if (pLine != null) {
                   char[] chars = pLine.toCharArray();
                   super.characters(chars, 0, chars.length);
         // returns the prefix for a line
         private String getPrefix(String pLine) {
              String line = pLine;
              String prefix = null;
              if (validLine(line))
                   prefix = line.substring(0,3);
              return prefix;
         private String removePrefix(String pLine) {
              String line = pLine;
              String newLine = "";
              if (validLine(line))
                   newLine = line.substring(3, line.length()).trim();
              return newLine;
         private boolean validLine(String pLine) {
              if (pLine != null && pLine.length() > 3)
                   return true;
              else
                   return false;

    Your 1,000 lines of code were indented so deeply that they scrolled off the right side of my screen and were extremely inconvenient to read. So I didn't read it.
    However. Your question claimed to be about XSLT but I didn't see any XSLT posted. That was sort of strange. Anyway, if you are generating character strings containing <BR> then what you see is what you have to expect. If you want a <BR> element then generate a <BR> element. Like the one you see in the XML example you posted. (What was the relevance of that example, anyway? I didn't get that either. Was it supposed to represent the input you hoped that code was generating, or something?)

  • Problem with x:transform function : translation with XSLT

    I've got a problem with this code :
    This is the XML file :
    <%@taglib prefix="x" uri="http://java.sun.com/jstl/xml"%>
    <%@taglib prefix="c" uri="http://java.sun.com/jstl/core"%>
    <c:import var="xslDoc" url="test.xsl"/>
    <x:transform  xslt ="${xslDoc}">
      <students>
      <student id="1">
       <name>
         <first>John</first>
         <last>Smith</last>
         <middle>T</middle>
       </name>
       <grade>
         <points>72</points>
         <letter>C</letter>
       </grade>
      </student>
    </students>
    </x:transform>This is the XSLT :
    <xsl:stylesheet version="1.0"
         xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="students">
      <html>
      <head>
      <title>XSLT Transform</title>
      </head>
      <body>
       <table border="1">
       <tr><th>First</th><th>Last</th>
    <th>Points</th><th>Letter</th></tr> 
       <xsl:apply-templates/>
       </table>
       </body>
      </html>
    </xsl:template>
    <xsl:template match="student">
      <tr>
       <td><xsl:value-of select="name/first"/></td>
       <td><xsl:value-of select="name/last"/></td>
       <td><xsl:value-of select="grade/points"/></td>
       <td><xsl:value-of select="grade/letter"/></td>
      </tr>
    </xsl:template>
    </xsl:stylesheet>I use NetBeans 3.5.1 for compiling and testing, and on my machine all works fine.
    But when i upload the code on the server i''ve this type of error :
    HTTP Status 500 - Internal Server Error
    exception
    org.apache.jasper.JasperException: access denied (java.util.PropertyPermission org.xml.sax.driver read)
         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:248)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
         at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:98)
         at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:176)
         at java.security.AccessController.doPrivileged(Native Method)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:172)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2417)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:457)
         at org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:576)
         at java.lang.Thread.run(Thread.java:536)
    root cause
    java.security.AccessControlException: access denied (java.util.PropertyPermission org.xml.sax.driver read)
         at java.security.AccessControlContext.checkPermission(AccessControlContext.java:270)
         at java.security.AccessController.checkPermission(AccessController.java:401)
         at java.lang.SecurityManager.checkPermission(SecurityManager.java:542)
         at java.lang.SecurityManager.checkPropertyAccess(SecurityManager.java:1291)
         at java.lang.System.getProperty(System.java:572)
         at org.xml.sax.helpers.XMLReaderFactory.createXMLReader(XMLReaderFactory.java:81)
         at org.apache.taglibs.standard.tag.common.xml.TransformSupport.getSource(TransformSupport.java:280)
         at org.apache.taglibs.standard.tag.common.xml.TransformSupport.getSource(TransformSupport.java:276)
         at org.apache.taglibs.standard.tag.common.xml.TransformSupport.doStartTag(TransformSupport.java:159)
         at org.apache.taglibs.standard.tag.el.xml.TransformTag.doStartTag(TransformTag.java:104)
         at org.apache.jsp.test_jsp._jspService(test_jsp.java:78)
         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:204)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
         at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:98)
         at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:176)
         at java.security.AccessController.doPrivileged(Native Method)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:172)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2417)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:457)
         at org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:576)
         at java.lang.Thread.run(Thread.java:536)
    org.apache.jasper.JasperException: access denied (java.util.PropertyPermission org.xml.sax.driver read)It seems a permission problem, but my experience with JSP is very poor , i've asked to control to my host
    the policy of the folders but they didn't respond me yet.
    Any suggestion ?
    Thx for reading, and sorry for my rusty english :-P

    Thanks.
    I've already tried to insert the whole path. You mean this,right ?
    <c:import var="xslDoc" url="http://www.domain.net/examples/test.xsl"/>I've searched a lot with google but i haven't find anything.
    I've not searched a lot into the jakarta site, I'll do tomorrow, now it's
    a bit late (1:45 AM in Italy :-0 ), so i think that i'll go to sleep.
    Thanks for responding so soon!
    I'll wait for your new infos.
    Thanks again.
    read you tomorrow.

  • How to convert xslt file into string

    i'm writting a java program to use xslt to transform the xml file. i'm encountering the problem when i try to convert the xslt file into string. i've defined my utility class called 'XmlUtil' to carry out the operation of transform xml file through xslt. but in my main java program i need to convert both xml and xslt file into a string in order to input them in my function argument. my function argument is as follows:
    String htmlString = XmlUtil.applyXsltString(xmlContent, xsltString);
    i've already converted xmlcontent into string by using:
    xmlContent = xmlContentBuffer.toString();
    but i don't know how to convert 'xsltString' now ? i've searched the google for an hour but i cannot find the solution. anyone can help ?
    detail of my souce code is as follow:
    import java.io.*;
    import java.net.*;
    import java.lang.*;
    import java.io.StringReader;
    import java.lang.reflect.Array;
    import java.util.Properties;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.transform.TransformerFactory;
    import javax.xml.transform.sax.SAXResult;
    import javax.xml.transform.sax.SAXSource;
    import javax.xml.transform.sax.SAXTransformerFactory;
    import javax.xml.transform.sax.TransformerHandler;
    import javax.xml.transform.stream.StreamSource;
    import org.apache.xml.serializer.OutputPropertiesFactory;
    import org.apache.xml.serializer.Serializer;
    import org.apache.xml.serializer.SerializerFactory;
    import org.w3c.dom.Document;
    import org.w3c.dom.Node;
    import org.w3c.dom.NodeList;
    import org.xml.sax.InputSource;
    import org.xml.sax.XMLReader;
    import org.xml.sax.helpers.XMLReaderFactory;
    import XmlUtil;
    public class FileDownload {
    public static void download(String address, String localFileName){
    OutputStream out = null;
    URLConnection conn = null;
    InputStream in = null;
    StringBuffer xmlContentBuffer = new StringBuffer();
    String temp = new String();
    String xmlContent;
    try {
    URL url = new URL(address);
    out = new BufferedOutputStream(
    new FileOutputStream(localFileName));
    conn = url.openConnection();
    in = conn.getInputStream();
    byte[] buffer = new byte[1024];
    int numRead;
    long numWritten = 0;
    System.out.println (in.toString ());
    while ((numRead = in.read(buffer)) != -1) {
    out.write(buffer, 0, numRead);
    numWritten += numRead;
    temp = new String(buffer);
    xmlContentBuffer.append(temp);
    System.out.println(localFileName + "\t" + numWritten);
    xmlContent = xmlContentBuffer.toString();
    String htmlString = XmlUtil.applyXsltString(xmlContent, xsltString);
    } catch (Exception exception) {
    exception.printStackTrace();
    } finally {
    try {
    if (in != null) {
    in.close();
    if (out != null) {
    out.close();
    } catch (IOException ioe) {
    public static void download(String address) {
    int lastSlashIndex = address.lastIndexOf('/');
    if (lastSlashIndex >= 0 &&
    lastSlashIndex < address.length() - 1) {
    download(address, address.substring(lastSlashIndex + 1));
    } else {
    System.err.println("Could not figure out local file name for " + address);
    public static void main(String[] args) {
    for (int i = 0; i < args.length; i++) {
    download(args);
    }

    I don't understand why you need load the XML and XLS files into a String. A Transformer can be constructed from a Source and there is a StreamSouce which can be constructed from an InputStream. The transform() method can take a Source as input and can produce a Result. There is no need to go near a String representation of either the input.

  • Use URL Parameters in WPC Pages

    Hi all,
    Is there anyway to pass url parameters when calling a wpc page? We would like to call a wpc page and pass a URL a parameter that would then be accessible to each individual component within the wpc page. Also, how can we read the url parameter in the XSLT for the component webforms? Any help would be appreciated.
    Thanks and Regards,
    Shibendra

    That would come within flex.
    In my case, there is a SAP CRM web application which has a push button. On click of this button, flex URL is called(ie., http://172.22.41.154/MH_Bluebook_Integration2.html). On click of that button I need to pass an Object ID, which is passed withing that flex URL, something like this:
    http://172.22.41.154/MH_Bluebook_Integration2.html?objID=abcd
    I need to receive 'abcd' in the flex. Any way we could modify the HTML wrapper to send this value to swf? 

  • WPC News including Teaser on one step ?

    Hi,
    is there a way of creating a WPC News (i read already the howto minicarticle)  and also have the teaser in one step ? It should be the same way as the old XMLForms : 2 XSLT sheet and 1 XML .
    Creating 2 elements per news is redundant work
    I don't find any hints how this can be accomplished....
    Any ideas ?
    Regards,
    Kai

    Hi, wanted to know if you were able to accomplish this task.
    We have a similar scenario and would appreciate your insight on this.
    Thanks
    Leela

  • WPC: Access Java beans from XSL

    Hi,
    How can we access custom Java beans from within the XSLs used to render WPC webforms? Do we have to implement a custom XSLT Helper? I am able to access standard Java classes using the <xmlns> tag but when I try to reference our custom classes the WPC editor throws a ClassNotFound exception. Any help will be appreciated.
    Thanks and Regards,
    Shibendra

    Hi,
    How can we access custom Java beans from within the XSLs used to render WPC webforms? Do we have to implement a custom XSLT Helper? I am able to access standard Java classes using the <xmlns> tag but when I try to reference our custom classes the WPC editor throws a ClassNotFound exception. Any help will be appreciated.
    Thanks and Regards,
    Shibendra

Maybe you are looking for

  • Essbase SSO Token with OBIEE 11g

    Has anyone had success is setting up SSO token security in OBIEE 11g for Essbase. I have followed the steps in the documents of 11.1.1.x and still am not getting users to authenticate against the cube I am using. When I log in as one of those users,

  • Saved query selections

    hi : Can users save their own query's using new selection process(s) in OBIEE 11 ir when user logs in and selects some prompt selections and can they save them and access the saved one once they log in back . If yes, can anyone send me the links for

  • How to stop flash from automatically playing media in Safari ?

    How do I stop Safari from automatically opening video on news or other websites with Adobe Flash?

  • Adobe Flash 14 install error

    I have spent hours trying resolve the Adobe Flash Player 14 update error. It seems I have tried everything, looking from site to site, suggestion to suggestion. Now using the uninstall, I have NO Flash at all in my Safari. Nothing works. Has anyone f

  • Constructor behaviour via INSERT SQL

    Interestingly, using an object constructor itself as the insert value seems to have overheads, with the constructor being called multiple times for instantiating the single same object. Cannot recall seeing this documented. Here's an example (on 11.2