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>
--~--