Xsl:param

I run XSL-script from Java-servlet using XML parser v.2.0.2.9.
I want to pass the node list to stylesheet script. How can i do it?? For example:
XML -------------
<root>
<leaf>1</leaf>
</root>
XSL -------------
<xsl:param name='new_leaves'/>
<xsl:template match='leaf'>
<xsl:copy-of select="$new_leaves"/>
</xsl:template>
When servlet runs XSL-script it passes parameter by setParam(...).
The result XML-file must be something like:
Result XML ------
<root>
<leaf>2</leaf>
<leaf>3</leaf>
</root>
When parameter is literal value then all right. The problem rises when i want to pass the node list for a parameter.
Thanks

Cannot be done directly to the best of my knowledge.
You could pass a value which is a space-separated list of numbers, then write an XSLT recursive template to parse the space-separated list of numbers and turn it into the XML fragment you're trying to create.

Similar Messages

  • Can we use xsl:param element in XSLT mapping...?

    Hi Guys
    Can we use <xsl:param> element in XSLT mapping in XI..?
    Is there any documentation out there for XSLT mapping?
    Thanking in advance

    Hi,
    Check this link for an example:
    https://www.sdn.sap.com/sdn/url.sdn?res=/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/6c514a4f-0501-0010-038c-994da5200215
    Regards,
    Sridhar

  • Help: on using xsl:param

    I am working on some xsl codes to do transformation,
    I have some codes like this:
    <xsl:template match="mytemplate">
    <xsl:param name="myparam"><xsl:number value="count()"/></xsl:param>
    function myfunction_{$cid} ()
    <!--I want the function name shows as "function myfunction_5 ", (5 is return value of count()).-->
    </xsl:template>
    Any help is greatly appreciated!

    Why would you use <xsl:param> to do that? Try this instead:
    function myfunction_<xsl:number value="count()"/> ()
    Or if you saw an example of an attribute value template somewhere else and tried to use it without understanding it, how about this:
    <xsl:variable name="cid"><xsl:number value="count()"/></xsl:variable>
    function myfunction_{$cid} ()
    Finally, what does this have to do with Java? There are plenty of active XSL mail lists where you would be much more likely to get a useful answer.

  • Xsl:param question

    hi in my xsl
    I have something that is like
    <xsl:param name="x" select="@somevalue"/>
    that @somevalue is suppose to have a value assigned to it (so it is dynamic).......but I can't figure out how it might work
    can someone provide my some info as to how @ this works in the xsl world....
    basically I want to know how i can assign value to that @somevalue...
    jaxb...?!
    thanks

    Are you asking what the @ character means? It's a shortcut for the attribute axis, so basically "@somevalue" means "the somevalue attribute of the context node".

  • XMLTansform and xsl:param values

    Hello,
    I would like to know if it is possible to pass xsl:param values when calling XMLTransform(xml, xsl).
    If not, is there another way to render an XML with an XSL that takes parameters?
    Thank you.

    RDC has been deprecated since version 9 meaning no new functionality has been added to it. Cascading Parameters were added in CR 11.
    There is no set of API's to access these types of Parameters at this time.

  • XSL param filter for character length?

    Hi I am using a xsl a transformation and using a param filter to only show 4 items (Works great!) but I would only like to show the first 50 Characters of the Article... is there a param filter I could pass to do this? or Would I need to make a new XML node to show?
    Thanks for any help!
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="html" encoding="UTF-8"/>
    <xsl:param name="ItemsPerPage" select="4" />
    <xsl:template match="/">
    <xsl:for-each select="dataroot/item[position() &lt;= $ItemsPerPage]">
    <xsl:sort select="date" order="descending"/>
      <h3><xsl:value-of select="title" disable-output-escaping="yes"/>
        </h3>
       <h5><xsl:value-of select="location"/> :
      <xsl:value-of select="date"/></h5>
       <h5><xsl:value-of select="author"/></h5>
        <xsl:value-of select="article" disable-output-escaping="yes"/>
          <xsl:value-of select="image"/>
           <xsl:value-of select="link"/>
    <br class="clearfloat" />
    </xsl:for-each>
    </xsl:template>
    </xsl:stylesheet>
    IsleA-Row2_Seat7

    Try this:
    <xsl:value-of select="substring(article, 1, 50)" disable-output-escaping="yes"/>
    AFAIK, that will cut it off at 50 characters. An alternative that might be more elegant is to select the first sentence and add an ellipsis like this:
    <xsl:value-of select="substring-before(article, '. ')" disable-output-escaping="yes"/>
    <xsl:text>... </xsl:text>

  • XSQL to XSL params passing problem

    I'm trying to pass some parameters from XSQL to processing XSL, but I am unable to pass string constants. To make it clear:
    XSQL:
    <?xml version="1.0" ?>
    <?xml-stylesheet type="text/xsl" href="some.xsl" ?>
    <qry xmlns:xsql="urn:oracle-xsql" connection="orcl8">
    <xsql:set-stylesheet-param name="from" value="{@f}" />
    <xsql:set-stylesheet-param name="where" value="{@w}" />
    <xsql:set-stylesheet-param name="orderby" value="{@o}" />
    <xsql:query max-rows="{@mr}" skip-rows="{@sr}" null-indicator="yes">
    <![CDATA[
    select * from {@f} where {@w} order by {@o}
    ]]>
    </xsql:query>
    </qry>
    XSL (most of code omitted to save space):
    SELECT * FROM <xsl:value-of select="$from"/>
    WHERE <xsl:value-of select="$where"/>
    ORDER BY <xsl:value-of select="$orderby"/>
    If I pass w=FIELD='some string' (and even when I use &apos; ) all parameters passed to the XSL come empty. Everything without apostrophes comes in just fine, but appearance of apostrophes or their escaped equivalents causes all parameters to get in empty. Query is executed correctly though.
    Am I doing something wrong or there's a bug in XSQL processor (or maybe what I'm trying to do is simply impossible - I just started to learn XML/XSLT and not sure I'm getting everything right...)?
    regards,
    Bob.
    null

    In my xsql I run various SQL statements. Some of these select configuration type details for that user/session. So the returned XML includes business data and some configuration data.
    My main XSL uses these values to determine which templates to process. I use xsl:choose.
    It does mean a big choose statement but it works fine.
    Matt

  • Xsl:param or xsl:variable gets reset.

    Hi, I'm trying to keep a counter using a top level variable in xsl.
    <?xml version="1.0"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:variable name="rownumber">1</xsl:variable>
    And every time my xsl calls a specific template, i want to keep a counter.
    <xsl:template match="row">
    <xsl:variable name="rownumber">     
    <xsl:number value="$rownumber+1"/>     
    </xsl:variable>     
    <xsl:variable value="$rownumber"/>
    </xsl:template>
    However, my variable $rownumber always gets reset to the default value of "1" everytime the template is called and returns a value of "2".
    Is there a work around for this? Is there a way to keep a counter in xsl? Can top level variable change?
    I don't want to count the nodes either....
    Thanks in advanced,
    jon

    You can't do that. Variables can't change. And there is no "workaround", as you put it. XSLT is not that kind of programming language. If you want to count something, you need to figure out an expression that looks at the incoming XML and determines the answer. This is often surprisingly easy once you stop writing programs that assume that statements are executed one after the other. For example, in your case it appears that you just want to count the number of "row" elements in the document. The XPath expression for that is "count(//row)". Or perhaps you want to count the number of "row" elements below the current node; that's "count(row)".

  • Omniportlet XML : Param to XSL Filter

    Hi,
    I have an xml file not in the <rowset><row></row></rowset> format to display in an XML Omniportlet.
    I have made a XSL file to transform it.
    My portal is in three languages.
    I have added a param (<xsl:param name="lang">) to my XSL file.
    How can I pass the NLS_LANG to that XSL file ?
    I tryed to add a system parameter on the page to the omniportlet containing the NLS_LANGUAGE but it doesn't seems to work.
    I tryed to set the XSL URL to : url/file.xsl?lang=##Param1##
    How to do it ?
    Thank you for your help.
    Benoit Pironet
    Message was edited by:
    Benoit.Pironet

    Hello, I have a problem with the same omniPortlet. I have to show data from an xml file exported with excel and I can´t build the filter.xsl correctely... always I get some error.... like
    *"Target XML document does not conform to a rowset-row structure."* or
    *"Failed to load user defined filter"*
    Could anybody Help me??
    Could anybody send me an example, an xml file (exported with Excel) with its xsl file that works?? PLEASE???

  • How to get title dyanamically in xsl

    Hi ,
    i am working seo project which is search engine optimigation.
    i have one xsl file and i added meta tag like
    <title> title</tile>
    <meta name="Description" content="MyDescription">
    <meta name="Keywords" content="Keyword1, Keyword2, �, KeywordN">
    can you please tell me how to get the dynamic title based on the url.
    and keyword with commas taking as input title.
    i am using javascript but i do not how to call that sciprt in xsl file
    this is my xsl file souce code
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt"
    xmlns:user="user" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xalan="http://xml.apache.org/xslt" xmlns:i18n="http://apache.org/cocoon/i18n/2.1">
    <xsl:param name="pageName"/>
    <xsl:param name="titlePage"/>
    <xsl:param name="keyword"/>
    <!-- start - includes -->
    <xsl:include href="../mobility/header.xsl"/>
    <xsl:include href="../mobility/footer.xsl"/>
    <xsl:include href="../mobility/navigation.xsl"/>
    <xsl:include href="../mobility/mobility_content.xsl"/>     
    <!-- end - includes -->
    <xsl:template match="page">
    <html>
    <head>
    <script type="text/javascript">
              function test2()
              var st= "nissan uk";
              str = str.toLowerCase();
    str = str.replace(/['"-]/g, ",");
    str = str.replace(/\W/g, ",");
              str = str.replace(/\s+/g, ",");
    window.location();
    </script>
    <title><xsl:value-of select="$titlePage"/></title>
    <xsl:variable name="keywords" select="'keyword'"/>
    <xsl:variable name="scriptid" select="test2()"/>
    <meta content="We have developed this site to make it easier to access the information you need, when you need it. " name="Description" />
    <meta content="{$scriptid}" name="Keywords"/>
    <meta content="index, follow" name="Robots"/>
    <xsl:comment><xsl:value-of select="$titlePage"/>.We have developed this site to make it easier to access the information you need, when you need it. </xsl:comment>
         <link rel="stylesheet" type="text/css" href="/nova/global/css/mobility/mobility.css"/>
         <script type="text/javascript" src="/nova/global/js/mobility/ExpandingMenu.js"/>
         <script type="text/javascript" src="/nova/global/js/mobility/Popup.js"/>
         <script type="text/javascript" src="/nova/global/js/global.js"/>
    </head>
    <body id="mb_bodyMargin" >
         <!-- start - to publish the header details -->
         <div id="mb_navtop">
         <xsl:call-template name="header"/>
         </div>
         <!-- end - to publish the header details -->
         <div id="mb_navMenu">
         <div class="mb_leftContent">
         <!-- start - to publish the left navigation -->
              <div class="mb_menublock">
              <div class="mb_menublockGrayPatch"></div>           
              <xsl:copy-of select="/page/navigation/node()"/>               
              </div>
              <!-- end - to publish the left navigation -->     
              <div class="mb_whitePathch"></div>               
              <!-- start - to publish the Motability image & Related Pags -->
              <div class="mb_mobilityimage">
              <a>
                   <xsl:attribute name="href"><xsl:value-of select="collection/image/IMAGE-LINK"/></xsl:attribute>
                   <img>
                   <xsl:attribute name="src">/nova/<xsl:value-of select="collection/image/filename"/></xsl:attribute>
                   <xsl:attribute name="alt"><xsl:value-of select="collection/image/alt"/></xsl:attribute>
                   <xsl:attribute name="border">0</xsl:attribute>                    
                   <xsl:attribute name="class">mb_imgMotability</xsl:attribute>                    
                   </img>                         
                   </a>
              <xsl:apply-templates select="collection" mode="mb_related_links"/>
              </div>
              <!-- end - to publish the Motability image & Related Pags -->
         </div>
         <!-- start - to publish the right content & footer details -->               
         <div class="mb_rightContent">
              <xsl:apply-templates select="collection" mode="mobility_home"/>
              <xsl:call-template name="footer"/>
         </div>
         <!-- end - to publish the right content & footer details -->
         </div>
    </body>
    <!-- start - to expand and highlight the selected menu/sub-menu item -->
    <xsl:variable name="pageNameWithoutIndex" select="$pageName"/>
    <xsl:choose>
    <xsl:when test="contains($pageNameWithoutIndex,'/')">
         <xsl:variable name="firstNav" select="substring-before($pageNameWithoutIndex,'/')"/>
         <xsl:variable name="secondNav" select="substring-after($pageNameWithoutIndex,'/')"/>
         <script>
              expand('<xsl:value-of select="$firstNav"/>','<xsl:value-of select="$pageNameWithoutIndex"/>');
         </script>     
    </xsl:when>
    <xsl:otherwise>
         <xsl:variable name="firstNav" select="$pageNameWithoutIndex"/>
         <script>
              expand('<xsl:value-of select="$firstNav"/>');
         </script>     
    </xsl:otherwise>
    </xsl:choose>
    <!-- start - to expand and highlight the selected menu/sub-menu item -->
    </html>
    </xsl:template>
    </xsl:stylesheet>
    and sitemap.map file is
    <?xml version="1.0"?>
    <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
    <!-- Reorganised sitemap as follows:- printing pipeline, then main pipeline-->
    <!--============================ Views ======================================-->
         <map:views>
              <map:view from-label="beautify" name="beautify">
                   <map:transform type="i18n">
                        <map:parameter name="locale" value="{../locale}"/>
                   </map:transform>
                   <map:serialize type="xml"/>
              </map:view>
         </map:views>
    <!--=========================== Pipelines =================================-->
    <map:pipelines>
         <map:pipeline>
    <!--============= to generate Content for navigation ===============================-->
         <map:match pattern="navigation.xml">
         <map:generate src="cocoon:/navigation_gen.xml"/>
         <map:transform src="context:///stylesheets/mobility/navigation.xsl"/>
    <map:serialize type="xml"/>
         </map:match>
    <!--============= to generate Channel information for Mobility =================-->
         <map:act type="nscData">
              <map:match pattern="navigation_gen.xml">
              <map:generate src="cocoon://sitemap-gen_{../locale-path}.xml" />
              <map:transform src="context:///stylesheets/mobility/channel.xsl"/>
         <map:serialize type="xml"/>
              </map:match>
         </map:act>
         <map:act type="nscData">
    <!--============ NOVA - Mobility root pipeline ====================-->
              <map:match pattern="">
                   <map:redirect-to uri="mobility/index.html"/>
              </map:match>
              <map:match pattern="home/index.*">
                   <map:redirect-to uri="/home/mobility/index.html"/>
              </map:match>
    <!--================================= Nissan mobility Home Page =================================-->
                   <map:match pattern="index.*">
                   <map:aggregate element="page" label="beautify">
                             <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
                             <map:part src="cocoon://{../locale-path}/mobility/home.chan"/>
              </map:aggregate>
              <map:call resource="get_{1}">
                             <map:parameter name="filename" value="home"/>
                             <map:parameter name="titlefilename" value="nissan uk,home"/>
                             <map:parameter name="keywordname" value="nissan,uk,home"/>
                        </map:call>
              </map:match>
              <!--=================================== Scheme page =======================================-->
              <map:match pattern="scheme/index.*">
                        <map:aggregate element="page" label="beautify">
                   <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
                             <map:part src="cocoon://{../locale-path}/mobility/scheme.chan"/>
              </map:aggregate>
                        <map:call resource="get_{1}">
                             <map:parameter name="filename" value="scheme" />
                             <map:parameter name="titlefilename" value="nissan uk,scheme"/>
                             <map:parameter name="keywordname" value="nissan,uk,scheme"/>
                        </map:call>
              </map:match>
              <!--====================== For the Scheme sub-menu pages =========================-->
              <map:match pattern="scheme/*/index.*">
                        <map:aggregate element="page" label="beautify">
                   <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
                             <map:part src="cocoon://{../locale-path}/mobility/scheme/{1}.chan"/>
              </map:aggregate>
                        <map:call resource="get_{2}">
                             <map:parameter name="filename" value="{1}" />
                             <map:parameter name="file-path" value="scheme/{1}"/>
                             <map:parameter name="file-path1" value="Nissan UK,scheme-{1}"/>
                             <map:parameter name="keywordname" value="nissan,uk,scheme,{1}"/>
                        </map:call>
              </map:match>
              <!--====================== For those pages under construction =============-->
              <map:match pattern="mobility_centre/index.*">
                        <map:aggregate element="page" label="beautify">
                   <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
                             <map:part src="cocoon://{../locale-path}/mobility/mobility_centre.chan"/>
              </map:aggregate>
                        <map:call resource="get_{1}">
                             <map:parameter name="filename" value="mobility_centre" />
                             <map:parameter name="titlefilename" value="Nissan UK,mobility_centre" />
                        </map:call>
              </map:match>
              <!--====================== For the sub-menu pages under construction=========================-->
              <map:match pattern="mobility_centre/*/index.*">
                        <map:aggregate element="page" label="beautify">
                   <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
                             <map:part src="cocoon://{../locale-path}/mobility/mobility_centre.chan"/>
              </map:aggregate>
                        <map:call resource="get_{2}">
                             <map:parameter name="filename" value="{1}" />
                             <map:parameter name="file-path" value="mobility_centre/{1}"/>
                        </map:call>
              </map:match>
    <!--================================== Vehicles page =======================================-->
    <map:match pattern="vehicles/index.*">
    <map:aggregate element="page" label="beautify">
    <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
    <map:part src="cocoon://{../locale-path}/mobility/vehicles.chan"/>
    <map:part element="passenger" src="cocoon://{../locale-path}/mobility/vehicles/passenger.chan"/>
    <map:part element="lcv" src="cocoon://{../locale-path}/mobility/vehicles/lcv.chan"/>
    <map:part element="four-by-four" src="cocoon://{../locale-path}/mobility/vehicles/4x4.chan"/>
    </map:aggregate>
    <map:call resource="get_{1}">
    <map:parameter name="filename" value="vehicles" />
    <map:parameter name="titlefilename" value="nissan uk,vehicles"/>
    </map:call>
    </map:match>
    <!--=============================== For Vehicles sub-menu pages =============================-->
    <map:match pattern="vehicles/*/*/index.*">
    <map:aggregate element="page" label="beautify">
    <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
    <map:part src="cocoon://{../locale-path}/mobility/vehicles.chan"/>
    <map:part src="cocoon://{../locale-path}/mobility/vehicles/{1}/{2}.chan"/>
    <map:part element="" strip-root="false" src="cocoon://{../locale-path}/mobility/vehicles/{1}/{2}/NSC-MODEL-XTND.type"/>
    <map:part src="cocoon://{../locale-path}/vehicles/{1}/{2}/grades-and-specs/EQUIPMENT-XTND.type"/>
    <map:part src="cocoon://{../locale-path}/vehicles/{1}/{2}/grades-and-specs/GRADE-XTND.type"/>
    <map:part src="cocoon://{../locale-path}/vehicles/{1}/{2}/carbuilder/ENGINE-AND-TRANS-XTND.type"/>
    <map:part element="BODY" src="cocoon://{../locale-path}/vehicles/{1}/{2}/carbuilder/BODY-XTND.type"/>
    <map:part element="" strip-root="true" src="cocoon://logicsheets/vehicles/pv-gp.xsp?country={../country}&locale={../locale-path}&with-vat={../with-vat}&modelGroup={2}&cache-timeout=600" />
    </map:aggregate>
    <map:call resource="get_{3}">
    <map:parameter name="filename" value="vehicles-details" />
    <map:parameter name="file-path" value="vehicles/{1}/{2}"/>
    <map:parameter name="tiltefile-path" value="nissan uk, vehicles -{1}-{2}"/>
    <map:parameter name="tiltefile-path-intro" value="nissan uk, vehicles -{1}-{2}-intro"/>
    </map:call>
    </map:match>
    <!--======================== Performance/Energy (Frugality page) ==============================-->
    <map:match pattern="*/*/*/performance/energy/index.*">
    <map:aggregate element="page">
    <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
    <map:part src="cocoon://{../locale-path}/mobility/vehicles/image.type"/>
    <map:part src="cocoon://{../locale-path}/mobility/vehicles/Mb_Relatedlinks.type"/>
    <map:part src="cocoon://{../locale-path}/mobility/vehicles/{2}/{3}.chan"/>
    <map:part src="cocoon://logicsheets/vehicles/engine-energy.xsp?locale={../locale-path}&model-code={3}&cache-timeout=600" />
    <map:part src="cocoon://logicsheets/vehicles/model-body-engine-attributes.xsp?model-code={3}&cache-timeout=600"/>
    </map:aggregate>
    <map:call resource="get_{4}">
    <map:parameter name="filename" value="energy" />
    <map:parameter name="file-path" value="vehicles/{2}/{3}"/>
    </map:call>
    </map:match>
    <!--======================== Price popup for Vehicle pages ==============================-->
    <map:match pattern="*/*/*/price-popup.*">
    <map:aggregate element="page">
    <map:part src="cocoon://{../locale-path}/mobility/vehicles/{2}/{3}.chan"/>
    </map:aggregate>
    <map:call resource="get_{4}">
    <map:parameter name="filename" value="price-popup" />
    <map:parameter name="file-path" value="vehicles/{3}"/>
    </map:call>
    </map:match>
              <!--====================== News and Events page ==========================-->
              <map:match pattern="news-events/index.*">
                        <map:aggregate element="page" label="beautify">
                             <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
                             <map:part src="cocoon://{../locale-path}/mobility/news-events.chan"/>
              </map:aggregate>
                        <map:call resource="get_{1}">
                             <map:parameter name="filename" value="news-events" />
                        </map:call>
              </map:match>
              <!--======================= News Article page ============================-->
    <map:match pattern="news-events/*.*">
    <map:aggregate element="page" label="beautify">
    <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
    <map:part src="cocoon://{../locale-path}/mobility/news-events.chan"/>
    <map:part src="cocoon://{../locale-path}/{1}.item"/>
    </map:aggregate>
    <map:call resource="get_{2}">
    <map:parameter name="filename" value="news-article"/>
    </map:call>
    </map:match>
              <!--=================== contact us / Requests page =======================-->
              <map:match pattern="contactus/index.*">
                        <map:aggregate element="page" label="beautify">
                             <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
                             <map:part src="cocoon://{../locale-path}/mobility/contactus.chan"/>
              </map:aggregate>
                        <map:call resource="get_{1}">
                             <map:parameter name="filename" value="contactus" />
                        </map:call>
              </map:match>
              <!-- ================ Brochure and Test Drive page =========================== -->
              <map:match pattern="*/brochure_testdrive/index.*">
                   <map:act type="sessionCreator"> <!-- sessionCreator -->     
                        <map:aggregate element="page" label="beautify">
                             <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
    <map:part src="cocoon://{../../locale-path}/mobility/contactus/image.type"/>
    <map:part src="cocoon://{../../locale-path}/mobility/contactus/Mb_Relatedlinks.type"/>
    <map:part src="cocoon://request.params"/>          
                             <map:part src="cocoon://session.params"/>
    <map:part src="cocoon://vehicles/leads_vehicle_data.xml"/>
         <map:part element="brochure" strip-root="true" src="cocoon://{../../locale-path}/mobility/contactus/brochure_testdrive.chan"/>
                             <map:part element="testdrive" strip-root="true" src="cocoon://{../../locale-path}/mobility/contactus/testdrive.chan"/>
                             <map:part element="" strip-root="true" src="../content/contact/{../../locale-path}/brochure/step1-static.xml"/>
              </map:aggregate>
                        <map:call resource="get_{../2}">
                             <map:parameter name="filename" value="brochure-testdrive" />
                             <map:parameter name="file-path" value="{../1}/brochure_testdrive" />
                             <map:parameter name="file-path" value="nissan uk,passanger-range " />
                        </map:call>
                   </map:act>     
              </map:match>
              <!-- ===================== Enquiries page ================================ -->
              <map:match pattern="*/enquiries/index.*">
                   <map:act type="sessionCreator"> <!-- sessionCreator -->     
                        <map:aggregate element="page" label="beautify">
                             <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
                             <map:part src="cocoon://{../../locale-path}/mobility/contactus/image.type"/>
    <map:part src="cocoon://{../../locale-path}/mobility/contactus/Mb_Relatedlinks.type"/>
                             <map:part src="cocoon://{../../locale-path}/mobility/contactus/enquiries.chan"/>
                             <map:part element="" strip-root="true" src="../content/contact/{../../locale-path}/mobility/mobility.xml"/>
              </map:aggregate>
                        <map:call resource="get_{../2}">
                             <map:parameter name="filename" value="enquiries" />
                             <map:parameter name="file-path" value="{../1}/enquiries" />
                        </map:call>
                   </map:act>     
              </map:match>
              <!-- ========================= Your Details page ============================ -->
    <map:match pattern="*/*/yourdetails.*/*">
         <map:act type="sessionWriter">
    <map:aggregate element="page" label="beautify">
    <map:part src="cocoon://request.params"/>
    <map:part src="cocoon://session.params"/>
    <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
    <map:part src="cocoon://{../../locale-path}/mobility/contactus/image.type"/>
              <map:part src="cocoon://{../../locale-path}/mobility/contactus/Mb_Relatedlinks.type"/>
    <map:part element="" strip-root="true" src="../content/contact/{../../locale-path}/mobility/step1-static.xml"/>
    <map:part element="" strip-root="false" src="../content/contact/{../../locale-path}/mobility/occupation.xml"/>
    </map:aggregate>
    <map:call resource="get_{../3}">
    <map:parameter name="filename" value="yourdetails" />
    <map:parameter name="file-path" value="{../1}/{../2}"/>
    <map:parameter name="formValues" value="{../4}"/>
    </map:call>
    </map:act>
    </map:match>
         <!--========================= No Postal Address code Page =========================-->
         <map:match pattern="*/*/postcode.*/*">
                        <map:act type="sessionWriter">     
                             <map:aggregate element="page" >
                                  <map:part src="cocoon://request.params"/>          
                             <map:part src="cocoon://session.params"/>     
                             <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
         <map:part src="cocoon://{../../locale-path}/mobility/contactus/image.type"/>
         <map:part src="cocoon://{../../locale-path}/mobility/contactus/Mb_Relatedlinks.type"/>
                             <map:part strip-root="true" src="cocoon://contact/common_{../../locale-path}.xml?section-header-id=/{../../locale-path}/contact/brochure"/>                          
                                  <map:part element="" strip-root="true" src="../content/contact/{../../locale-path}/mobility/step1-static.xml"/>
                                  <map:part element="" strip-root="false" src="../content/contact/{../../locale-path}/common/occupation.xml"/>                              
                                  <map:part element="" strip-root="false" src="cocoon://search.qas"/>
                                  <map:part strip-root="true" src="cocoon://{../../locale-path}/contact.chan"/>
                                  <map:part strip-root="true" src="cocoon://{../../locale-path}/contact/brochure.chan_errcheck"/>
                             </map:aggregate>
                             <map:call resource="get_{../3}">
                                  <map:parameter name="filename" value="yourdetails" />
                                  <map:parameter name="file-path" value="{../1}/{../2}"/>
                                  <map:parameter name="formValues" value="{../4}"/>
                             </map:call>
                        </map:act>     
                   </map:match>
                   <map:match pattern="*/list.*">
                        <map:act type="sessionWriter">
                             <map:aggregate element="page">
                                  <map:part src="cocoon://request.params"/>          
                             <map:part src="cocoon://session.params"/>
                                  <map:part strip-root="true" src="cocoon://contact/common_{../../locale-path}.xml?section-header-id=/{../../locale-path}/contact/{../1}"/>      
                                  <map:part element="" strip-root="true" src="../content/contact/{../../locale-path}/address/list-static.xml"/>
                             <map:part src="cocoon://results.qas"/>          
                             </map:aggregate>                         
                             <map:call resource="get_{../2}">
                                  <map:parameter name="file-path" value="/{nsc-short-name}/{locale-path}/site-media/contact/"/>                         
                                  <map:parameter name="filename" value="address/list" />
                                  <map:parameter name="nedstat-path" value="{../../country-upper}.{../1}.askaddress"/>                              
                             </map:call>
                        </map:act>
                   </map:match>     
                   <map:match pattern="*/validate.*">
                        <map:act type="sessionWriter">
                             <map:aggregate element="page" >
                                  <map:part src="cocoon://request.params"/>          
                             <map:part src="cocoon://session.params"/>
                                       <map:part strip-root="true" src="cocoon://contact/common_{../../locale-path}.xml?section-header-id=/{../../locale-path}/contact/{../1}"/>      
                                  <map:part element="" strip-root="true" src="../content/contact/{../../locale-path}/address/validate-static.xml"/>
                             <map:part src="cocoon://results.qas"/>          
                             </map:aggregate>
                             <map:call resource="get_{../2}">
                                  <map:parameter name="file-path" value="/{nsc-short-name}/{locale-path}/site-media/contact/"/>                         
                                  <map:parameter name="filename" value="address/validate" />
                                  <map:parameter name="nedstat-path" value="{../../country-upper}.{../1}.askaddress"/>                              
                             </map:call>
                        </map:act>
                   </map:match>
              <map:match pattern="*/*/confirmation.*">
                             <map:act type="sessionWriter">
                             <map:act type="data-submit">     
                                  <map:aggregate element="page" >
                                       <map:part src="cocoon://request.params"/>          
                                  <map:part src="cocoon://session.params"/>
                                  <map:part src="cocoon://vehicles/leads_vehicle_data.xml"/>     
                                  <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
    <map:part src="cocoon://{../../../locale-path}/mobility/contactus/image.type"/>
                                  </map:aggregate>
                                  <map:call resource="get_{../../3}">
                                       <map:parameter name="filename" value="confirmation"/>
                                       <map:parameter name="file-path" value="{../../1}/{../../2}"/>
                                  </map:call>
                             </map:act>
                        </map:act>
                   </map:match>
         <!--============================ Tell us More Page ================================-->
    <map:match pattern="*/*/more.*">
                        <map:act type="sessionCreator">                    
                             <map:aggregate element="page" >
                                  <map:part src="cocoon://request.params"/>          
                             <map:part src="cocoon://session.params"/>
                             <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
              <map:part src="cocoon://{../../locale-path}/mobility/contactus/image.type"/>
    <map:part src="cocoon://{../../locale-path}/mobility/contactus/Mb_Relatedlinks.type"/>
                                  <map:part strip-root="true" src="cocoon://contact/common_{../../locale-path}.xml?section-header-id=/{../../locale-path}/contact/{../1}"/>     
                                  <map:part element="" strip-root="true" src="../content/contact/{../../locale-path}/common/more-static.xml"/>
                                  <map:part strip-root="true" src="cocoon://{../../locale-path}/contact.chan_errcheck"/>
                                  <map:part strip-root="false" src="../content/contact/received-files/Leisure_{../../locale-path}.xml"/>
                                  <map:part strip-root="false" src="../content/contact/received-files/Sport_{../../locale-path}.xml"/>
                                  <map:part strip-root="false" src="../content/contact/received-files/FinanceType_{../../locale-path}.xml"/>
                                  <map:part strip-root="false" src="../content/contact/received-files/FuelType_{../../locale-path}.xml"/>
                             </map:aggregate>
                             <map:call resource="get_{../3}">
                                  <map:parameter name="filename" value="more" />
                                  <map:parameter name="file-path" value="/{nsc-short-name}/{locale-path}/site-media/contact/"/>                              
                                  <map:parameter name="nedstat-path" value="{../../country-upper}.contact.{2}.more"/>
                             </map:call>
                        </map:act>
                   </map:match>
         <!--============================ confirmation2 ================================-->
    <map:match pattern="*/*/confirm_more.*">
    <map:act type="sessionWriter">
    <map:act type="data-submit">
    <map:aggregate element="page" >
    <map:part src="cocoon://request.params"/>
    <map:part src="cocoon://session.params"/>
    <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
                   <map:part src="cocoon://{../../../locale-path}/mobility/contactus/image.type"/>
    <map:part strip-root="true" src="cocoon://contact/common_{../../../locale-path}.xml?section-header-id=/{../../../locale-path}/contact/{../../1}"/>
    <map:part element="" strip-root="true" src="../content/contact/{../../../locale-path}/common/confirmation-static.xml"/>
    </map:aggregate>
    <map:call resource="get_{../../3}">
    <map:parameter name="filename" value="confirmation_more" />
    <map:parameter name="file-path" value="{../../1}/{../../2}"/>
    </map:call>
    </map:act>
    </map:act>
    </map:match>
    <!--============================ Sitemap page ================================-->
              <map:match pattern="sitemap/index.*">
                        <map:aggregate element="page" label="beautify">
                             <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
                             <map:part src="cocoon:/navigation_gen.xml"/>
                             <map:part src="cocoon://{../locale-path}/mobility/sitemap.chan"/>
              </map:aggregate>
                        <map:call resource="get_{1}">
                             <map:parameter name="filename" value="sitemap"/>
                        </map:call>
         </map:match>
         <!-- =========================== Image PopUp ================================= -->
    <map:match pattern="*/image-popup.*">
         <map:aggregate element="page" label="beautify">
                        <map:part src="cocoon://{../locale-path}/mobility/scheme.chan"/>
                   </map:aggregate>
    <map:call resource="get_{2}">
                        <map:parameter name="filename" value="image-popup"/>
              </map:call>
         </map:match>
    <!-- ======================== Editorial - PopUp ================================== -->
    <map:match pattern="scheme/editorial-popup.*">
              <map:aggregate element="page" label="beautify">
                   <map:part src="cocoon://{../locale-path}/mobility/scheme/editorial-page-standard.type"/>
                   </map:aggregate>
    <map:call resource="get_{1}">
                   <map:parameter name="filename" value="editorial-popup"/>
              </map:call>
         </map:match>
    <!--=========================== Terms and Conditions =================================-->
    <map:match pattern="terms-conditions/index.*">
    <map:aggregate element="page" label="beautify">
    <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
    <map:part src="cocoon://{../locale-path}/mobility/home/editorial-page-faq-short.type"/>
    <map:part src="cocoon://{../locale-path}/mobility/home/image.type"/>
    </map:aggregate>
    <map:call resource="get_{1}">
    <map:parameter name="filename" value="terms-conditions"/>
    </map:call>
    </map:match>
         </map:act>
         </map:pipeline>
    </map:pipelines>
    <!--=========================== Resources =================================-->
         <map:resources>
              <map:resource name="get_html">
                   <map:act type="nscData">     
                   <map:transform type="i18n">
                             <map:parameter name="locale" value="{../locale}" />
                        </map:transform>               
                        <map:transform type="xslt" src="cocoon://stylesheets/mobility/{../filename}.xsl">
                             <map:parameter name="pageName" value="{../filename}"/>
                             <map:parameter name="titlePage" value="{../titlefilename}"/>
                             <map:parameter name="keyword" value="{../keywordname                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    Works for me. What happened when you tried?
    <pre style="
    font-family: Monaco, 'Courier New', Courier, monospace;
    font-size: 10px;
    font-weight: normal;
    margin: 0px;
    padding: 5px;
    border: 1px solid #000000;
    width: 720px;
    color: #000000;
    background-color: #E6E6EE;
    overflow: auto;"
    title="this text can be pasted into the AppleScript Editor">
    tell application "Finder" to display dialog "I need ® or ™ in dialog box text" with title "I need ® or ™ in dialog box text" buttons {"Aha!"} default button 1</pre>

  • Getting unique values from a list using XSL

    I have a requirement to dynamically generate a unique list of categories that will be used to populate a drop-down box.
    The XML that is being sent is in a format similar to this...
    <item>
    <title>random text1</title>
    <category>research</category>
    <category>marketing</category>
    <category>industry</category>
    </item>
    <item>
    <title>random text2</title>
    <category>research</category>
    <category>development</category>
    </item>
    <item>
    <title>random text3</title>
    <category>marketing</category>
    <category>fishing</category>
    <category>hunting</category>
    <category>development</category>
    </item>
    What i need is to be able to generate a list of all the unique "category" items, without having any duplicates.... eg in the example above, the list would be "marketing, fishing, hunting, research, development, industry"
    I've been using the following xsl, which works, but only when there is a single <category> in each <item> node, but i cant work out how to extend this to look at ALL the categories in the <item>. When i add additional <category> nodes, the xsl stops processing them. There was a lot of trial and error to get this far, but really struggling to get any further.
    <xsl:param name="cat">all</xsl:param>
    <xsl:key name="uniqueCategoryKey" match="item" use="./category"/>
    <select name="cat">
    <option value="all">all</option>
         <xsl:for-each select="//item[generate-id() = generate-id(key('uniqueCategoryKey', ./category))]">
              <xsl:choose>
                   <xsl:when test="$cat = category">
                        <option selected="{category}"><xsl:value-of select="category"/></option>
                   </xsl:when>
                   <xsl:otherwise>
                        <option value="{category}"><xsl:value-of select="category"/></option>
                   </xsl:otherwise>
              </xsl:choose>
         </xsl:for-each>
    </select>
    Any help appreciated on how to proceed
    Thanks

    Try changing these two lines:
    <xsl:key name="uniqueCategoryKey" match="/" use="/item/category"/>
    <xsl:for-each select="//[generate-id() = generate-id(key('uniqueCategoryKey', /item/category))]">And go back and read the article which you got the <xsl:key> idea from. It should explain why it did things that way. Understand that explanation and you should be able to modify the code to do what you like.

  • Gif file in a xsl:include

    Hi,
    Can a .gif file be included in a xsl:include?
    I cannot use <img src="/images/delete.gif"/> since the "src" part is
    1)going to be dynamic and
    2)cannot be returned as a TAG in the XML as well.
    Thanks in advance...

    why can't you make the image path a variable or parameter...
    <xsl:param name="imgPath" select="your_code_or_set_it_externally" />
    <IMG>
         <xsl:attribute name="SRC">
              <xsl:value-of select="$imgPath" />
         </xsl:attribute>
    </IMG>

  • How do you override global variable values when calling oraxsl or xsl.exe?

    I am a newbie to oracle xslt.
    I have down loaded the latest version of xdk (10.1.0.2...). (Jan 2, 2009).
    In the past I haveI used micorsoft's "msxsl.exe" to perform my transformations.
    I am looking for a more up-to-date transformation tool.
    I found Oracle's version, and thought I would try it out.
    I have run the "bin/xsl.exe -hh" command.
    I read its help data. It states that variables are
    passed by coding a pramater "-V <var> <value>".
    I have also examined the oraxls.bat file.
    I found the documentation on "oracle.xml.parser.v2.oraxsl" class.
    It states that parameters are passed after the "-p" switch.
    It says the value of the -p parameter is "a list of paramemters".
    I don't find this sufficient information to be useful.
    I can spend days guessing, and I might get lucky.
    I thought it my be better to ask for help.
    I need to pass in (override) values for 3 global variables.
    I saw the method
    "setParam(namespace, variable, value)",
    near the documentation for the "oraxsl" class.
    How do you format the options string to communicate more than one param statement?
    (in either xsl.exe and/or oraxsl class).
    Suppose I have an xslt stylesheet as follows:
    ==================================================
    <?xml version="1.0" ?>
    <xsl:stylesheet version="1.1" xmlns:xsl='http://www.w3.org/1999/XSL/Transform' >
    <xsl:param name='a' select='"default_a"' />
    <xsl:param name='b' select='"default_b"' />
    <xsl:param name='c' select="'default_c"' />
    <xsl:template match='/'>
    this is value for a: <xsl:value-of select='$a' />
    this is value for b: <xsl:value-of select='$b' />
    this is value for c: <xsl:value-of select=$c' />
    <xsl:apply-templates />
    </xsl:template>
    </xsl:stylesheet>
    ========================================================
    Now as part of the calling of the XSL processor I want to change the value of these
    three global parameters.
    I want:
    a="current_a",
    b="current_b",
    and c="current_c"
    How do I express this using xsl.exe and its paramter string (-V ????).
    and/or how do I express it to the oraxsl class ( -p (xsl, a,"current_a"), (....) )???
    The syntax for specifying this information is not very clear in either situation.
    Of course I am making the "assumption" that by "param" they are
    refering to "global parameters" (as in my stylesheet), rather than some other global parameters of XLST.
    As an aside inquiry:
    I had hopped that the Oracle's xsl Verion 2 routine could handle xslt 2.0 commands
    such as "xsl:for-each-group", since it handled multiple xsl:outputs.
    From reading some of the documentation it seems it only handles xslt 1.0 syntax/commands.
    Is this true? (or is the documentation not up-to-date?).
    Any help on passing param values to xsl.exe and/or "oraxsl" class is appreciated.
    Thanks.

    Here is the line from one of my testing .bat files that passed in one parameter. I can't recall if I've passed in two, but this will give you a starting point for passing in multiple
    java -cp %CPath% oracle.xml.parser.v2.oraxsl -p show_image='yes' %ValXML% %ValXSLT% As for XSLT 2.0 support, it appears it does per {thread:id=503445}

  • XSL-How to get value of a variable from inside loop-- to the outside loop?

    Pls help
    hi im currently working on this xsl file..
    This works on generating a txt file,my problem right now is
    ' how can i get the value of a variable generated from the inside forloop,
    i have to get the total,sum value of this variables after performing the loop
    ***this is the for loop
    <xsl:for-each select="OutboundPayment">
    <xsl:variable name='id' select='generate-id(OutboundPayment)'/>
    <xsl:sort select="PaymentNumber/CheckNumber" data-type="text" />
    <xsl:variable name='PValue' select='format-number(100*PaymentAmount/Value,"0000000000000")'/>
    <xsl:value-of select='$id'/>
    <xsl:text>D</xsl:text>
    <xsl:value-of select='$DDate'/>
    <xsl:value-of select='$Batch'/>
    <xsl:text>3</xsl:text>
    <xsl:value-of select='format-number(PaymentNumber/PaymentReferenceNumber,"0000000000")'/>
    <xsl:value-of select='format-number(PayeeBankAccount/BankAccountNumber,"0000000000")'/>
    <xsl:value-of select='substring(Payee/Name,1,20)'/>
    <xsl:value-of select='$PValue'/>
    <xsl:variable name='Addend' select='concat($DDate,substring($DAcct,5,5),$Batch)'/>
    <xsl:variable name="LHash">
    <xsl:call-template name="GetHash">
    <xsl:with-param name="A1" select="$PValue" />
    <xsl:with-param name="A2" select="$Addend" />
    </xsl:call-template>
    </xsl:variable>
    <xsl:value-of select="concat('[',$LHash,']')" />
    <!--LHash*i have to get the total amount of this one from the outside loop /---->
    <xsl:call-template name='NewLine'/>
    </xsl:for-each>
    <!--I have to put in here the total value of that LHash/---->
    <!--This is the template on how to get the value of that variable in the inside loop/---->
    <xsl:template name="GetHash">
    <xsl:param name='A1'/>
    <xsl:param name='A2'/>
    <xsl:variable name='TwoSum' select='format-number($A1+$A2,"000000000000000")'/>
    <xsl:variable name='Weight' select='317191314191112'/>
    <xsl:call-template name="WDigit">
    <xsl:with-param name="Cnt" select="15"/>
    <xsl:with-param name="Sum" select="$TwoSum"/>
    <xsl:with-param name="Wgt" select="$Weight"/>
    <xsl:with-param name="Tot" select="0"/>
    </xsl:call-template>
    </xsl:template>
    <xsl:template name='WDigit'>
    <xsl:param name='Cnt'/>
    <xsl:param name='Sum'/>
    <xsl:param name='Wgt'/>
    <xsl:param name='Tot'/>
    <xsl:choose>
    <xsl:when test="$Cnt > 0">
    <xsl:variable name='Multip' select='substring($Wgt,$Cnt,1)'/>
    <xsl:variable name='Factor' select='substring($Sum,$Cnt,1)'/>
    <xsl:variable name='Prduct' select='$Multip$Factor'/>
    <!--xsl:value-of select="concat($Tot,'[',$Cnt,']')"/-->
    <!--xsl:value-of select="concat($Multip,'x',$Factor,'=',$Prduct)"/-->
    <!--xsl:call-template name='NewLine'/-->
    <xsl:call-template name="WDigit">
    <xsl:with-param name="Cnt" select="$Cnt - 1"/>
    <xsl:with-param name="Sum" select="$Sum"/>
    <xsl:with-param name="Wgt" select="$Wgt"/>
    <xsl:with-param name="Tot" select="$Tot+$Prduct"/>
    </xsl:call-template>
    </xsl:when>
    <xsl:otherwise>
    <xsl:variable name="Rem" select="$Tot mod 11"/>
    <xsl:variable name="Chk" select="11 - $Rem"/>
    <xsl:value-of select="format-number(concat($Tot,$Chk),'00000')"/>
    </xsl:otherwise>
    </xsl:choose>
    <xsl:template name='GetTotal'>
    </xsl:template>
    Thanks in advance for those who are willing to help.
    -Leighya

    It would have helped if you had posted your code as CODE but as it is, I could hardly read it. My guess about what you are asking is, if you want a template to return a value, just write that value to the result stream inside the template.
    If that wasn't what you were asking, then please post your code in a readable format.

  • XSL-1047: (Error) Invalid instantiation of 'xsl:output' in 'INSERT' context

    Following is my development environment:
    JDeveloper 9i Release Candidate
    JDeveloper JVM 1.3.1
    Oracle XML Parser v2 9.2.0.0.0
    I'm using the Oracle XML Parser V2 9.2.0.0.0 library to apply a stylesheet to an XML document. However when I invoke the call to processor.processXSL() an XSLException is thrown with the following details:
    oracle.xml.parser.v2.XSLException: <Line 1, Column 116>: XSL-1047: (Error) Invalid instantiation of 'xsl:output' in 'INSERT' context.
    exception
    Below is the sequence of events:
    // Create an instance of XSLProcessor to perform the transformation
    XSLProcessor processor = new XSLProcessor();
    // create a Reader from a String object that contains the stylesheet text
    StringReader r = new StringReader( stylesheet );
    // create a new XSL stylesheet, passing it the Reader object reference
    XSLStylesheet sheet = processor.newXSLStylesheet(r);
    // apply the stylesheet
    // the variable sheet represents the XSLStylesheet object
    // the variable source represents the XMLDocument object
    // this call throws the exception
    DocumentFragment df =
    processor.processXSL(sheet,source);
    I've included the Stylesheet and source XML file I'm processing below.
    Note: My application works fine when I use the Oracle XML Parser v2 9.0.1 library. (although I have to use new XSLStylesheet() in place of XSLProcessor.newXSLStylesheet())
    Any ideas on what has changed between the two releases? I do have a reproducible test case that I can send on if required?
    thanks in advance
    private String stylesheet =
    "<INSERT xsl:version=\"1.0\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"> "+
    "<xsl:output method=\"xml\" indent=\"yes\"/> "+
    "<ROWSET table_name=\"acc_database\"> "+
    " <xsl:for-each select=\"DATABASES/DATABASE\"> "+
    " <ROW> "+
    " <DBID><xsl:value-of select=\"DBID\"/></DBID> "+
    " <DBNAME><xsl:value-of select=\"DBNAME\"/></DBNAME> "+
    " <DBSIZE><xsl:value-of select=\"DBSIZE\"/></DBSIZE> "+
    " <DBPATHNAME><xsl:value-of select=\"DBPATHNAME\"/></DBPATHNAME> "+
    " <DBUSER><xsl:value-of select=\"DBUSER\"/></DBUSER> "+
    " <DBPASSWORD><xsl:value-of select=\"DBPASSWORD\"/></DBPASSWORD> "+
    " <ISAPPDB><xsl:value-of select=\"ISAPPDB\"/></ISAPPDB> "+
    " <ISATTACHEDDB><xsl:value-of select=\"ISATTACHEDDB\"/></ISATTACHEDDB> "+
    " <CONVERTDB><xsl:value-of select=\"CONVERTDB\"/></CONVERTDB> "+
    " <VERSION><xsl:value-of select=\"VERSION\"/></VERSION> "+
    " </ROW> "+
    " </xsl:for-each> "+
    "</ROWSET> "+
    "</INSERT>";
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!-- this file was generated by the Oracle Migration Workbench Exporter for MS Access 9.2.0.1.0 on 13/02/02 15:16:52 -->
    <!-- Do not modify this file as any modification will invalidate the export and subsequent migration of your MS Access database -->
    <DATABASES>
    <DATABASE>
    <DBID>1</DBID>
    <DBNAME>xmltest</DBNAME>
    <DBSIZE>1</DBSIZE>
    <DBPATHNAME>E:\xmltest.mdb</DBPATHNAME>
    <DBUSER>xmltest</DBUSER>
    <DBPASSWORD>oracle</DBPASSWORD>
    <ISAPPDB>1</ISAPPDB>
    <ISATTACHEDDB>0</ISATTACHEDDB>
    <CONVERTDB>1</CONVERTDB>
    <VERSION>4.0</VERSION>
    <TABLES>
    <TABLE PRIMARY_KEY="1">
    <TBLID>1</TBLID>
    <DBID>1</DBID>
    <TBLNAME>xsu_test</TBLNAME>
    <CNVTABLESTRUCT>1</CNVTABLESTRUCT>
    <CNVMOVEDATA>1</CNVMOVEDATA>
    <CNVRI>1</CNVRI>
    <CNVVALIDATION>1</CNVVALIDATION>
    <CNVDEFAULT>1</CNVDEFAULT>
    <CNVADDTIMESTAMP>1</CNVADDTIMESTAMP>
    <ATTACHTABLEBACKTOACCESS>1</ATTACHTABLEBACKTOACCESS>
    <SAVEPASSWORD>0</SAVEPASSWORD>
    <CNVMAKEUPDATEABLE>1</CNVMAKEUPDATEABLE>
    <RETAINLOCALCOPY>0</RETAINLOCALCOPY>
    <SYNCWITHSERVER>1</SYNCWITHSERVER>
    <OWNERID>1</OWNERID>
    <VALIDATIONTEXT></VALIDATIONTEXT>
    <VALIDATIONRULE></VALIDATIONRULE>
    <NUMBEROFROWS>1</NUMBEROFROWS>
    <CACHINGTABLE>0</CACHINGTABLE>
    <DESCRIPTION></DESCRIPTION>
    <COLUMNS>
    <COLUMN>
    <COLID>1</COLID>
    <TBLID>1</TBLID>
    <COLNAME>id</COLNAME>
    <COLTYPE>4</COLTYPE>
    <COLTYPEDESC>Long</COLTYPEDESC>
    <COLAUTOINCR>1</COLAUTOINCR>
    <NEXTCOUNTERVALUE>0</NEXTCOUNTERVALUE>
    <MAXLENGTHSOURCE>0</MAXLENGTHSOURCE>
    <AVGLENGTHSOURCE>0</AVGLENGTHSOURCE>
    <COLTEXTSIZE>4</COLTEXTSIZE>
    <ALLOWZEROLENGTH>0</ALLOWZEROLENGTH>
    <DEFAULTVALUE></DEFAULTVALUE>
    <COLREQUIRED>1</COLREQUIRED>
    <COLCOLLATINGORDER>1033</COLCOLLATINGORDER>
    <COLORDPOSITION>1</COLORDPOSITION>
    <VALIDATIONRULE></VALIDATIONRULE>
    <VALIDATIONTEXT></VALIDATIONTEXT>
    <COLUMNDESCRIPTION></COLUMNDESCRIPTION>
    </COLUMN>
    <COLUMN>
    <COLID>2</COLID>
    <TBLID>1</TBLID>
    <COLNAME>name</COLNAME>
    <COLTYPE>10</COLTYPE>
    <COLTYPEDESC>Text</COLTYPEDESC>
    <COLAUTOINCR>0</COLAUTOINCR>
    <NEXTCOUNTERVALUE>0</NEXTCOUNTERVALUE>
    <MAXLENGTHSOURCE>0</MAXLENGTHSOURCE>
    <AVGLENGTHSOURCE>0</AVGLENGTHSOURCE>
    <COLTEXTSIZE>50</COLTEXTSIZE>
    <ALLOWZEROLENGTH>0</ALLOWZEROLENGTH>
    <DEFAULTVALUE></DEFAULTVALUE>
    <COLREQUIRED>1</COLREQUIRED>
    <COLCOLLATINGORDER>1033</COLCOLLATINGORDER>
    <COLORDPOSITION>2</COLORDPOSITION>
    <VALIDATIONRULE></VALIDATIONRULE>
    <VALIDATIONTEXT></VALIDATIONTEXT>
    <COLUMNDESCRIPTION></COLUMNDESCRIPTION>
    </COLUMN>
    </COLUMNS>
    <INDEXES>
    <INDEX>
    <INDID>1</INDID>
    <TBLID>1</TBLID>
    <DBID>1</DBID>
    <INDNAME>id</INDNAME>
    <CNVINDEX>1</CNVINDEX>
    <ISPRIMARY>0</ISPRIMARY>
    <ISUNIQUE>0</ISUNIQUE>
    <ISFOREIGN>0</ISFOREIGN>
    <IGNORENULLS>0</IGNORENULLS>
    <ISREQUIRED>0</ISREQUIRED>
    <INDEX_COLUMNS>
    <INDEX_COLUMN>
    <INDCOLID>1</INDCOLID>
    <INDID>1</INDID>
    <COLID>1</COLID>
    <COLORDER>1</COLORDER>
    </INDEX_COLUMN>
    </INDEX_COLUMNS>
    </INDEX>
    <INDEX>
    <INDID>2</INDID>
    <TBLID>1</TBLID>
    <DBID>1</DBID>
    <INDNAME>PK_xsu_test</INDNAME>
    <CNVINDEX>1</CNVINDEX>
    <ISPRIMARY>1</ISPRIMARY>
    <ISUNIQUE>1</ISUNIQUE>
    <ISFOREIGN>0</ISFOREIGN>
    <IGNORENULLS>0</IGNORENULLS>
    <ISREQUIRED>1</ISREQUIRED>
    <INDEX_COLUMNS>
    <INDEX_COLUMN>
    <INDCOLID>2</INDCOLID>
    <INDID>2</INDID>
    <COLID>1</COLID>
    <COLORDER>1</COLORDER>
    </INDEX_COLUMN>
    </INDEX_COLUMNS>
    </INDEX>
    </INDEXES>
    </TABLE>
    </TABLES>
    <RELATIONS>
    </RELATIONS>
    </DATABASE>
    <ATTACHED_TABLES>
    </ATTACHED_TABLES>
    </DATABASES>

    Your problem is that your stylesheet is illegal.
    You're using the "simple form" of the stylesheet which
    is equivalent to having a single root template.
    If you use the simple form, you cannot use: <xsl:include>,
    <xsl:import>, <xsl:output>, <xsl:param>
    or any other <xsl:XXX> element which must be at the "top-level"
    of the stylesheet.
    The solution is to change from:
    <INPUT xsl:version="1.0" xmlns:xsl="...">
       <xsl:output>
    </INPUT>.
    which is illegal to:
      <xsl:stylesheet version="1.0" xmlns:xsl="...">
        <xsl:output>
        <xsl:template match="/">
          <INPUT>
          </INPUT>
        </xsl:template>
      </xsl:stylesheet>

