xsl-list
[Top] [All Lists]

RE: [xsl] Outputing PDF

2007-12-04 06:30:26
The usual approach to to convert your XML to XSL-FO via XSLT, and then use a 
processor to convert it to PDF. The best-known open source processor is FOP, 
which you can find on the Apache site.
-- 
Charles Knell
cknell(_at_)onebox(_dot_)com - email



-----Original Message-----
From:     Lucas Gonçalves Grossi <lggrossi(_at_)uol(_dot_)com(_dot_)br>
Sent:     Tue,  4 Dec 2007 09:17:49 -0300
To:       "xsl-list" <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
Subject:  [xsl] Outputing PDF

Hi everybody,

I have this xsl that is outputing an html. I wanna know how can I output a PDF.

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
<xsl:output method="html" encoding="UTF-8"/>

<xsl:template match="/">
        <html><head></head>
        <script>
        function ativaSubMenus(quem){
            var uls = quem.getElementsByTagName('ul')
            for(var i=0; i<uls.length; i++){
                uls[i].style.display = 'none';
            }
            
            var h3s = quem.getElementsByTagName('h4')
            for(i=0; i<h3s.length; i++){
                h3s[i].style.MozUserSelect = 'none';
                h3s[i].unselectable = 'on'; 
                h3s[i].style.cursor = 'pointer'; 
                h3s[i].onclick = function(e){
                    var source = getSource(e);
                    var ulatual = 
source.parentNode.getElementsByTagName('ul')[0];
                    if(ulatual.style.display=='none'){
                        ulatual.style.display = 'block';
                    }else{
                        ulatual.style.display = 'none';
                    }
                }
            }
        }
        function bodyOnReady(func){
            if(!(document.body==null)){
                func();
            }else{
                var func_rep = func;
                setTimeout(function(){ bodyOnReady(func_rep) },100);
            }
        }
        
        function getSource(evt){
            if(typeof(evt)=='undefined') var evt=window.event
            source = evt.target?evt.target:evt.srcElement
            if(source.nodeType == 3)source = source.parentNode
            return source;
        }

        
        bodyOnReady(function(){ ativaSubMenus( 
document.getElementById('menuzao') ) })
        </script>
        <body>
        <ul id='menuzao'>
            <li><h4><xsl:value-of select="gqmroot/@titleRoot"/></h4>
                <ul>
                    <xsl:for-each select="gqmroot/goal">
                                        <li><h4><xsl:value-of 
select="@titleGoal"/></h4></li>
                                        <ul>
                                                <xsl:for-each select="question">
                                                        <li><h4><xsl:value-of 
select="@titleQuestion"/></h4></li>       
                                                        <ul>
                                                                <xsl:for-each 
select="metric">
                                                                        
<li><xsl:value-of select="@titleMetric"/></li>
                                                                        
<xsl:value-of select="unparsed-text(@ChartLink)" disable-output-escaping="yes"/>
                                                                </xsl:for-each>
                                                                
                                                        </ul>
                                                </xsl:for-each>
                                                
                                        </ul>
                                </xsl:for-each>
                        
                </ul>
            </li>
        </ul>
        </body></html>
</xsl:template>

Thanks,
LUCAS


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--




--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>