Xml- xslt- pdf

transformations of xml to pdf using xslt

Not sure what the question is, but the strategy I use is to write an XSLT that converts my XML into XSL:FO. XSL:FO (XSL Formatting Objects) is a W3C recommendation for generically defining layout in XML. Its syntax is very similar to CSS2 (except it uses XML attributes instead of inline CSS syntax). Once you have an XSL:FO document, it's trivial to convert to PDF using a library such as Apache FOP (http://xml.apache.org/fop/).
There is some XSL:FO information on that site, but another good resource is W3Schools (http://www.w3schools.com/xslfo/xslfo_reference.asp) and ZVON (http://www.zvon.org/xxl/xslfoReference/Output/).
There's also Jasper and iReport (a WYSIWYG editor for Jasper transformations) but it's a little more complicated and not as powerful.
Hope that helps,
- Jesse

Similar Messages

  • How can I create a dynamic XML driven PDF Portfolio?

    I have built an XML application for which I maintain a library of individual PDF page "templates" used to assemble large (1000+ pages) PDF documents. The page templates are saved as PDFs without page numbers as they can be reused anywhere in any manual, the page numbers are applied during the document assembly process. I am now attempting to implement an update process, in which one template change can impact dozens of large documents. I am therefore looking at moving away from creating these large PDF documents and creating something more along the lines of a Package, Portfolio or other solution in which document pages/templates in the library are linked to rather than combined, so that changes across multiple large documents can be done quickly and transparently to the user. I am sure there is a solution using an Adobe spec like Portfolio or XDP, I just need a nudge down the right path, as nothing in what I've read explicitly states that these technologies can be used for this purpose. I would prefer to stay within technologies I am comfortable with to create/modify the necessary files, whcih are XML/XSLT and ANT. I would also like to know if it's possible to add page numbers on the footer of each page in the Portfolio without modifying the template, and if the resulting Portfolio can be saved as a normal PDF or printed with the dynamic page numbers included.
    I know this might be a tall order but if anyone can help clarify what's possible with existing Adobe technologies it would be greatly appreciated.
    Thanks,
    Keith

    Indeed - PDF Portfolios are a collection of static files attached to a one-page cover sheet, you cannot have references to externally-stored documents.
    You can replace individual files in a Portfolio (by adding a file of the same name) but nothing happens automatically, and the file when added to the Portfolio will have no idea about where it originally came from. There's no concept of "check for updates".

  • XML TO PDF printing

    Hi,
    I managed to create a pdf File, from a XML document, using XSLT and XSL-FO.
    I'd like now to print this pdf File from my Java application. Is there a simple way of doing this ?
    Thank you in advance for any help.
    import java.io.*;
    import javax.xml.transform.*;
    import javax.xml.transform.stream.*;
    import javax.xml.transform.sax.*;
    import org.apache.avalon.framework.*;
    import org.apache.avalon.framework.logger.*;
    import org.apache.fop.apps.*;
    * This class converts an XML file to PDF using JAXP (XSLT) and FOP (XSL-FO).
    * @author
    public class XmlToPdf {
    private static final String BASE_DIR = "./test/";
    private static final String FILE = "test";
    * Converts an XML file to a PDF file using JAXP and FOP.
    * @param xmlFile The XML file
    * @param xslFile The XSLT stylesheet file
    * @param pdfFile The output PDF file
    * @throws IOException In case of an I/O problem
    * @throws FOPException In case of a FOP problem
    * @throws TransformerException In case of a XSL transformation problem
    public void convertXML2PDF(File xmlFile, File xsltFile, File pdfFile)
    throws IOException, FOPException, TransformerException {
    //Construct driver
    Driver driver = new Driver();
    //Setup logger
    Logger logger = new ConsoleLogger(ConsoleLogger.LEVEL_INFO);
    driver.setLogger(logger);
    //Setup Renderer (output format)
    driver.setRenderer(Driver.RENDER_PDF);
    //Setup output
    OutputStream out = new FileOutputStream(pdfFile);
    out = new BufferedOutputStream(out);
    try {
    driver.setOutputStream(out);
    //Setup XSLT
    TransformerFactory myFactory = TransformerFactory.newInstance();
    Transformer myTransformer = myFactory.newTransformer(new StreamSource(xsltFile));
    //Setup input for XSLT transformation
    Source src = new StreamSource(xmlFile);
    //The generated FO (resulting SAX events) must be sent to FOP
    Result res = new SAXResult(driver.getContentHandler());
    //Start XSLT transformation and FOP processing
    myTransformer.transform(src, res);
    } finally {
    out.flush();
    out.close();
    * Main method.
    * @param args command-line arguments
    public static void main(String[] args) {
    try {
    System.out.println("Starting XML TO PDF Transformation...\n");
    //Base Directory...
    File baseDir = new File(BASE_DIR);
    //Input and output files...
    File xmlFile = new File(baseDir, FILE+".xml");
    File xsltFile = new File(baseDir, FILE+".xsl");
    File pdfFile = new File(baseDir, FILE+".pdf");
    System.out.println("Input: XML (" + xmlFile + ")");
    System.out.println("XSL Stylesheet: " + xsltFile);
    System.out.println("Output: PDF (" + pdfFile + ")");
    System.out.println();
    System.out.println("Transforming...");
    XmlToPdf app = new XmlToPdf();
    // Do the transformation...
    app.convertXML2PDF(xmlFile, xsltFile, pdfFile);
    System.out.println();
    System.out.println("The pdf was created succesfully !\n");
    } catch (Exception e) {
    System.err.println(e.getMessage());
    e.printStackTrace();
    System.exit(-1);

    hi everybody
    i use the code of the class XmlToPdf but i have a problem when i run it
    [ERROR] Unsupported element encountered: html (Namespace: default). Source context: unavailable
    [ERROR] Expected XSL-FO (root, page-sequence, etc.), SVG (svg, rect, etc.) or elements from another supported language.
    java.lang.NullPointerException
    javax.xml.transform.TransformerException: java.lang.NullPointerException
         at org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1226)
         at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:638)
         at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1088)
         at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1066)
         at com.clear2pay.toolbox.reports.fop.XmlToPdf .convertXML2PDF(XmlToPdf java:526)
         at com.clear2pay.toolbox.reports.fop.XmlToPdf .main(XmlToPdf .java:557)
    i don't see where is the problem.
    this is the XML File that i use
    <?xml version="1.0" encoding="UTF-8"?>
    <changelog>
         <entry>
              <date>2002-12-09</date>
              <time>14:21</time>
              <author><![CDATA[jmc]]></author>
              <file>
                   <name>develop/web/vds-rel1/c/su_rgd0_c.jsp</name>
                   <revision>1.9</revision>
                   <prevrevision>1.4</prevrevision>
              </file>
              <msg><![CDATA[moved cancel button into seperate for so it doesn't invoke js validation]]></msg>
         </entry>
         <entry>
              <date>2002-12-09</date>
              <time>13:41</time>
              <author><![CDATA[jmc]]></author>
              <file>
                   <name>develop/web/vds-rel1/c/su_pm0_c.jsp</name>
                   <revision>1.18</revision>
                   <prevrevision>1.124</prevrevision>
              </file>
              <msg><![CDATA[moved << and >> to the correct column]]></msg>
         </entry>     
    </changelog>
    and this is the XSL that i use
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet
    xmlns:xsl='http://www.w3.org/1999/XSL/Transform'
    version='1.0'>
    <xsl:param name="title"/>
    <xsl:param name="module"/>
    <xsl:param name="cvsweb"/>
    <xsl:output method="html" indent="yes" encoding="US-ASCII"
    doctype-public="-//W3C//DTD HTML 4.01//EN"
    doctype-system="http://www.w3.org/TR/html401/strict.dtd"/>
    <xsl:template match="*">
    <xsl:copy>
    <xsl:copy-of select="attribute::*[. != '']"/>
    <xsl:apply-templates/>
    </xsl:copy>
    </xsl:template>
    <xsl:template match="changelog">
    <html>
    <head>
    <title><xsl:value-of select="$title"/></title>
    <style type="text/css">
    body, p {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 80%;
    color: #000000;
    background-color: #ffffff;
    tr, td {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    background: #eeeee0;
    td {
    padding-left: 20px;
    .dateAndAuthor {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-weight: bold;
    text-align: left;
    background: #a6caf0;
    padding-left: 3px;
    a {
    color: #000000;
    pre {
    font-weight: bold;
    </style>
    </head>
    <body>
    <h1>
    <a name="top"><xsl:value-of select="$title"/></a>
    </h1>
    <p style="text-align: right">Designed for use with Ant.</p>
    <hr/>
    <table border="0" width="100%" cellspacing="1">
    <xsl:apply-templates select=".//entry">
    <xsl:sort select="date" data-type="text" order="descending"/>
    <xsl:sort select="time" data-type="text" order="descending"/>
    </xsl:apply-templates>
    </table>
    </body>
    </html>
    </xsl:template>
    <xsl:template match="entry">
    <tr>
    <td class="dateAndAuthor">
    <xsl:value-of select="date"/><xsl:text> </xsl:text><xsl:value-of select="time"/><xsl:text> </xsl:text><xsl:value-of select="author"/>
    </td>
    </tr>
    <tr>
    <td>
    <pre>
    <xsl:apply-templates select="msg"/></pre>
    <ul>
    <xsl:apply-templates select="file"/>
    </ul>
    </td>
    </tr>
    </xsl:template>
    <xsl:template match="date">
    <i><xsl:value-of select="."/></i>
    </xsl:template>
    <xsl:template match="time">
    <i><xsl:value-of select="."/></i>
    </xsl:template>
    <xsl:template match="author">
    <i>
    <a>
    <xsl:attribute name="href">mailto:<xsl:value-of select="."/></xsl:attribute>
    <xsl:value-of select="."/></a>
    </i>
    </xsl:template>
    <xsl:template match="file">
    <li>
    <a>
    <xsl:choose>
    <xsl:when test="string-length(prevrevision) = 0 ">
    <xsl:attribute name="href"><xsl:value-of select="$cvsweb"/><xsl:value-of select="$module" />/<xsl:value-of select="name" />?rev=<xsl:value-of select="revision" />&content-type=text/x-cvsweb-markup</xsl:attribute>
    </xsl:when>
    <xsl:otherwise>
    <xsl:attribute name="href"><xsl:value-of select="$cvsweb"/><xsl:value-of select="$module" />/<xsl:value-of select="name" />?r1=<xsl:value-of select="revision" />&r2=<xsl:value-of select="prevrevision"/></xsl:attribute>
    </xsl:otherwise>
    </xsl:choose>
    <xsl:value-of select="name" /> (<xsl:value-of select="revision"/>)</a>
    </li>
    </xsl:template>
    <!-- Any elements within a msg are processed,
    so that we can preserve HTML tags. -->
    <xsl:template match="msg">
    <xsl:apply-templates/>
    </xsl:template>
    </xsl:stylesheet>
    Thank you in advance for any help.

  • XML + XSLT - Retaining LF's in output

    Hi
    I am using FOP to process an XML file to a PDF using a XSLT. The
    description column can have LF characters in it, which currently are
    getting filtered out. I have converted teh LF's to the escape codes,
    but this has had no effect (I do something similar with the greater
    than symbol and that works). How do I go about retaining them. This
    has been driving me around the bend for ages. Some guidence in this
    would be most appreciated.
    Below is some sample code illustrating the issue. The second row is
    supposed to span multiple lines in the text cell.
    ------------- XML --------------------------------
    <SERVERS>
    <SERVER>
    <NAME>SERV1.DOMAIN.COM</NAME>
    <DESCRIPTION>This description does not have any LF's in the
    text</DESCRIPTION>
    </SERVER>
    <SERVER>
    <NAME>SERV2.DOMAIN.COM</NAME>
    <DESCRIPTION>This is intended to be a line with a LF between here
    and here and another LF between here
    and here and another
    LF between here
    and here</DESCRIPTION>
    </SERVER>
    </SERVERS>
    ------------- XSLT -------------------------------
    <?xml version="1.0" encoding="utf-8"?>
    <xsl:stylesheet version="1.1"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:fo="http://www.w3.org/1999/XSL/Format"
    xmlns:java="http://xml.apache.org/xslt/java"
    exclude-result-prefixes="java">
    <!-- C:\Files\xml>"C:\Program Files\Apache Software
    Foundation\fop-0.20.5\fop.bat" -xml c:\files\xml\servercr.xml -xsl
    C:\files\xml\servercr.xsl -pdf c:\temp\xml\servercr.pdf -->
    <xsl:template match="SERVERS">
    <xsl:variable name="CR" select="'
    '"/>
    <xsl:variable name="LF" select="'
    '"/>
    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"
    xmlns:fox="http://xml.apache.org/fop/extensions">
    <fo:layout-master-set>
    <fo:simple-page-master master-name="A4-L" page-width="297mm"
    page-height="210mm" margin-top="10mm" margin-bottom="10mm"
    margin-left="10mm" margin-right="10mm">
    <fo:region-body margin="10mm"/>
    <fo:region-before extent="20mm"/>
    <fo:region-after extent="10mm"/>
    <fo:region-start extent="10mm"/>
    <fo:region-end extent="10mm"/>
    </fo:simple-page-master>
    </fo:layout-master-set>
    <fo:page-sequence master-reference="A4-L">
    <fo:flow flow-name="xsl-region-body">
    <fo:block>
    <fo:table table-layout="fixed" border-color="rgb(0,0,0)"
    border-style="solid" border-width="1pt">
    <fo:table-column column-width="40mm"/>
    <fo:table-column column-width="200mm"/>
    <fo:table-header background-color="rgb(214,214,214)"
    font-size="8pt" font-weight="bold" text-align="center">
    <fo:table-row text-align="center" font-size="8pt">
    <fo:table-cell border-color="rgb(0,0,0)"
    border-style="solid"
    border-width="1pt"><fo:block>Server</fo:block></fo:table-cell>
    <fo:table-cell border-color="rgb(0,0,0)"
    border-style="solid"
    border-width="1pt"><fo:block>Description</fo:block></fo:table-cell>
    </fo:table-row>
    </fo:table-header>
    <fo:table-body>
    <xsl:for-each select="SERVER">
    <fo:table-row text-align="center" font-size="8pt">
    <fo:table-cell border-color="rgb(0,0,0)"
    border-style="solid" border-width="1pt">
    <fo:block vertical-align="middle">
    <xsl:value-of select="NAME"/>
    </fo:block>
    </fo:table-cell>
    <fo:table-cell border-color="rgb(0,0,0)"
    border-style="solid" border-width="1pt">
    <fo:block vertical-align="middle">
    <xsl:value-of select="DESCRIPTION"/>
    </fo:block>
    </fo:table-cell>
    </fo:table-row>
    </xsl:for-each>
    </fo:table-body>
    </fo:table>
    </fo:block>
    </fo:flow>
    </fo:page-sequence>
    </fo:root>
    </xsl:template>
    </xsl:stylesheet>
    I know this isn't an oracle issue, but hopefully someone can point me in the right direction.
    Thanks for your help.
    Nick.

    Hi
    Thanks for your response it was very useful.
    The attribute linefeed-treatment on its own didn't solve the problem, and another link I found suggested that may be a bug. However making use of the attribute white-space-collapse did seem to do what I wanted!
    So it loks like the solution is to use one bug to fix another :) I'm sure that can't be good and is asking for problems later on. But for now it will do.
    Many thanks for your guidance.
    Nick.

  • On XML, XSLT, FO usage

    Hi,
    Any links... help...documents... tutorials... samples on usage of XML, XSLT, FO engine, for pdf generation.
    Ravishankar Swamy

    Hi,
    This Technical Note is very interesting to start point
    http://www.oracle.com/technology/pub/notes/technote_vohra_fop.html
    Follow good references from AMIS
    http://technology.amis.nl/blog/?p=1102
    http://technology.amis.nl/blog/?p=1182
    Best regards

  • Converting from PDF directly to Java Objects/XML (and PDF format questions)

    Hi,
    I posted this originally in the Acrobat Windows forums but was told I might have more luck here, so here goes:
    I am desperately trying to find a tool (preferably open source but commercial is fine also) that will sit on top of a PDF and allow me to query it's text for content and formatting (I don't care about images). I have found some tools that get me part of the way there, but nothing that seems to provide an end-to-end solution but is quite lightweight. My main question is WHY are there so many tools that go from PDF to RTF, and many tools that go from RTF to XML, but NONE that I can find that go PDF to XML.
    To clarify, by formatting I simply mean whether a line/block of text is bold/italic, and its font size. I am not concerned with exact position on the page. The background is that I will be searching PDFs and assigning importance to whether text is a heading/bodytext etc. We already have a search tool in place so implementing a pure PDF search engine is not an option. I need a lightweight tool that simply allows me to either make calls directly to the PDF OR converts to XML which I can parse.
    Some tools I have tried:
    1) PDFBox (Java Library) - Allows the extraction of text content easily, but doesn't seem to have good support for formatting.
    2) JPedal (Java Library) - Allows extraction of text content easily, and supports formatting IF XML structured data is in the PDF (not the case for my data).
    3)  Nitro PDF (Tool) + RTF to XML (script) - This works quite nicely and shows that PDF to XML is possible, but why do I have to use 2 tools? Also, these are not libraries I can integrate into my app.
    4) iText (Java Library) - Seems great at creating PDFs but poor at extracting content.
    I don't really expect someone to give me a perfect solution (although that would be nice!).
    Instead, what I'd like to know is WHY tools support PDF to RTF/Word/whatever retaining formatting, and other tools support RTF to XML with the formatting information retained. What is it about PDF and RTF/Word that makes it feasible to convert that way, but not to XML. Also, as I found in 3) above, it is perfectly feasible to end up as XML from PDF, so why do no tools support this reliably!
    Many thanks for any advice from PDF gurus.

    XML doesn't mean anything - it's just a generic concept for structuring
    information.  You need a specific GRAMMAR of XML to mean anything.  So what
    grammar would you use?  Something standard?  Make up your own?
    However, there are a number of commercial and open source products that can
    convert PDF to various XML grammars - SVG, ABW, and various custom grammars.
    But the other thing you need to understand is that most PDF files do not
    have any structure associated with them (as you saw when using JPEDAL).  As
    such, any concepts of paragraphs/sections/tables/etc. Are WILD GUESSES by
    the software in question.

  • Barcode printing in XML report PDF output

    Hi All,
            I want to print barcode of invoice number / purchase order number in the XML report PDF output.
            Anyone please suggest me with your ideas and experience.

    Hi Bogdan,
    The steps mentioned in the doc is what i did in order.
    I couldn't understand the step # 13 & 14.
    Log in as XML Publisher Administrator
    Navigate to Administration --> Font Files --> Create Font File
    Available fields are Font Name and File
    --> for Font Name, choose any descriptive name
    --> file will browse your PC to locate the font file
    Navigate to Font Mappings -->Create Font Mapping Set
    Mapping name is the name you will give to a set of fonts.
    Mapping code is the internal name you will give to this set
    Type: 'PDF Form' for PDF templates. 'FO to PDF' for all other template types.
    Create Font Mapping (this allows you to add fonts to a set)
    Font Family is the exact same name you see in MS Word under Font. If you don't use the same name the font will not be picked up at runtime.
    Style and weight must also match how you use the font in the RTF or PDF layout template. Normal and Normal are good defaults.
    Language and Territory should remain blank (NULL) unless you have a strong business reason, as these fields can cause the font not to be picked up at runtime.
    Navigate to Configuration General -> FO Processing -->Font Mapping Set. This can also be done at Data Definition and Template level, via the corresponding Edit Configuration button on those pages. The hierarchy is Site-> Data Def -> Template.
    Select your new mapping set.
    Make sure the font is not referenced under File --> Properties --> Custom in the RTF template file.
    Under General, set a Temporary Directory. The font will be stored under a /fonts directory at runtime, initially created the first time the font is used.
    Upload a template that uses your special font and test using preview or by submitting a concurrent request.

  • HELP: JSP + XML + XSLT = HTML?

    Hello, all.
    I am trying out Weblogic 6 and I am trying to get the JSP + XML + XSLT =>
    HTML chain working.
    I am coming from using Orion and SAXON.. and in that situation I had a JSP
    that contained XML tags... they were filled in at runtime and then using
    Servlet-Chaining was passed along to the SAXON XSLT Processer. SAXON checked
    for the inline XSL specified and then used that to transform the document
    into HTML.
    It worked well, but there were some other features missing/not documented
    that we now need.
    With Weblogic I am trying to use the XSLT Tag Library that comes with the
    distribution, but it seems to be very finicky. I followed the directions and
    I got it to do a sort of roundabout transformation. But it doesn't seem to
    work quite right.
    The best I can get is the following:
    I have an 'xslt' directory url-pattern-mapped to xslt.jsp (as instructed)...
    but can't figure out how to specify the xsl file on-the-fly... that is, if I
    don't hard-code the XSL file in the x:xslt element in the xslt.jsp it
    complains about some XML file not having a root element.
    Ideal situation:
    1. I have a JSP that includes XML elements.
    2. It is filled from a database at runtime and specifys (using a PI) what
    XSL stylesheet it is to be processed with.
    3. Somehow (fingers crossed) the XML is processed and transformed into HTML
    by the appropriate XSL file.
    I think I am mostly stuck moving between steps 2 and 3.
    Can anyone give me some hints? Are there some Weblogic specific
    elements/tags that I have to include in the XML file that Weblogic will
    catch and re-direct to the XSL Parser?
    Please, anyone, if you have some information, I would much appreciate it.
    Dylan Parker
    PS - I apologize for the cross-post, I hope it doesn't cause too much
    traffic.

    Craig,
    I've since discovered how to do it with the WL Taglibrary... and have
    moved on =)
    It has to do with the EXTREMELY BADLY documented x:xml tag that can
    appear within the x:xslt tag body...
    So the WL Tag Library allows something like the following.
    (Please note, angled brackets are omitted in this post to prevent html
    parsing)
    [x:xslt stylesheet="sheet.xsl"]
    [x:xml]
    Here is the XML to run the sheet on.
    This should have all relevant XML syntax: the PIs, the doctype,
    root elements etc...
    [x:xml]
    [x:xslt]
    And that DOES work. But not very well. WL, a little prematurely
    incorporated versions 1.2 of Xerces and Xalan in their product -- and
    these versions have some irritating bugs.
    Also -- There tag library doesn't copy the source XML across as UTF-8
    .. so a lot of the Japanese I have embedded there (from a DB) gets
    mangled somewhere in their code...
    AND -- If you hammer a little bit on an JSP/XML that uses the WL Tag
    Library (eg clicking refresh lots of times in IE)... I get huge
    amounts of irritating exceptions appearing in the log files.
    NullPointerExceptions
    XSL Parsing Exceptions
    XML Parsing Exceptions
    but completely unpredictably...
    In my eyes.. the WL XML/XSL Tag Library using the incorporated and
    untouchable Xalan and Xerces (v1.2) is virtually unusable.
    What a pain.
    BUT! Apache offers a similar OPEN SOURCE XSL Tag Library available
    here:
    http://jakarta.apache.org/taglibs/doc/xsl-doc/intro.html
    And it uses the standard, non-weblogic-incorporated, Xerces and Xalan
    (which means you can provide whatever version you want).. and it works
    impressively well.
    It has almost identical performance as the WL Taglib, and without all
    of the bizarre exceptions being thrown.
    And it does proper passing of the character encoding type!
    If only the taglib did caching though =(
    The performance hit over pure JSP is huge. Almost two orders of
    magnitude. On my desktop box I can get around 500Requests/Sec if I am
    returning HTML direct from a JSP... while if I produce XML that gets
    processed by XSL into HTML the Requests/Sec drops to 5!!!!
    Caching. Caching. And more Caching. A lot of DiskIO is going on with
    the XML/XSL/XHTML chain of events.
    I hope this helps!
    I'd be curious as to what you find out as well.
    Dylan Parker
    On 5 Mar 2001 07:20:00 -0800, "Craig Macha"
    <[email protected]> wrote:
    >
    Yep, I feel Dylan's pain.
    I am trying to accomplish the same thing. A JSP page generating
    dynamic XML content and then utilizing an XSLT stylesheet to transform
    all the content into XHTML.
    Does anyone have some examples that show exactly how to accomplish
    this? Can I do this with WLS and the XML taglib that comes with
    it? Or do I have to move on to something like Cocoon to get this
    capability?
    Any insight would be greatly appreciated.
    Thanks,
    Craig Macha
    "Dylan Parker" <[email protected]> wrote:
    Hello, all.
    I am trying out Weblogic 6 and I am trying to get the
    JSP + XML + XSLT =>
    HTML chain working.
    I am coming from using Orion and SAXON.. and in that situation
    I had a JSP
    that contained XML tags... they were filled in at runtime
    and then using
    Servlet-Chaining was passed along to the SAXON XSLT Processer.
    SAXON checked
    for the inline XSL specified and then used that to transform
    the document
    into HTML.
    It worked well, but there were some other features missing/not
    documented
    that we now need.
    With Weblogic I am trying to use the XSLT Tag Library
    that comes with the
    distribution, but it seems to be very finicky. I followed
    the directions and
    I got it to do a sort of roundabout transformation. But
    it doesn't seem to
    work quite right.
    The best I can get is the following:
    I have an 'xslt' directory url-pattern-mapped to xslt.jsp
    (as instructed)...
    but can't figure out how to specify the xsl file on-the-fly...
    that is, if I
    don't hard-code the XSL file in the x:xslt element in
    the xslt.jsp it
    complains about some XML file not having a root element.
    Ideal situation:
    1. I have a JSP that includes XML elements.
    2. It is filled from a database at runtime and specifys
    (using a PI) what
    XSL stylesheet it is to be processed with.
    3. Somehow (fingers crossed) the XML is processed and
    transformed into HTML
    by the appropriate XSL file.
    I think I am mostly stuck moving between steps 2 and 3.
    Can anyone give me some hints? Are there some Weblogic
    specific
    elements/tags that I have to include in the XML file that
    Weblogic will
    catch and re-direct to the XSL Parser?
    Please, anyone, if you have some information, I would
    much appreciate it.
    Dylan Parker
    PS - I apologize for the cross-post, I hope it doesn't
    cause too much
    traffic.

  • XML mapping, PDF output

    Hi!
    I am working with the latest JDeveloper release. Does JDeveloper have a tool to create custom layouts from xml data and
    print(output) the results as a pdf file?

    I do not think there is something in JDeveloper. XSL-FO is what you would use for converting from XML to PDF, you will find a good tutorial here:
    http://www.w3schools.com/xslfo/default.asp
    Apache FOP ( http://xmlgraphics.apache.org/fop/ ) is a free implementation of an XSL-FO engine.
    If you want also a visual tool to avoid having to create your XSLFO file manually, you can look at some XSL-FO which are available, one of them is http://www.java4less.com/fopdesigner/fodesigner.php

  • Displaying BLOB of type word doc in XML Publisher pdf output

    Hi all,
    Please guide me relating the Displaying BLOB of type word doc in XML Publisher pdf output with links or pointers.In the following xml column TRADE_LICENSE_COPY is BLOB when queried from toad and if clicked on the ouput word doc is being opened directly.How to show the column value word doc as attachment in pdf output?
    <?xml version="1.0" encoding="UTF-8"?>
    <!-- Generated by Oracle Reports version 10.1.2.3.0 -->
    <XXTDIC_SUP_REG>
    <LIST_G_BASIC_QUSNRY>
    <G_BASIC_QUSNRY>
    <RESPONSE_ID>194</RESPONSE_ID>
    <UAE_REGISTRATION>Yes</UAE_REGISTRATION>
    <TRADE_LICENSE_COPY>PK</TRADE_LICENSE_COPY>
    <WEBSITE_DETAILS>com</WEBSITE_DETAILS>
    <AMERICA_2009_2010>Between 81 and 90 %</AMERICA_2009_2010>
    </G_BASIC_QUSNRY>
    </LIST_G_BASIC_QUSNRY>
    <LIST_G_CONTACTS>
    <G_CONTACTS>
    <CONTACT_PERSON>MR.NTF1 NTL1</CONTACT_PERSON>
    <PHONE_NUMBER>0</PHONE_NUMBER>
    <EMAIL_ID>na</EMAIL_ID>
    <FAX_NUMBER>0</FAX_NUMBER>
    </G_CONTACTS>
    <G_CONTACTS>
    <CONTACT_PERSON>MR.NTF1 NTL1</CONTACT_PERSON>
    <PHONE_NUMBER>0</PHONE_NUMBER>
    <EMAIL_ID>na</EMAIL_ID>
    <FAX_NUMBER>-</FAX_NUMBER>
    </G_CONTACTS>
    </LIST_G_CONTACTS>
    <LIST_G_SC_QUSNRY>
    <G_SC_QUSNRY>
    <RESPONSE_ID1>113</RESPONSE_ID1>
    <FY3_PROJTYPE_COMMERCIAL>Between 21 and 30 %</FY3_PROJTYPE_COMMERCIAL>
    <ENG_INSTALL_CAPABILITY></ENG_INSTALL_CAPABILITY>
    <SCM_EXPERIENCE_PARTNERING>Have you had experience of &quot;Partnering&quot;?(i.e with major contracts / employers If so list them.Also please provide details</SCM_EXPERIENCE_PARTNERING>
    </G_SC_QUSNRY>
    </LIST_G_SC_QUSNRY>
    <LIST_G_ADDRESS>
    <G_ADDRESS>
    <OFFICE_ADDRESS>Addres1</OFFICE_ADDRESS>
    <ADDRESS_LINE1>Addre line1</ADDRESS_LINE1>
    <ADDRESS_LINE2>Addre line2</ADDRESS_LINE2>
    <ADDRESS_LINE3>Addre line3</ADDRESS_LINE3>
    <CITY>City1</CITY>
    <STATE>State1</STATE>
    <COUNTRY>US</COUNTRY>
    </G_ADDRESS>
    <G_ADDRESS>
    <OFFICE_ADDRESS>Addres2</OFFICE_ADDRESS>
    <ADDRESS_LINE1>Addre line1</ADDRESS_LINE1>
    <ADDRESS_LINE2>Addre line2</ADDRESS_LINE2>
    <ADDRESS_LINE3>Addre line3</ADDRESS_LINE3>
    <CITY>City2</CITY>
    <STATE>State2</STATE>
    <COUNTRY>IN</COUNTRY>
    </G_ADDRESS>
    </LIST_G_ADDRESS>
    <LIST_G_DSN_QUSNRY>
    </LIST_G_DSN_QUSNRY>
    <LIST_G_PROD_SUB_CODE>
    <G_PROD_SUB_CODE>
    <PROD_SUB_CODE>060.42</PROD_SUB_CODE>
    <PROD_SUB_DESC>Automotive Maintenance Items and Repair/Replacement Parts.Filters: Air, Fuel, Oil, Power Steering, Transmission and Water, and PCV Valves</PROD_SUB_DESC>
    </G_PROD_SUB_CODE>
    <G_PROD_SUB_CODE>
    <PROD_SUB_CODE>060.60</PROD_SUB_CODE>
    <PROD_SUB_DESC>Automotive Maintenance Items and Repair/Replacement Parts.Hose and Hose Fittings: Brake, Heater, Radiator, Vacuum, Washer, Wiper, etc.</PROD_SUB_DESC>
    </G_PROD_SUB_CODE>
    <G_PROD_SUB_CODE>
    <PROD_SUB_CODE>207.37</PROD_SUB_CODE>
    <PROD_SUB_DESC>Computer Accessories and Supplies.CRT Holders, Cases, Glare Screens, Locks, etc.</PROD_SUB_DESC>
    </G_PROD_SUB_CODE>
    <G_PROD_SUB_CODE>
    <PROD_SUB_CODE>207.60</PROD_SUB_CODE>
    <PROD_SUB_DESC>Computer Accessories and Supplies.Keyboard Dust Covers, Key Top Covers, Keyboard Drawers, Wrist Supports, etc.</PROD_SUB_DESC>
    </G_PROD_SUB_CODE>
    </LIST_G_PROD_SUB_CODE>
    <LIST_G_CONT_QUSNRY>
    </LIST_G_CONT_QUSNRY>
    <LIST_G_BUSS_CLASS>
    <G_BUSS_CLASS>
    <BUSS_CLASS>SUPPLY_CHAIN</BUSS_CLASS>
    </G_BUSS_CLASS>
    </LIST_G_BUSS_CLASS>
    <CF_SUPPLIER_NAME>N1</CF_SUPPLIER_NAME>
    <CF_REG_STATUS>Draft</CF_REG_STATUS>
    <CF_BUS_CLASS></CF_BUS_CLASS>
    <CF_PROD_SUBCODE>060.36</CF_PROD_SUBCODE>
    <CF_PROD_SUBCODE_MEAN>Automotive Maintenance Items and Repair/Replacement Parts.Electrical Accessories: Alternators, Ammeters, Coils, Distributors, Generators, Regulators, Starters, etc.</CF_PROD_SUBCODE_MEAN>
    <CF_COUNTRY>India</CF_COUNTRY>
    </XXTDIC_SUP_REG>
    Thanks in advance.
    Best Regards,
    Mahi

    Mahi,
    you can't do that yet.

  • Print stored pdf files to a XML Publisher PDF report

    I want to print PDF attachments to a XML Publisher PDF report. How can I do it?
    For eg. We have an iRecruitment vacancy IRC1309 for which the applicants upload pdf resumes. We want to print applicant resumes to a single PDF file for review.
    Any suggestions?
    Thanks in advance,
    Aakash

    Hi Guru,
    I have requirement to show attachment file in AR invoices which is .pdf files in BI Reports or Oracle Report.. Can ony one guide me please.
    Iam able to read blod data from fnd_lob table and also able to see junk data in xml output. Once rft template is generated then it is coming as blank. It does stream lob data. Can you please provide xsl fo statement to read.
    Thanks
    Simon
    Edited by: user13084103 on Nov 7, 2011 4:49 AM
    Edited by: user13084103 on Nov 7, 2011 4:50 AM

  • Extracting XML from Pdf form

    There is an industry standard pdf form with an underlying XML schema which can be opened in Adobe reader.
    The form has a custom button on Page 2  called "export" which can be manually clicked to export the XML file.
    We will have hundreds of these forms. How would I automate the extraction of this XML document?
    I would prefer to just write a simple script and extract out the xml to a file folder
    Thanks for your help.

    Thanks Patrick.
    We are thinking about using a third party native Java library to do this (http://www.qoppa.com/pdffields/jpfindex.html). I was hoping we could use acrobat reader, since everyone has it!
    Here are a few more things.
    1. We are an Software Vendor that sells our solutions - our software solutions need to extract the xml from pdf. We have a java based program that parses this xml and does stuff with it.
    2. Obviously, we would need to be able to redistribute whatever solution we use to extract the xml from pdf.
    3. Can Acrobat Professional batch mode be executed from Java?
    4.. If so, Instead of distributing a full blown Acrobat Professional or requiring customers to buy it,  is there a library that Adobe provides that we could repackage and ewdistribute? If so, can you send me some pointers on where I could find what those libraries would be and how much would they cost for each distribution we do.
    5. If no, are you familiar with qoppa or do you have recommendations on any other third party libary for Java?
    Thanks a bunch!

  • XML/XSLT Newbie

    Hi All
    I'm want to dip my toe into the world of XML/XSLT development
    to help with
    job applications. Seems there's a lot of companies asking for
    this.
    I've been developing ASP applications for a number of years,
    but i've never
    looked at XML, etc...
    Can anyone provide a strating point, examples, etc? I'm also
    looking to
    learn .NET too (think i have a mountain to climb).
    I've been using Access database for my applications but also
    need to expand
    by using MS SQL on my local machine.
    Any ideas wher to start?
    Hope someone can point me in the right direction - Thanks in
    Adance
    Andy

    > Can anyone provide a strating point, examples, etc? I'm
    also looking to
    > learn .NET too (think i have a mountain to climb).
    And at the top of that mountain is a pile of .net XML
    applications. I can't
    say that's the motherland of software development, but, yea,
    it probably
    pays good. ;o)
    > Any ideas wher to start?
    Well, if you start using asp.net 2.0, a lot of the built-in
    controls
    leverage XML and XSLT, so you'll begin to get your hand dirty
    just going
    through the basic ASP.net 2.0 tutorials.
    -Darrel

  • JSP   vs.    XML/XSLT

    Hi all!
    I'm in a bit of a dilema. As the least knowledgable member of our small development group (3 people incl. me) I'm caught in the middle of a pretty fierce debate over whether or not to we should implement JSP.
    Currently to seperate business logic from presentation we have our servlets pass XML to the browser and then the browser renders the HTML using the appropriate .xsl (sometimes we use server-side transformation).
    Now one of the guys wants to use MVC/Struts and JSPs in order to create a much needed UI for an application. The plan is to not put any Java code in the JSP (seperation of logic and presentation - good, business logic in both the JSP and Servlet - bad.) but the other guy is still vehemently against it.
    He says that anything JSP can do we can already do with XML/XSLT and to add JSP to our environment would complicate things.
    And while I agree with him there, there are some things that when you do them with JSPs make the code more readable and transparent.
    If you had to take a side, which one would you choose?
    Has anyone else out there already gone through this debate? I'd be interested in knowing the outcome.
    Thanks,
    John

    I have a couple of comments.
    1> "XML to the browser and then the browser renders the HTML using the appropriate .xsl"
    I all cases you should do the transformations on the server. Lot of browser do not know how to
    do a xsl transform. And since you can do it some time why not do it not everytime?
    2> "business logic in both the JSP and Servlet"
    Business logic should neither be in servlets nor in jsp. I think they should be in business logic beans.
    3> "anything JSP can do we can already do with XML/XSLT "
    Although anything can be done using xml/xsl or jsp there are a bit of differences where struts-jsp architecture is more perferable.
    Imaging a web site which has lots of online forms(with textfiedls, checkboxes, select lists, etc) which are to be validated and if some validation fails the same form is to be shown with the values already submitted prefilled. Doing this with xml/xsl or even simple jsp could be a nightmare.
    But if you use struts MVC architecture with jsp and struts taglib this will be very very simple.
    Introducing struts-jsp will not complicate things and if the scnario described above is there or could arise in your application then you should seriously think about using struts+jsp. That does not mean you will have to scrap you xml+xsl architecture. You can still generate the xml using your action bean , put the xml in request and forward it to you jsp for rendetion. The jsp page could then use a taglib which has the xsl transformation code to do the xslt transformation.
    The above comments are not just my thoughts but i have also implemented/experienced the above during various projects and they have proved to be useful.
    Cheers!

  • PO output with XML and PDF format

    Hi All,
    I need PO output with XML and PDF format. when I give print it shld go to vendor with xml and pdf format through mail. please kindly guide me on this .
    Thanks in advance
    JK

    hi,
    try this code to get in pdf form
    REPORT zsuresh_test.
    Variable declarations
    DATA:
    w_form_name TYPE tdsfname VALUE 'ZSURESH_TEST',
    w_fmodule TYPE rs38l_fnam,
    w_cparam TYPE ssfctrlop,
    w_outoptions TYPE ssfcompop,
    W_bin_filesize TYPE i, " Binary File Size
    w_FILE_NAME type string,
    w_File_path type string,
    w_FULL_PATH type string.
    Internal tables declaration
    Internal table to hold the OTF data
    DATA:
    t_otf TYPE itcoo OCCURS 0 WITH HEADER LINE,
    Internal table to hold OTF data recd from the SMARTFORM
    t_otf_from_fm TYPE ssfcrescl,
    Internal table to hold the data from the FM CONVERT_OTF
    T_pdf_tab LIKE tline OCCURS 0 WITH HEADER LINE.
    This function module call is used to retrieve the name of the Function
    module generated when the SMARTFORM is activated
    CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
    EXPORTING
    formname = w_form_name
    VARIANT = ' '
    DIRECT_CALL = ' '
    IMPORTING
    fm_name = w_fmodule
    EXCEPTIONS
    no_form = 1
    no_function_module = 2
    OTHERS = 3
    IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    Calling the SMARTFORM using the function module retrieved above
    GET_OTF parameter in the CONTROL_PARAMETERS is set to get the OTF
    format of the output
    w_cparam-no_dialog = 'X'.
    w_cparam-preview = space. " Suppressing the dialog box
                                                        " for print preview
    w_cparam-getotf = 'X'.
    Printer name to be used is provided in the export parameter
    OUTPUT_OPTIONS
    w_outoptions-tddest = 'LP01'.
    CALL FUNCTION w_fmodule
    EXPORTING
    ARCHIVE_INDEX =
    ARCHIVE_INDEX_TAB =
    ARCHIVE_PARAMETERS =
    control_parameters = w_cparam
    MAIL_APPL_OBJ =
    MAIL_RECIPIENT =
    MAIL_SENDER =
    output_options = w_outoptions
    USER_SETTINGS = 'X'
    IMPORTING
    DOCUMENT_OUTPUT_INFO =
    job_output_info = t_otf_from_fm
    JOB_OUTPUT_OPTIONS =
    EXCEPTIONS
    formatting_error = 1
    internal_error = 2
    send_error = 3
    user_canceled = 4
    OTHERS = 5
    IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    t_otf[] = t_otf_from_fm-otfdata[].
    Function Module CONVERT_OTF is used to convert the OTF format to PDF
    CALL FUNCTION 'CONVERT_OTF'
    EXPORTING
    FORMAT = 'PDF'
    MAX_LINEWIDTH = 132
    ARCHIVE_INDEX = ' '
    COPYNUMBER = 0
    ASCII_BIDI_VIS2LOG = ' '
    PDF_DELETE_OTFTAB = ' '
    IMPORTING
    BIN_FILESIZE = W_bin_filesize
    BIN_FILE =
    TABLES
    otf = T_OTF
    lines = T_pdf_tab
    EXCEPTIONS
    ERR_MAX_LINEWIDTH = 1
    ERR_FORMAT = 2
    ERR_CONV_NOT_POSSIBLE = 3
    ERR_BAD_OTF = 4
    OTHERS = 5
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    To display File SAVE dialog window
    CALL METHOD cl_gui_frontend_services=>file_save_dialog
    EXPORTING
    WINDOW_TITLE =
    DEFAULT_EXTENSION =
    DEFAULT_FILE_NAME =
    FILE_FILTER =
    INITIAL_DIRECTORY =
    WITH_ENCODING =
    PROMPT_ON_OVERWRITE = 'X'
    CHANGING
    filename = w_FILE_NAME
    path = w_FILE_PATH
    fullpath = w_FULL_PATH
    USER_ACTION =
    FILE_ENCODING =
    EXCEPTIONS
    CNTL_ERROR = 1
    ERROR_NO_GUI = 2
    NOT_SUPPORTED_BY_GUI = 3
    others = 4
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    Use the FM GUI_DOWNLOAD to download the generated PDF file onto the
    presentation server
    CALL FUNCTION 'GUI_DOWNLOAD'
    EXPORTING
    BIN_FILESIZE = W_bin_filesize
    filename = w_FULL_PATH
    FILETYPE = 'BIN'
    APPEND = ' '
    WRITE_FIELD_SEPARATOR = ' '
    HEADER = '00'
    TRUNC_TRAILING_BLANKS = ' '
    WRITE_LF = 'X'
    COL_SELECT = ' '
    COL_SELECT_MASK = ' '
    DAT_MODE = ' '
    CONFIRM_OVERWRITE = ' '
    NO_AUTH_CHECK = ' '
    CODEPAGE = ' '
    IGNORE_CERR = ABAP_TRUE
    REPLACEMENT = '#'
    WRITE_BOM = ' '
    TRUNC_TRAILING_BLANKS_EOL = 'X'
    WK1_N_FORMAT = ' '
    WK1_N_SIZE = ' '
    WK1_T_FORMAT = ' '
    WK1_T_SIZE = ' '
    IMPORTING
    FILELENGTH =
    tables
    data_tab = T_pdf_tab
    FIELDNAMES =
    EXCEPTIONS
    FILE_WRITE_ERROR = 1
    NO_BATCH = 2
    GUI_REFUSE_FILETRANSFER = 3
    INVALID_TYPE = 4
    NO_AUTHORITY = 5
    UNKNOWN_ERROR = 6
    HEADER_NOT_ALLOWED = 7
    SEPARATOR_NOT_ALLOWED = 8
    FILESIZE_NOT_ALLOWED = 9
    HEADER_TOO_LONG = 10
    DP_ERROR_CREATE = 11
    DP_ERROR_SEND = 12
    DP_ERROR_WRITE = 13
    UNKNOWN_DP_ERROR = 14
    ACCESS_DENIED = 15
    DP_OUT_OF_MEMORY = 16
    DISK_FULL = 17
    DP_TIMEOUT = 18
    FILE_NOT_FOUND = 19
    DATAPROVIDER_EXCEPTION = 20
    CONTROL_FLUSH_ERROR = 21
    OTHERS = 22
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    reward points if useful,
    siri

Maybe you are looking for

  • Remove Reason For Rejection From Sales Order Using BAPI_SALESORDER_CHANGE

    Hi I have a sales order and would like to remove the rejection reason. I am trying to use BAPI_SALESORDER_CHANGE with the following code: (0000xxxxxxx  is my material #. i just removed the actual #). MOVE: '0000050106' TO SALESDOCUMENT. MOVE: 'U' TO

  • Writing OR query for fetching records

    Hi, I have dowloaded a custom wsdl and generated a java client from it using Jdeveloper. I have a method named customObject1QueryPage(QueryInputObj) which is used to query the CRM oD to fetch records. I have successfully queried using the above metho

  • Is there any way to buy albums on the french site?

    I would like to purchase music from the French i-tunes store.  The music is not available in the US store.  I was told I have to be a resident of France, with a French Credit Card and adderss.  Seems rediculous in a world market to not allow electron

  • Bluetooth connection ipad ios 8.1 with imac os x 10.6

    I have an iMac running OS X 10.6.8 snow leopard and an iPad that I have just upgraded to iOS 8.1. Previously I have been able to sync the 2 through bluetooth with iTunes (the computer does not support iCloud).  Since upgrading my iPad this month the

  • Premiere & Soundbooth won't playback

    In both Premiere and Soundbooth, when I click on the play button to have video or audio files play back, it either does not respond at all, or it plays a half of a second and then returns to the point where my marker is.  I can manually slide the mar