CopyEvolve supports XSL 2.0?

I want to know if the copyEvolve supports XSL version 2.0? The example I seen so far only support version 1.0.
Thanks.

There's no support of XSLT 2.0 in Oracle XMLDB at least until version 11.1.0.6
I got three simple xslt documents:
Test10.xsl
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<output>
  <xsl:value-of select="./A/text()"/>
</output>
</xsl:template>
</xsl:transform>Test12.xsl
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:template match="/">
<output>
  <xsl:value-of select="./A/text()"/>
</output>
</xsl:template>
</xsl:transform>Test20.xsl
<xsl:transform
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:str="http://user.com/namespace"
  version="2.0"
  exclude-result-prefixes="str">
<xsl:function name="str:reverse">
  <xsl:param name="sentence"/>
  <xsl:result
     select="if (contains($sentence, ' '))
             then concat(str:reverse(substring-after($sentence, ' ')),
                         substring-before($sentence, ' '))
             else $sentence"/>            
</xsl:function>
<xsl:template match="/">
<output>
  <xsl:value-of select="str:reverse('DOG BITES MAN')"/>
</output>
</xsl:template>
</xsl:transform>Then I loaded them into XMLDB:
SQL> select banner from v$version;
BANNER
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
PL/SQL Release 11.1.0.6.0 - Production
CORE    11.1.0.6.0      Production
TNS for 32-bit Windows: Version 11.1.0.6.0 - Production
NLSRTL Version 11.1.0.6.0 - Production
SQL> DECLARE
  2      res BOOLEAN;
  3  BEGIN
  4    res := DBMS_XDB.createResource(
  5           '/test10.xsl',
  6           bfilename('FILE_DIR', 'test10.xsl'),
  7           nls_charset_id('AL32UTF8'));
  8  END;
  9  /
Procedura PL/SQL completata correttamente.
SQL>
SQL> DECLARE
  2      res BOOLEAN;
  3  BEGIN
  4    res := DBMS_XDB.createResource(
  5           '/test12.xsl',
  6           bfilename('FILE_DIR', 'test12.xsl'),
  7           nls_charset_id('AL32UTF8'));
  8  END;
  9  /
Procedura PL/SQL completata correttamente.
SQL>
SQL> DECLARE
  2    res BOOLEAN;
  3  BEGIN
  4    res := DBMS_XDB.createResource(
  5           '/test20.xsl',
  6           bfilename('FILE_DIR', 'test20.xsl'),
  7           nls_charset_id('AL32UTF8'));
  8  END;
  9  /
Procedura PL/SQL completata correttamente.And finally tried to use them to transform a simple XML:
SQL> select xmltransform(xmltype('<A>xxx</A>'),
  2                      DBMS_XDB.GETCONTENTXMLTYPE('/test10.xsl')
  3                     ) test
  4  from dual;
TEST
<output>xxx</output>
SQL> select xmltransform(xmltype('<A>xxx</A>'),
  2                      DBMS_XDB.GETCONTENTXMLTYPE('/test12.xsl')
  3                     ) test
  4  from dual;
TEST
<output>xxx</output>
SQL> select xmltransform(xmltype('<A>xxx</A>'),
  2                      DBMS_XDB.GETCONTENTXMLTYPE('/test20.xsl')
  3                     ) test
  4  from dual;