Maybe you are looking for

  • Platform version5.0.1 is not compatible with miniversion =6.0.2 in English

    Have just trried to do the recent Firefox upgrade from ver 5 to ver 6.0.2 under XP service pack 3 with all updates and received the following error platform version5.0.1 is not compatible with miniversion >=6.0.2 in English I cannot now get firefox!

  • Problem in PDF after creating from Indesign CS3 (transparancy)

    Hi all, Please give me a solution ASAP, its most urgent. We have used two color in one image, the color color is pantone. First we have selected the one pantone in image and in background another color. After creating PS using Prinergy and Distilling

  • Itunes IS truncating idtags. Why?

    Yes. Itunes 8.1.1.10 IS responsible for truncating idtags. Here's when, and how this problem comes up for myself. If an album's title is named like the following examples: Moog and Mooger [IMPORT] Moog Mooger and Moogerer (The Moog) Moog Mooger [CD1]

  • Can't view certain files/movies

    I'm having difficulty viewing movies (Netflix) and viewing PDF files. Trying to do research and nothing will come up on my screen when I click the file. A message saying "Plug-in Failure" keeps coming up. Tried restarting my computer, but I don't kno

  • Is there doc for the exact steps to publish to iOS?

    I am looking for the EXACT steps for publishing to iOS. the Xcode doc talks about "making an archive" but that doesn't seem to work because it is specific to apps made entirely in Xcode. I can get the IPA to an iPad or iPhone attached to the Mac but