ERROR:
ORA-31011: Analisi XML non riuscita
ORA-19202: Errore durante l'elaborazione XML
LPX-00602: Invalid child element 'function' of element 'transform'.Hence:
1) Using an xslt document tagged version="2.0" but containing only 1.0 elements works
2) Using an xslt 2.0 new feature (user defined functions) doesn't work
3) I didn't make a specific test on copyEvolve, but a generic test on XSLT processor
4) Version 11.1.0.6
Max
[My Italian Oracle blog|http://oracleitalia.wordpress.com/2010/01/07/creare-documenti-office-da-plsql/]

Similar Messages

  • Does obiee 11g supports XSL format

    Dears,
    Does Obiee 11g supports XSL style sheet files? Some of the legacy reports are using data which are pulled from the database and formatted via XSL and some are generated from XML/XSL files?
    I have looked at XML connection pool, it only supports importing XML format as source file.May be I am wrong? I do not have great hands on BI publisher.
    Thanks,
    Uday

    Hi Uday,
    If I understand correctly, XSLT is mostly about parsing through the XML and presenting it to the user in some format with colors,fonts etc (Just like CSS).
    So in case of OBI,
    1.It can read the data from the source XML documents itself (Doing the job like of XSL Parser)
    2. Present to the users in the format you need (Doing the job of XSL Renderer).
    So, you just give BI the source data in the form of XML, design the metadata as per your business needs and the OBI Presentation Services component can do the job of presenting.
    Hope this gives you some idea of BI just working like XSL.
    Thank you,
    Dhar

  • Do you support xsl:attribute-set?

    I could not get xsl:attribute-set and xsl:use-attribute-sets to work. Do you support them?
    regards
    tomas y
    null

    The following simple test works for me using the 2.0.2.9, 2.0.2.10, and 2.1.0.0 Beta versions of Oracle XSLT processor:<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:template match="/">
    <test xsl:use-attribute-sets="title-style"/>
    </xsl:template>
    <xsl:attribute-set name="title-style">
    <xsl:attribute name="font-size">12pt</xsl:attribute>
    <xsl:attribute name="font-weight">bold</xsl:attribute>
    </xsl:attribute-set>
    </xsl:stylesheet>Which produces the output:
    <test font-size="12pt" font-weight="bold"/>
    as expected when applied to any XML source document.
    What particular use is not working for you?

  • Is xsl:value-of disable-output-escaping="yes"/ Supported in 2.0.2.6?

    I can't seem to display HTML from XML.
    In my XML file I store the HTML snippet in an XML tag:
    <PRE>
    <body.htmlcontent>
    <&#60;table width="540" border="0" cellpadding="0" cellspacing="0">
    &#60;tr>&#60;td>
    &#60;font face="Helvetica, Arial" size="2">
    &#60;!-- STILL IMAGE GOES HERE -->
    &#60;img src="graphics/imagegoeshere.jpg" width="200" height="175" align="right" vspace="0" hspace="7">
    &#60;!-- END STILL IMAGE TAG -->
    &#60;!-- CITY OR TOWN NAME GOES FIRST FOLLOWED BY TWO LETTER STATE ABBREVIATION -->
    &#60;b>City, state abbreviation&#60;/b> -
    &#60;!-- CITY OR TOWN NAME ENDS HERE -->
    &#60;!-- STORY TEXT STARTS HERE -->
    Story text goes here..
    &#60;!-- STORY TEXT ENDS HERE -->
    &#60;/font>
    &#60;/td>&#60;/tr>&#60;/table>
    </body.htmlcontent>
    </PRE>
    I use the following in my xsl:
    <xsl:value-of select="body.HTMLcontent" disable-output-escaping="yes"/>
    However, the HTML output <PRE>&#60;</PRE>is still outputted and all of the HTML tags
    are displayed in the browser. How do I display the HTML properly?
    Bob Hewett
    [email protected]

    This makes sense. Here's why.
    oraxsl internally uses the:
    void XSLProcessor.processXSL(style,source,printwriter);
    XSLSample.java uses:
    DocumentFragment XSLProcessor.processXSL(style,source);
    The former supports <xsl:output> and all
    options related to writing out output
    that might not be valid XML (including the disable output escaping)
    The latter is pure XML-to-XML tree returned,
    so no <xsl:output> or disabled escaping
    can be used since nothing's being output,
    just a DOM tree fragment of the result is
    being returned.
    null

  • XDK9.2.0.2, pb with JAXP and XSL Processor

    Hello,
    I'm using XDK 9.2.0.2 and I try to use JAXP.
    I have a difference between using the Oracle XSL processor directly and through JAXP.
    Through JAXP, the processor don't care about the xsl:outpout encoding attribute !
    Why ?
    It take care of method, indent, ... but not encoding !
    I try to set the property with : transformer.setOutputProperty(OutputKeys.ENCODING, "iso-8859-1");
    It works but I don't want to do that this way !
    TIA
    Didier
    sample (from XSLSample2):
    /* $Header: XSLSample2.java 07-jan-2002.02:24:56 sasriniv Exp $ */
    /* Copyright (c) 2000, 2002, Oracle Corporation. All rights reserved. */
    * DESCRIPTION
    * This file gives a simple example of how to use the XSL processing
    * capabilities of the Oracle XML Parser V2.0. An input XML document is
    * transformed using a given input stylesheet
    * This Sample streams the result of XSL transfromations directly to
    * a stream, hence can support xsl:output features.
    import java.net.URL;
    import oracle.xml.parser.v2.DOMParser;
    import oracle.xml.parser.v2.XMLDocument;
    import oracle.xml.parser.v2.XMLDocumentFragment;
    import oracle.xml.parser.v2.XSLStylesheet;
    import oracle.xml.parser.v2.XSLProcessor;
    // Import JAXP
    import javax.xml.transform.*;
    import javax.xml.transform.dom.*;
    import javax.xml.transform.stream.*;
    public class XSLSample2
    * Transforms an xml document using a stylesheet
    * @param args input xml and xml documents
    public static void main (String args[]) throws Exception
    DOMParser parser;
    XMLDocument xml, xsldoc, out;
    URL xslURL;
    URL xmlURL;
    try
    if (args.length != 2)
    // Must pass in the names of the XSL and XML files
    System.err.println("Usage: java XSLSample2 xslfile xmlfile");
    System.exit(1);
    // Parse xsl and xml documents
    parser = new DOMParser();
    parser.setPreserveWhitespace(true);
    // parser input XSL file
    xslURL = DemoUtil.createURL(args[0]);
    parser.parse(xslURL);
    xsldoc = parser.getDocument();
    // parser input XML file
    xmlURL = DemoUtil.createURL(args[1]);
    parser.parse(xmlURL);
    xml = parser.getDocument();
    // instantiate a stylesheet
    XSLProcessor processor = new XSLProcessor();
    processor.setBaseURL(xslURL);
    XSLStylesheet xsl = processor.newXSLStylesheet(xsldoc);
    // display any warnings that may occur
    processor.showWarnings(true);
    processor.setErrorStream(System.err);
    // Process XSL
    processor.processXSL(xsl, xml, System.out);
    // With JAXP
    System.out.println("");
    System.out.println("With JAXP :");
    TransformerFactory tfactory = TransformerFactory.newInstance();
    String xslID = xslURL.toString();
    Transformer transformer = tfactory.newTransformer(new StreamSource(xslID));
    //transformer.setOutputProperty(OutputKeys.ENCODING, "iso-8859-1");
    String xmlID = xmlURL.toString();
    StreamSource source = new StreamSource(xmlID);
    transformer.transform(source, new StreamResult(System.out));
    catch (Exception e)
    e.printStackTrace();
    My XML file :
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <ListePatients>
    <Patient>
    <Nom>Zeublouse</Nom>
    <NomMarital/>
    <Prinom>Agathe</Prinom>
    </Patient>
    <Patient>
    <Nom>Stick</Nom>
    <NomMarital>Laiboul</NomMarital>
    <Prinom>Ella</Prinom>
    </Patient>
    <Patient>
    <Nom>`ihnotvy</Nom>
    <NomMarital/>
    <Prinom>Jacques</Prinom>
    </Patient>
    </ListePatients>
    my XSL file :
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="html" omit-xml-declaration="yes" indent="yes" encoding="ISO-8859-1"/>
    <xsl:template match="*|/"><xsl:apply-templates/></xsl:template>
    <xsl:template match="text()|@*"><xsl:value-of select="."/></xsl:template>
    <xsl:template match="/">
    <HTML>
    <HEAD>
    <TITLE>Liste de patients</TITLE>
    </HEAD>
    <BODY>
    <xsl:apply-templates select='ListePatients'/>
    </BODY>
    </HTML>
    </xsl:template>
    <xsl:template match='ListePatients'>
    <TABLE>
    <xsl:for-each select='Patient'>
    <xsl:sort select='Nom' order='ascending' data-type='text'/>
    <TR TITLE='`ihnotvy'>
    <TD><xsl:value-of select='Nom'/></TD>
    <TD><xsl:value-of select='NomMarital'/></TD>
    <TD><xsl:value-of select='Prinom'/></TD>
    </TR>
    </xsl:for-each>
    </TABLE>
    </xsl:template>
    </xsl:stylesheet>
    The result :
    <HTML>
    <HEAD>
    <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <TITLE>Liste de patients</TITLE>
    </HEAD>
    <BODY>
    <TABLE>
    <TR TITLE="`ihnotvy">
    <TD>`ihnotvy</TD>
    <TD></TD>
    <TD>Jacques</TD>
    </TR>
    <TR TITLE="`ihnotvy">
    <TD>Stick</TD>
    <TD>Laiboul</TD>
    <TD>Ella</TD>
    </TR>
    <TR TITLE="`ihnotvy">
    <TD>Zeublouse</TD>
    <TD></TD>
    <TD>Agathe</TD>
    </TR>
    </TABLE>
    </BODY>
    </HTML>
    With JAXP :
    <HTML>
    <HEAD>
    <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <TITLE>Liste de patients</TITLE>
    </HEAD>
    <BODY>
    <TABLE>
    <TR TITLE="C C)C(C.C/C4C6C9">
    <TD>C C)C(C.C/C4C6C9</TD>
    <TD></TD>
    <TD>Jacques</TD>
    </TR>
    <TR TITLE="C C)C(C.C/C4C6C9">
    <TD>Stick</TD>
    <TD>Laiboul</TD>
    <TD>Ella</TD>
    </TR>
    <TR TITLE="C C)C(C.C/C4C6C9">
    <TD>Zeublouse</TD>
    <TD></TD>
    <TD>Agathe</TD>
    </TR>
    </TABLE>
    </BODY>
    </HTML>

    You can also use a PrintWriter to wrap a JspWriter
    since PrintWriter has a constructor that takes any
    Writer instance.I'm having the same problem, I've spent a lot of time
    on it but I can't get it work.
    Could you post some working code that shows how you
    can do it?
    Thanks.
    It works now, I have used the code:
    result = processor.processXSL(stylesheet, xml);
    PrintWriter pw = new PrintWriter(out);
    result.print(pw);
    I had tried this before but there was an error in other place that prevented it to work.
    Thank you anyway.

  • Xsl:import error

    Why oracle xmlparserv2 dosen't support <xsl:import href="b.xsl"/>?
    What's the error message mean?
    "oracle.xml.parser.v2.XMLParseException: Error while processing include XSL file (b.xsl).
    at oracle.xml.parser.v2.XMLError.flushErrors1(XMLError.java:205)......
    It's working at Xalan or Saxon but not Oracle!

    I think the error message is telling you that the visual design surface that simplifies creating transforms doesn't support the <xsl:import>. If you need to use <xsl:import>, and assuming that <xsl:include> (which is quite similar to import) is also not supported, then the only other option is working on the XSLT stylesheet in the source editor.

  • XSL stylesheet transformation of RSS feeds

    Does Safari support XSL transformation of RSS feeds? Or does it always override XSL with its own RSS reader format? Details below:
    I'm starting to mass-produce RSS feeds for our organization. We just want one file for each purpose which can be universally used in RSS readers, iTunes/other podcatchers, and web browsers. I created an XSL stylesheet for it which works perfectly in Internet Explorer, Opera, and Firefox (current release, anyway!), but Safari always adds the "feed://" prefix and displays it with its blue RSS reader format. Is there no way around this? If I take out the the <rss version="2.0"> header, it works, but then iTunes won't accept it.
    Do I have to produce two separate files, the first without the RSS notation for Safari's sake, and the second with the notation for iTunes? That seems like an unnecessary step for us, and confusing for our users. Is there any way around this? I couldn't find any support documents that addressed this directly. Thanks -- Jim

    You're getting a URL like this:context.getResourceAsStream("/Web-Inf/viewStudentDetails.xsl")and it looks like the MalformedURL exception is complaining about it. So my first step would be to look at it and see what's wrong with it.

  • ' Displays after XSL Transform

    I am converting Oracle XMLDB XMLSchema registered XML documents in an XMLTYPE table into HTML by using the database XSLT engine. The characters for & and quote(') are stored in the document as &amp; and &apos;. Unfortunately, after the transformation to HTML these characters display in a browser window (IE6) as &amp; and &apos; instead of as '&' and single quote('). This appears to be due to the fact that HTML does not recognise &amp; or &apos; but will correctly render &#38; and &#39; as '&' and single quote('). I would like to record these characters in my XML documents in XML DB as &#38; and &#39; so they display correctly when rendered to the web. Oracle's XML parser always seems to swap these for &amp; and &apos; whenever I do an XML document update.
    Can anyone tell me if there is another approach to getting & and single quote to display properly after an XSLT transformation to HTML?
    For reference sake our XML documents are stored in Oracle XMLDB (v9.2.0.5 on Solaris) with encode="ISO-8859-1" and we are doing the transformation in the database with the following code:
    CREATE OR REPLACE FUNCTION get_cu_xml(
    p_unitset_id IN NUMBER,
    p_year IN NUMBER)
    RETURN VARCHAR2
    IS
    CURSOR get_xml_cur(
    p_unitset_id NUMBER,
    p_year NUMBER)
    IS
    SELECT extract(VALUE(p),'/UnitSetYear')
    FROM cu_unit_set_years_xml p
    WHERE extractValue(VALUE(p),'/UnitSetYear/UnitSetID') = p_unitset_id
    AND extractValue(VALUE(p),'/UnitSetYear/Year') = p_year;
    xml_doc xmltype;
    xsl_clob CLOB;
    xml_clob CLOB;
    myParser dbms_xmlparser.Parser;
    indomdoc dbms_xmldom.domdocument;
    xsltdomdoc dbms_xmldom.domdocument;
    xsl dbms_xslprocessor.stylesheet;
    outdomdocf dbms_xmldom.domdocumentfragment;
    outnode dbms_xmldom.domnode;
    proc dbms_xslprocessor.processor;
    buf CLOB;
    BEGIN
    OPEN get_xml_cur(
    p_unitset_id,
    p_year);
    FETCH get_xml_cur INTO xml_doc;
    IF (get_xml_cur%FOUND) THEN
    xml_clob := xml_doc.getClobVal();
    xsl_clob := UriFactory.getUri('/home/cu/xsl/UMDetail.xslt').getXML().getClobVal();
    myParser := dbms_xmlparser.newParser;
    dbms_xmlparser.parseBuffer(myParser, xml_clob);
    indomdoc := dbms_xmlparser.getDocument(myParser);
    dbms_xmlparser.parseBuffer(myParser, xsl_clob);
    xsltdomdoc := dbms_xmlparser.getDocument(myParser);
    xsl := dbms_xslprocessor.newstylesheet(xsltdomdoc, '');
    proc := dbms_xslprocessor.newProcessor;
    --apply stylesheet to DOM document
    outdomdocf := dbms_xslprocessor.processxsl(proc, xsl, indomdoc);
    outnode := dbms_xmldom.makenode(outdomdocf);
    -- PL/SQL DOM API for XMLType can be used here
    dbms_xmldom.writetoclob(outnode, buf);
    RETURN (buf);
    ELSE
    CLOSE get_xml_cur;
    RETURN (NULL);
    END IF;
    end get_cu_xml;

    Jinyu this is almost as if I need a disable-output-escaping="no" attribute for <xsl:for-each> but that appears not to be supported. The main section concerned in the xsl are the lines:
    <xsl:for-each select="n1:Desc">
    <xsl:apply-templates/>
    </xsl:for-each>
    The content in the Desc tag was edited with an XML editor which replaces quote characters with &apos;
    The full text of my xsl file is as follows:
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:n1="http://www.utas.edu.au/cu" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
         <xsl:output version="1.0" encoding="utf-8" omit-xml-declaration="no" indent="no" media-type="text/html"/>
         <xsl:template match="/">
              <html>
                   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
                   <head/>
                   <body>
                        <xsl:for-each select="n1:UnitSetDetails">
                             <h1 align="center">
                                  <xsl:for-each select="n1:UnitSetLabel">
                                       <xsl:apply-templates/>
                                  </xsl:for-each>&#160;<xsl:for-each select="n1:UnitSetTitle">
                                       <xsl:apply-templates/>
                                  </xsl:for-each>
                             </h1>
                             <xsl:if test="n1:UnitMembers/n1:UnitMember[1]/n1:FPTime != n1:UnitMembers/n1:UnitMember[2]/n1:FPTime">
                                  <h2 align="center">
                                       <xsl:for-each select="n1:UnitMembers">
                                            <xsl:for-each select="n1:UnitMember">
                                                 <xsl:for-each select="n1:UnitCode">
                                                      <xsl:apply-templates/>
                                                 </xsl:for-each>(<xsl:for-each select="n1:FPTime">
                                                      <xsl:apply-templates/>
                                                 </xsl:for-each>)&#160; </xsl:for-each>&#160;</xsl:for-each>
                                  </h2>
                             </xsl:if>
                             <p>
                                  <xsl:if test="string-length( n1:SpecialNote ) &gt; 0">
                                       <span style="font-weight:bold; ">SPECIAL NOTE:</span>&#160;<xsl:for-each select="n1:SpecialNote">
                                            <xsl:apply-templates/>
                                       </xsl:for-each>
                                  </xsl:if>
                             </p>
                             <p>
                                  <span style="font-weight:bold; ">OFFERINGS</span>
                                  <table bgcolor="#F3F3F3" border="1" cellpadding="5" cellspacing="0" width="500">
                                       <tbody>
                                            <tr>
                                                 <td width="535">
                                                      <xsl:if test="n1:Offered = &apos;N&apos;">Not Offered</xsl:if>
                                                      <xsl:if test="n1:Offered = &apos;Y&apos;">
                                                           <xsl:for-each select="n1:UnitMembers">
                                                                <table border="0" cellspacing="1">
                                                                     <thead>
                                                                          <tr bgcolor="silver">
                                                                               <td width="35">Unit</td>
                                                                               <td align="left" width="55">Sem 1</td>
                                                                               <td align="left" width="55">Sem 2</td>
                                                                               <td align="left" width="55">Full Yr</td>
                                                                               <td align="left" width="55">Spring</td>
                                                                               <td align="left" width="55">Summer</td>
                                                                               <td align="left" width="55">Winter</td>
                                                                          </tr>
                                                                     </thead>
                                                                     <tbody>
                                                                          <xsl:for-each select="n1:UnitMember">
                                                                               <tr>
                                                                                    <td width="35">
                                                                                         <xsl:for-each select="n1:UnitCode">
                                                                                              <xsl:apply-templates/>
                                                                                         </xsl:for-each>
                                                                                    </td>
                                                                                    <td align="left" width="55">
                                                                                         <xsl:for-each select="n1:Sem1">
                                                                                              <xsl:apply-templates/>
                                                                                         </xsl:for-each>
                                                                                    </td>
                                                                                    <td align="left" width="55">
                                                                                         <xsl:for-each select="n1:Sem2">
                                                                                              <xsl:apply-templates/>
                                                                                         </xsl:for-each>
                                                                                    </td>
                                                                                    <td align="left" width="55">
                                                                                         <xsl:for-each select="n1:SemF">
                                                                                              <xsl:apply-templates/>
                                                                                         </xsl:for-each>
                                                                                    </td>
                                                                                    <td align="left" width="55">
                                                                                         <xsl:for-each select="n1:Sem5">
                                                                                              <xsl:apply-templates/>
                                                                                         </xsl:for-each>
                                                                                    </td>
                                                                                    <td align="left" width="55">
                                                                                         <xsl:for-each select="n1:Sem3">
                                                                                              <xsl:apply-templates/>
                                                                                         </xsl:for-each>
                                                                                    </td>
                                                                                    <td align="left" width="55">
                                                                                         <xsl:for-each select="n1:Sem4">
                                                                                              <xsl:apply-templates/>
                                                                                         </xsl:for-each>
                                                                                    </td>
                                                                               </tr>
                                                                          </xsl:for-each>
                                                                     </tbody>
                                                                </table>
                                                           </xsl:for-each>
    Offered in Courses: <xsl:for-each select="n1:OfferedInCourses">
                                                                <xsl:apply-templates select="n1:Course"/>
                                                           </xsl:for-each>
                                                      </xsl:if>
                                                 </td>
                                            </tr>
                                       </tbody>
                                  </table>
                             </p>
                             <p>
                                  <span style="font-weight:bold; ">DESCRIPTION</span>
                                  <xsl:for-each select="n1:Desc">
                                       <xsl:apply-templates/>
                                  </xsl:for-each>
                             </p>
                             <p>
                                  <span style="font-weight:bold; ">WEIGHT:</span>&#160;<xsl:for-each select="n1:UnitMembers">
                                       <xsl:for-each select="n1:UnitMember">
                                            <xsl:for-each select="n1:UnitCode">
                                                 <xsl:apply-templates/>
                                            </xsl:for-each>&#160;<xsl:for-each select="n1:DefaultWeight">(<xsl:apply-templates/>%)</xsl:for-each>&#160;&#160;&#160;&#160; </xsl:for-each>
                                  </xsl:for-each>
                             </p>
                             <xsl:if test="string-length( n1:Assess ) &gt; 0">
                                  <p>
                                       <span style="font-weight:bold; ">ASSESSMENT: </span>
                                       <xsl:for-each select="n1:Assess">
                                            <xsl:apply-templates/>
                                       </xsl:for-each>
                                  </p>
                             </xsl:if>
                             <xsl:if test="string-length( n1:TeachPattern ) &gt; 0">
                                  <p>
                                       <span style="font-weight:bold; ">TEACHING PATTERN: </span>
                                       <xsl:for-each select="n1:TeachPattern">
                                            <xsl:apply-templates/>
                                       </xsl:for-each>
                                  </p>
                             </xsl:if>
                             <xsl:if test="string-length( n1:UnitMembers/n1:UnitMember/n1:WebSup ) &gt; 0
    or string-length( n1:UnitMembers/n1:UnitMember/n1:WebDep ) &gt; 0
    or string-length( n1:UnitMembers/n1:UnitMember/n1:FullOn ) &gt; 0
    or string-length( n1:UnitMembers/n1:UnitMember/n1:ResSupTL ) &gt; 0
    or string-length( n1:UnitMembers/n1:UnitMember/n1:ResDepTL ) &gt; 0
    or string-length( n1:UnitMembers/n1:UnitMember/n1:VideoConf ) &gt; 0
    or string-length( n1:UnitMembers/n1:UnitMember/n1:FlexSched ) &gt; 0
    or string-length( n1:UnitMembers/n1:UnitMember/n1:WPLearn ) &gt; 0">
                                  <p>
                                       <span style="font-weight:bold; ">FLEXIBLE &amp; ONLINE STUDY OPTIONS</span>
                                       <span style="font-weight:bold; ">Note:</span> Class attendance may still be required
                                       <xsl:for-each select="n1:UnitMembers">
                                            <xsl:for-each select="n1:UnitMember">
                                                 <xsl:for-each select="n1:UnitCode">
                                                      <xsl:apply-templates/>
                                                 </xsl:for-each>
                                                 <xsl:if test="string-length( n1:WebSup ) &gt; 0">
    &#160; <img border="0">
                                                           <xsl:attribute name="src"><xsl:text disable-output-escaping="yes">http://www.utas.edu.au/courses/images/dotarrowB.gif</xsl:text></xsl:attribute>
                                                      </img>&#160;Web supported - <xsl:for-each select="n1:WebSup">
                                                           <xsl:apply-templates/>
                                                      </xsl:for-each>
    Online access to some part of this unit online is optional
    </xsl:if>
                                                 <xsl:if test="string-length( n1:WebDep ) &gt; 0">
    &#160; <img border="0">
                                                           <xsl:attribute name="src"><xsl:text disable-output-escaping="yes">http://www.utas.edu.au/courses/images/dotarrowB.gif</xsl:text></xsl:attribute>
                                                      </img>&#160;Web dependent - <xsl:for-each select="n1:WebDep">
                                                           <xsl:apply-templates/>
                                                      </xsl:for-each>
    Some parts of this unit will be taught online
    </xsl:if>
                                                 <xsl:if test="string-length( n1:FullOn ) &gt; 0">
    &#160; <img border="0">
                                                           <xsl:attribute name="src"><xsl:text disable-output-escaping="yes">http://www.utas.edu.au/courses/images/dotarrowB.gif</xsl:text></xsl:attribute>
                                                      </img>&#160;Fully online - <xsl:for-each select="n1:FullOn">
                                                           <xsl:apply-templates/>
                                                      </xsl:for-each>
    This unit is taught entirely online
    </xsl:if>
                                                 <xsl:if test="string-length( n1:ResSupTL ) &gt; 0">
    &#160; <img border="0">
                                                           <xsl:attribute name="src"><xsl:text disable-output-escaping="yes">http://www.utas.edu.au/courses/images/dotarrowB.gif</xsl:text></xsl:attribute>
                                                      </img>&#160;Resource supported teaching &amp; learning - <xsl:for-each select="n1:ResSupTL">
                                                           <xsl:apply-templates/>
                                                      </xsl:for-each>
    Additional resources are provided for your optional use; e.g. video taped lectures
    </xsl:if>
                                                 <xsl:if test="string-length( n1:ResDepTL ) &gt; 0">
    &#160; <img border="0">
                                                           <xsl:attribute name="src"><xsl:text disable-output-escaping="yes">http://www.utas.edu.au/courses/images/dotarrowB.gif</xsl:text></xsl:attribute>
                                                      </img>&#160;Resource dependent teaching &amp; learning - <xsl:for-each select="n1:ResDepTL">
                                                           <xsl:apply-templates/>
                                                      </xsl:for-each>
    Independent study with provided resources replaces face-to-face or other classes (e.g. lectures)
    </xsl:if>
                                                 <xsl:if test="string-length( n1:VideoConf ) &gt; 0">
    &#160; <img border="0">
                                                           <xsl:attribute name="src"><xsl:text disable-output-escaping="yes">http://www.utas.edu.au/courses/images/dotarrowB.gif</xsl:text></xsl:attribute>
                                                      </img>&#160;Video conferencing - <xsl:for-each select="n1:VideoConf">
                                                           <xsl:apply-templates/>
                                                      </xsl:for-each>
    A live video link between campuses is used for at least some teaching in this unit
    </xsl:if>
                                                 <xsl:if test="string-length( n1:FlexSched ) &gt; 0">
    &#160; <img border="0">
                                                           <xsl:attribute name="src"><xsl:text disable-output-escaping="yes">http://www.utas.edu.au/courses/images/dotarrowB.gif</xsl:text></xsl:attribute>
                                                      </img>&#160;Flexible scheduling - <xsl:for-each select="n1:FlexSched">
                                                           <xsl:apply-templates/>
                                                      </xsl:for-each>
    You can attend some classes out of normal teaching hours; e.g. weekend blocks, summer schools etc
    </xsl:if>
                                                 <xsl:if test="string-length( n1:WPLearning ) &gt; 0">
    &#160; <img border="0">
                                                           <xsl:attribute name="src"><xsl:text disable-output-escaping="yes">http://www.utas.edu.au/courses/images/dotarrowB.gif</xsl:text></xsl:attribute>
                                                      </img>&#160;Workplace learning - <xsl:for-each select="n1:WPLearn">
                                                           <xsl:apply-templates/>
                                                      </xsl:for-each>
    This unit involves study in the workplace
    </xsl:if>
                                            </xsl:for-each>
                                       </xsl:for-each>
                                       About Flexible Study Options
                                  </p>
                             </xsl:if>
                             <xsl:if test="count( /n1:UnitSetDetails/n1:Requisites/n1:Requisite ) &gt; 0">
                                  <p>
                                       <xsl:for-each select="n1:Requisites">
                                            <span style="font-weight:bold; ">REQUISITE INFO</span>
                                            <table border="0" cellpadding="3" cellspacing="0">
                                                 <tbody>
                                                      <xsl:for-each select="n1:Requisite">
                                                           <tr>
                                                                <td>
                                                                     <xsl:for-each select="n1:ReqType">
                                                                          <xsl:choose>
                                                                               <xsl:when test=".='PREREQ'">
                                                                                    <xsl:text>Prereq</xsl:text>
                                                                               </xsl:when>
                                                                               <xsl:when test=".='COREQ'">
                                                                                    <xsl:text>Coreq</xsl:text>
                                                                               </xsl:when>
                                                                               <xsl:when test=".='MEXCL'">
                                                                                    <xsl:text>M.Excl</xsl:text>
                                                                               </xsl:when>
                                                                          </xsl:choose>
                                                                     </xsl:for-each>
                                                                </td>
                                                                <td>
                                                                     <xsl:for-each select="n1:ReqText">
                                                                          <xsl:apply-templates/>
                                                                     </xsl:for-each>
                                                                </td>
                                                           </tr>
                                                      </xsl:for-each>
                                                 </tbody>
                                            </table>
                                       </xsl:for-each>
                                  </p>
                             </xsl:if>
                             <xsl:if test="string-length( n1:RequiredTexts/n1:RequiredText ) &gt; 0 or string-length( n1:RecommendedTexts/n1:RecommendedText ) &gt; 0">
                                  <p>
                                       <span style="font-weight:bold; ">TEXTS</span>
                                       <xsl:if test="string-length( n1:RequiredTexts/n1:RequiredText ) &gt; 0">
                                            <xsl:for-each select="n1:RequiredTexts">
                                                 <span style="font-weight:bold; ">Required</span>
                                                 <xsl:for-each select="n1:RequiredText">
                                                      <xsl:apply-templates/>
                                                 </xsl:for-each>
                                            </xsl:for-each>
                                       </xsl:if>
                                       <xsl:if test="string-length( n1:RecommendedTexts/n1:RecommendedText ) &gt; 0">
                                            <xsl:for-each select="n1:RecommendedTexts">
                                                 <span style="font-weight:bold; ">Recommended Texts</span>
                                                 <xsl:for-each select="n1:RecommendedText">
                                                      <xsl:apply-templates/>
                                                 </xsl:for-each>
                                            </xsl:for-each>
                                       </xsl:if>
                                  </p>
                             </xsl:if>
                             <xsl:if test="string-length( n1:Staff ) &gt; 0">
                                  <p>
                                       <span style="font-weight:bold; ">STAFF: </span>
                                       <xsl:for-each select="n1:Staff">
                                            <xsl:apply-templates/>
                                       </xsl:for-each>
                                  </p>
                             </xsl:if>
                        </xsl:for-each>
                   </body>
              </html>
         </xsl:template>
         <xsl:template match="n1:Bold">
              <span style="font-weight:bold; ">
                   <xsl:apply-templates/>
              </span>
         </xsl:template>
         <xsl:template match="n1:BulletList">
              <ul style="margin-bottom:0; margin-top:0; " start="1" type="disc">
                   <xsl:for-each select="n1:li">
                        <li>
                             <xsl:apply-templates/>
                        </li>
                   </xsl:for-each>
              </ul>
         </xsl:template>
         <xsl:template match="n1:BulletedList">
              <ul style="margin-bottom:0; margin-top:0; " start="1" type="disc">
                   <xsl:for-each select="n1:li">
                        <li>
                             <xsl:apply-templates/>
                        </li>
                   </xsl:for-each>
              </ul>
         </xsl:template>
         <xsl:template match="n1:Course">
         [<a>
                   <xsl:attribute name="href"><xsl:text disable-output-escaping="yes">/pls/portal/url/page/COURSE_UNIT/UTAS_COURSE_DETAIL?P_COURSE_CODE=</xsl:text><xsl:value-of select="."/></xsl:attribute>
                   <xsl:apply-templates/>
              </a>
              <xsl:text disable-output-escaping="yes">] </xsl:text>
         </xsl:template>
         <xsl:template match="n1:Italic">
              <span style="font-style:italic; ">
                   <xsl:apply-templates/>
              </span>
         </xsl:template>
         <xsl:template match="n1:ListBullet">
              <ul style="margin-bottom:0; margin-top:0; " start="1" type="disc">
                   <xsl:for-each select="n1:li">
                        <li>
                             <xsl:apply-templates/>
                        </li>
                   </xsl:for-each>
              </ul>
         </xsl:template>
         <xsl:template match="n1:ListLetter">
              <ol style="margin-bottom:0; margin-top:0; " start="1" type="a">
                   <xsl:for-each select="n1:li">
                        <li>
                             <xsl:apply-templates/>
                        </li>
                   </xsl:for-each>
              </ol>
         </xsl:template>
         <xsl:template match="n1:ListNumber">
              <ol style="margin-bottom:0; margin-top:0; " start="1" type="1">
                   <xsl:for-each select="n1:li">
                        <li>
                             <xsl:apply-templates/>
                        </li>
                   </xsl:for-each>
              </ol>
         </xsl:template>
         <xsl:template match="n1:ListRoman">
              <ol style="margin-bottom:0; margin-top:0; " start="1" type="i">
                   <xsl:for-each select="n1:li">
                        <li>
                             <xsl:apply-templates/>
                        </li>
                   </xsl:for-each>
              </ol>
         </xsl:template>
         <xsl:template match="n1:NumberedList">
              <ol style="margin-bottom:0; margin-top:0; " start="1" type="1">
                   <xsl:for-each select="n1:li">
                        <li>
                             <xsl:apply-templates/>
                        </li>
                   </xsl:for-each>
              </ol>
         </xsl:template>
         <xsl:template match="n1:Unit">
              <xsl:if test="string-length(.) &gt; 0">
                   <a>
                        <xsl:attribute name="href"><xsl:text disable-output-escaping="yes">/pls/portal/url/page/COURSE_UNIT/UTAS_UNIT_DETAIL?P_UNIT_CODE=</xsl:text><xsl:value-of select="."/></xsl:attribute>
                        <xsl:apply-templates/>
                   </a>
              </xsl:if>
         </xsl:template>
         <xsl:template match="n1:ol">
              <ol style="margin-bottom:0; margin-top:0; " start="1" type="1">
                   <xsl:for-each select="n1:li">
                        <li>
                             <xsl:apply-templates/>
                        </li>
                   </xsl:for-each>
              </ol>
         </xsl:template>
         <xsl:template match="n1:para">
              <p style="padding-bottom:0; padding-top:0; ">
                   <xsl:apply-templates/>
              </p>
         </xsl:template>
         <xsl:template match="n1:table">
              <xsl:apply-templates/>
         </xsl:template>
         <xsl:template match="n1:ul">
              <ul style="margin-bottom:0; margin-top:0; " start="1" type="disc">
                   <xsl:for-each select="n1:li">
                        <li>
                             <xsl:apply-templates/>
                        </li>
                   </xsl:for-each>
              </ul>
         </xsl:template>
    </xsl:stylesheet>

  • Is XML+XSL possible within a PDF?

    Hello!
    After much searching all I could find were articles about converting xml+xsl INTO a pdf file.  I'm wondering if I could embed XML+XSL INSIDE a pdf file and have it render.  Does Reader support XSL processing?  I'm new to pdf generation in general so any tips or advice would be useful and there is very little on the interwebs about XSL inside a pdf.
    Thank you!

    After looking at http://partners.adobe.com/public/developer/opensource/index.html I was under the impression that Reader used the Sablotron engine for some reason.  What adobe products use Sablotron and XSL then?

  • XSL Append & XSL Variable !!!

    Hi,
    If anyone has any ideas on the below problem I would sincerely appreciate it as it is driving me crazy!!!
    I need to concatenate/append the contents of a Collection node into a string variable, such that each element is comma seperated in the string. I need to do this to pass the string of comma seperated values into a 3rd party service that I am calling. It looks like I would use an XSL transform to achieve this. However, it appears to be impossible because Oracle Transform mapper does not support <xsl:variable> ie. I get "unsupported" when I try to use this.
    So,for example, I want to convert the following collection
    <NamesCollection>
    <name>A</name>
    <name>B</name>
    <name>C</name>
    <name>D</name>
    <name>E</name>
    <name>F</name>
    <name>G</name>
    <name>H</name>
    </NamesCollection>
    ...such that it would become:
    <NAMES>A,B,C,D,E,F,G,H</NAMES>
    I found some sample XSL code in google:
    <xsl:variable name="String">
    <xsl:for-each select="/NamesCollection">
    <xsl:value-of select="name" />
    <xsl:text>,</xsl:text>
    </xsl:for-each>
    </xsl:variable>
    However, Oracle mapper does not support "xsl:variable". So the above is no good.
    I cannot also nest a "for-each" inside a node,
    Eg.
    <NAMES>
    <xsl:for-each select="/NamesCollection">
    <xsl:value-of select="name"/>
    </xsl:for-each>
    </NAMES>
    because it complains:
    Error: Invalid Usage of <for-each> Element
    If anyone has any suggestions, they would be sincerely appreciated !!!!!!!!!

    Humm...
    You can iterate trough your NamesCollection (see <HOME>\integration\orabpel\samples\tutorials\112.Arrays sample).
    After, for each <name>, you can use an "Assign" activity to append all names to another variable.
    The trick here is to edit the "Assign" source code on process.bpel (because the default behaviour is to replace the value, not append). You have to use a BPEL extension:
    <assign name="Assign_1">
    <bpelx:append>
    <bpelx:from concat(bpws:getVariableData(eachName_Variable),",") />
    <bpelx:to variable="namesWithComma_Variable" />
    </bpelx:append>
    </assign>
    Logic:
    <IterateOver NamesCollection>
    <get one name>
    <concat it with a comma>
    <concat it with other names>
    <loop iterate>

  • XML Publisher and the Oracle Shipping Transactions Form

    I am running 11.5.10.2. I need to print Simplified Chinese characters in a document. We converted to the UTF-8 character set so the server can render these on forms and such. I am using Oracle Reports 6i to produce a report, but due to the limitations with this product it will not produce PDF output with Chinese characters. XML Publisher however works great. The concurrent manager is set so the report produces XML which is then set to the template and out comes a really cool looking layout with Chinese that can be viewed, printed, or e-mailed anywhere.
    Now I have put this report into a document set so it can be printed from the Shipping Transactions form. But it does not work. There is no output. Metalink Note:312194.1 states development only supports XSL-FO and this will not be available until R12.
    Is this really true? Has anyone else come across this? Any suggestions on how to get around this?

    Hi
    Im assuming you are using the EBusiness Suite becasue of your reference to AR and AP modules. If so getting using an ORacle Report as a datasource for XMLP to format is pretty straightforward. There is a white paper on metalink describe the complete process - Note 295409.1. This will be available on the public site soon http://www.oracle.com/technology/products/applications/publishing/index.html
    As for AR and AP, there is no reason at all why you can not use XMLP with the existing Oracle Reports in those modules. You will start to see more and more modules providing embedded reporting functionality in the EBS based on XMLP technologies.
    Regards
    Tim

  • Xslt:include within CLOB

    Hello community,
    There is a table with CLOB-fields containing XSLT documents. I read this table from java and do XSL-Transformation in Java, too.
    Now I need to split this documents in separate modules and save each modul in an own table entry. I want to compose this documents by the <xsl:include> tag. The dirty way is to load the main document from java, parse it and load missing parts from darabase when the document contains <xsl:include>.
    I would be more happy, if Oracle supports <xsl:include> build in. For example, I would write <xsl:include href="key=3"> or something like this and hope that Oracle parses this and gives me the composed XSLT document or even the parsed XSLT result. If necessary, I can use PL/SQL, too.
    What is the best way to do this? Can you give me a hint or key word for the Oracle technology I should look for?
    Thanks!
    Alex

    The XML forums would have been better though.
    Given what is currently supported by the Oracle XSLT processor, here's the basic approach you can follow :
    SQL> create table stylesheet_table (
      2    doc_id    integer
      3  , doc_name  varchar2(30)
      4  , doc       clob
      5  );
    Table created
    SQL>
    SQL> insert into stylesheet_table values (1, 'main',
      2  '<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
      3   <xsl:template match="/">
      4     <xsl:text>The document has </xsl:text>
      5     <xsl:call-template name="nodeCount"/>
      6     <xsl:text> node(s)</xsl:text>
      7   </xsl:template>
      8   <xsl:include href="/oradb/DEV/STYLESHEET_TABLE/ROW[DOC_ID=2]/DOC/text()"/>
      9  </xsl:stylesheet>'
    10  );
    1 row inserted
    SQL>
    SQL> insert into stylesheet_table values (2, 'nodeCount',
      2  '<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
      3   <xsl:template name="nodeCount">
      4     <xsl:value-of select="count(descendant::node())"/>
      5   </xsl:template>
      6  </xsl:stylesheet>'
      7  );
    1 row inserted
    SQL>
    SQL> select xmltransform(
      2           xmltype('<root><item>ABC</item></root>')
      3         , dburitype('/oradb/DEV/STYLESHEET_TABLE/ROW[DOC_ID=1]/DOC/text()').getxml()
      4         )
      5  from dual;
    XMLTRANSFORM(XMLTYPE('<ROOT><I
    The document has 3 node(s)
    The key is the ability to reference an external document via the oradb scheme (for documents stored in custom tables) or in the XMLDB repository.
    Please also note that "DEV" is my schema here :
    /oradb/DEV/STYLESHEET_TABLE/ROW[DOC_ID=1]/DOC/text()so if you want to test, of course replace it with your own.

  • Pass a Parameter to Function?

    Hi All,
    can you please tell me is it possible to pass a parameter to a function in the Select statement
    for example
    select * from table(test.get_trans_by_period('141', '123456874', '20000101', '20100101'))
    How can I use BI Publisher to pass the values using parameters
    I tried
    select * from table(test.get_trans_by_period(:p_param1, :p_param2, :p_param3, :p_param4))
    but it's not working
    BR,
    Rossy

    You can write a data template, and call the function from within the xml block for the data template, as in a database query.
    The rtf supports xsl code behind the tags, so can write xsl code in rtf.

  • X ways to modify xmltype

    As I can understand xmltype is "readonly" by nature in oracle particularly in respect to "xmltype" tables.
    I do-
    select value(t) from "xml_table" t,
    that's all I can do with "xml_table" in most cases and it's not very middle tier friendly which requires bunch of processing to get exactly the same xml but with "xmlns:xsi" declaration for example.
    How I can modify xmltype stored in xmltable before returning to client(replace(string,,,) is not an option for big clob documents)? Something like lightweight DOM support(XSL is not too heavyweight approach IMHO)-add attribute as simpliest case maybe.
    Any thoughts,ideas?

    You can either remove the PDF/A status from the file by preflighting it in Acrobat X Pro, or disable PDF/A View Mode under your general preferences (Edit / Preferences / Documents). The latter should only be done temporarily, as PDF/A documents are displayed differently than normal files, and the View Mode ensures they work as intended (though the side-effect is a read-only view).
    To clear the PDF/A header with Preflight, open the Tools Pane, Print Production panel (if it's not visible, choose it from the corner menu) and click Preflight. Under "PDF/A Compliance" run the "Remove PDF/A information" fixup by clicking "Analyze and fix" and save the file. Nothing else about it will be changed.

  • Getting HTML string out of DOM tree

    after i apply XSL transformation to an XML document, i get a
    DOM tree as a result.
    how do i extract the HTML from that tree as a string? lotus xsl
    lets you pass a PrintWriter to XSLProcessor -- how can I use the
    DocumentFragment for that same thing?
    thank you very much,
    zak.
    null

    zak may (guest) wrote:
    : : At this point we do not support xsl:output so you the only
    way
    : : to get printed output at this point is to use the DOM print
    : : method. xsl:output will be supported in a future release.
    : that's great -- but which "DOM print method" are you reffering
    : to?
    : neither DocumentFragment, nor Document, nor Node have a print
    : method.
    : my question remains -- how do I get at the HTML result of an
    XSL
    : transformation? XSLProcessor.processXSL returns a
    : DocumentFragment -- how do I print that DocumentFragment,
    markup
    : tags and all?
    : thank you very much,
    : zak.
    Both XMLDocument and XMLNode have a variety of print methods.
    None of them will transform XML into HTML however.
    Oracle XML Team
    http://technet.oracle.com
    Oracle Technology Network
    null

Maybe you are looking for