Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   XML (http://www.velocityreviews.com/forums/f32-xml.html)
-   -   XSL stylesheet for export of outline from OOImpressu to HTML? (http://www.velocityreviews.com/forums/t168365-xsl-stylesheet-for-export-of-outline-from-ooimpressu-to-html.html)

Matej Cepl 12-04-2004 02:56 AM

XSL stylesheet for export of outline from OOImpressu to HTML?
 
Hello,

does anybody have %subj%? I would like to generate some very simple HTML
(XHTML?) file from OOImpress, so that I can send it to the friend for
review and not bother her with all images, layouts, and the other junk
(moreover, she probably never heard about OO.o). Powerpoint of the cursed
memory used to have export of outline to RTF. Is there something similar
for OOImpress (certainly, I do not care about RTF, OOWriter or HTML would
be more than enough).

I tried the template from
http://www.xml.com/pub/a/2004/02/04/tr-xml.html, but even though I tried to
install it into OOImpress (with Tools/XML Filter Settings), but the result
is highly unnice (see original at
http://www.ceplovi.cz/matej/tmp/gene...-testimony.sxi and the
result is
http://www.ceplovi.cz/matej/tmp/gene...ony.xhtml.bz2).

Any thoughts?

Thanks for any reply,

Matěj

--
Matej Cepl, http://www.ceplovi.cz/matej
GPG Finger: 89EF 4BC6 288A BF43 1BAB 25C3 E09F EF25 D964 84AC
138 Highland Ave. #10, Somerville, Ma 02143, (617) 623-1488

Q: Is vi an easy editor to learn, is it intuitive?
A: Yes, some of us think so. But most people think that we are
crazy.
-- vi FAQ

Joris Gillis 12-04-2004 07:06 PM

Re: XSL stylesheet for export of outline from OOImpressu to HTML?
 
Hi,

> does anybody have %subj%? I would like to generate some very simple HTML
> (XHTML?) file from OOImpress, so that I can send it to the friend for
> review and not bother her with all images, layouts, and the other junk

Well, in the first place, you could consider not to make presentations full of junk:)

> (moreover, she probably never heard about OO.o).

Then let her know it exists;-)

> Powerpoint of the cursed
> memory used to have export of outline to RTF. Is there something similar
> for OOImpress (certainly, I do not care about RTF, OOWriter or HTML would
> be more than enough).


OOImpress has export filters to PDF, flash and html. You can probably use one of them.
File->Export...

> I tried the template from
> http://www.xml.com/pub/a/2004/02/04/tr-xml.html, but even though I tried to
> install it into OOImpress (with Tools/XML Filter Settings), but the result
> is highly unnice (see original at
> http://www.ceplovi.cz/matej/tmp/gene...-testimony.sxi and the
> result is
> http://www.ceplovi.cz/matej/tmp/gene...ony.xhtml.bz2).


If that stylesheet doesn't satisfy you, why not improve it yourself? http://books.evc-cit.info/book.php is a good place to learn the file format of OpenOffice.

regards,
--
Joris Gillis (http://www.ticalc.org/cgi-bin/acct-v...i?userid=38041)
Ceterum censeo XML omnibus esse utendum

Matej Cepl 12-05-2004 02:59 AM

Re: XSL stylesheet for export of outline from OOImpressu to HTML?
 
Joris Gillis wrote:
> Well, in the first place, you could consider not to make presentations
> full of junk:)


I meant pictures and such stuff.

>> (moreover, she probably never heard about OO.o).

> OOImpress has export filters to PDF, flash and html. You can probably use
> one of them. File->Export...


Unfortunately, the export to HTML is of no use for me -- it exports every
slide into one page with all images attached as graphics files. What would
I need is just text in form of outline on one page.

> If that stylesheet doesn't satisfy you, why not improve it yourself?
> http://books.evc-cit.info/book.php is a good place to learn the file
> format of OpenOffice.


That's helpful. Thanks!

Matej

--
Matej Cepl, http://www.ceplovi.cz/matej
GPG Finger: 89EF 4BC6 288A BF43 1BAB 25C3 E09F EF25 D964 84AC
138 Highland Ave. #10, Somerville, Ma 02143, (617) 623-1488

As with the Christian religion, the worst advertisement for
Socialism is its adherents.
-- George Orwell

Matej Cepl 12-05-2004 10:03 PM

Re: XSL stylesheet for export of outline from OOImpressu to HTML?
 
Joris Gillis wrote:
> If that stylesheet doesn't satisfy you, why not improve it yourself?
> http://books.evc-cit.info/book.php is a good place to learn the file
> format of OpenOffice.


I tried to develop my own style, but there are some things in XPath, which I
do not know how to express. If I understand correctly then the unordered
list in OOImpress is like this:

<text:unordered-list text:style-name="L2">
<text:list-item>
<text:unordered-list>
<text:list-item>
<text:p text:style-name="P3">Presentation for Living Waters</text:p>
</text:list-item>
</text:unordered-list>
</text:list-item>
</text:unordered-list>
<text:unordered-list text:style-name="L2">
<text:list-item>
<text:unordered-list>
<text:list-item>
<text:p text:style-name="P3">Monday, December 5th</text:p>
</text:list-item>
</text:unordered-list>
</text:list-item>
</text:unordered-list>

The problem is that I would need to condens all elements
<text:unordered-list text:style-name="L2"> into one <ul> element. Do you
have idea how to do it with XSLT, please?

Thanks a lot,

Matej

--
Matej Cepl, http://www.ceplovi.cz/matej
GPG Finger: 89EF 4BC6 288A BF43 1BAB 25C3 E09F EF25 D964 84AC
138 Highland Ave. #10, Somerville, Ma 02143, (617) 623-1488

Scouts are saving aluminum cans, bottles and other items to be
recycled. Proceeds will be used to cripple children.
-- from a church bulletin

------------------------------
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns="http://www.w3.org/1999/xhtml"
xmlns:style="http://openoffice.org/2000/style"
xmlns:text="http://openoffice.org/2000/text"
xmlns:office="http://openoffice.org/2000/office"
xmlns:table="http://openoffice.org/2000/table"
xmlns:draw="http://openoffice.org/2000/drawing"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:meta="http://openoffice.org/2000/meta"
xmlns:number="http://openoffice.org/2000/datastyle"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:chart="http://openoffice.org/2000/chart"
xmlns:dr3d="http://openoffice.org/2000/dr3d"
xmlns:math="http://www.w3.org/1998/Math/MathML"
xmlns:form="http://openoffice.org/2000/form"
xmlns:script="http://openoffice.org/2000/script"
xmlns:config="http://openoffice.org/2001/config"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:presentation="http://openoffice.org/2000/presentation"
office:class="text"
exclude-result-prefixes="office meta table number dc fo xlink chart math
script xsl draw svg dr3d form config text style">

<xsl:output indent="yes"
method="xml"
doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
encoding="utf-8"
/>

<xsl:template match="draw:page">
<h1><xsl:number/>.
<xsl:value-of select="draw:text-box[1]/text:p[1]"/></h1>
<!-- xsl:apply-templates select="presentation:notes"/ -->
<xsl:apply-templates/>
</xsl:template>

<xsl:template match="text:p">
<p><xsl:apply-templates/></p>
</xsl:template>

<xsl:template match="/">
<html>
<head>
<title>Speaker Notes</title>
<xsl:element name="meta">
<xsl:attribute name="name">DC.date</xsl:attribute>
<xsl:attribute name="content">
<xsl:value-of select="/dc:date"/>
</xsl:attribute>
</xsl:element>
<style>
<xsl:comment>
p {font-size: 10pt}
h1 {font-family: arial; font-size: 12pt; font-weight:
bold}
</xsl:comment>
</style>
</head>
<xsl:apply-templates/>
</html>
</xsl:template>

<xsl:template match="office:body">
<body>
<xsl:apply-templates />
</body>
</xsl:template>

<xsl:template match="text:unordered-list[@text:style-name='L2']">
<ul>
<xsl:apply-templates />
</ul>
</xsl:template>

<xsl:template match="text:ordered-list">
<ol>
<xsl:apply-templates />
</ol>
</xsl:template>

<xsl:template match="text:list-item[not(text:unordered-list)]">
<li><xsl:apply-templates /></li>
</xsl:template>

<xsl:template match="text:span[@text:style-name='T1']">
<em><xsl:apply-templates/></em>
</xsl:template>

<!-- sections of the OO format we don't need at present -->
<xsl:template match="office:automatic-styles" />
<xsl:template match="office:font-decls" />
<xsl:template match="office:meta" />
<xsl:template match="office:script" />
<xsl:template match="office:settings" />
<xsl:template match="office:styles" />
<xsl:template match="style:*" />
<xsl:template match="dc:*">
<xsl:apply-templates />
</xsl:template>
<xsl:template match="meta:creation-date">
<xsl:apply-templates />
</xsl:template>
<xsl:template match="meta:editing-cycles" />
<xsl:template match="meta:editing-duration" />
<xsl:template match="meta:generator" />
<xsl:template match="meta:user-defined" />
<!--
<xsl:template match="text()">
<xsl:apply-templates select="normalize-space(.)"/>
</xsl:template>
-->
</xsl:stylesheet>

Morris M. Keesan 12-06-2004 12:27 AM

Re: XSL stylesheet for export of outline from OOImpressu to HTML?
 
On Sun, 05 Dec 2004 17:03:53 -0500, Matej Cepl <cepl@surfbest.net>
wrote:
> <text:unordered-list text:style-name="L2">
> <text:list-item>
> <text:unordered-list>
> <text:list-item>
> <text:p text:style-name="P3">Presentation for Living Waters</text:p>
> </text:list-item>
> </text:unordered-list>
> </text:list-item>
> </text:unordered-list>
> <text:unordered-list text:style-name="L2">
> <text:list-item>
> <text:unordered-list>
> <text:list-item>
> <text:p text:style-name="P3">Monday, December 5th</text:p>
> </text:list-item>
> </text:unordered-list>
> </text:list-item>
> </text:unordered-list>
>
>The problem is that I would need to condens all elements
><text:unordered-list text:style-name="L2"> into one <ul> element. Do you
>have idea how to do it with XSLT, please?


In some template:
<ul>
<xsl:apply-templates
select="text:unordered-list[@text:style-name="'L2'"]/>
</ul>

and then
....

<xsl:template match="text:unordered-list">
<xsl:value-of select="."/>
</xsl:template>

Or, alternately:

<ul>
<xsl:for-each select="text:unordered-list[@text:style-name="'L2'"]>
<xsl:value-of select="."/>
</xsl:for-each>
</ul>

--
Morris M. Keesan -- keesan@alum.bu.edu


Matej Cepl 12-06-2004 01:41 PM

Re: XSL stylesheet for export of outline from OOImpressu to HTML?
 
Morris M. Keesan wrote:
>>The problem is that I would need to condens all elements
>><text:unordered-list text:style-name="L2"> into one <ul> element. Do you
>>have idea how to do it with XSLT, please?

>
> In some template:
> <ul>
> <xsl:apply-templates
> select="text:unordered-list[@text:style-name="'L2'"]/>
> </ul>
>
> and then
> ...
>
> <xsl:template match="text:unordered-list">
> <xsl:value-of select="."/>
> </xsl:template>


I tried this one, but it doesn't seem to work. See
http://www.ceplovi.cz/matej/tmp/gene...timony.xml.bz2
(FlatXML from OpenOffice) and
http://www.ceplovi.cz/matej/tmp/ooimpress-to-html.xsl, which produces
http://www.ceplovi.cz/matej/tmp/gene...estimony.xhtml --
certainly not what I hoped for.

Any thoughts?

Matej Cepl

--
Matej Cepl, http://www.ceplovi.cz/matej
GPG Finger: 89EF 4BC6 288A BF43 1BAB 25C3 E09F EF25 D964 84AC
138 Highland Ave. #10, Somerville, Ma 02143, (617) 623-1488

In order to avoid being called a flirt, she always yielded
easily.
-- Charles, Count Talleyrand



Joris Gillis 12-06-2004 01:56 PM

Re: XSL stylesheet for export of outline from OOImpressu to HTML?
 
Hi,

You are extremely close to the solution; try this:
Nice stylesheet of yours, by the way.

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns="http://www.w3.org/1999/xhtml"
xmlns:style="http://openoffice.org/2000/style"
xmlns:text="http://openoffice.org/2000/text"
xmlns:office="http://openoffice.org/2000/office"
xmlns:table="http://openoffice.org/2000/table"
xmlns:draw="http://openoffice.org/2000/drawing"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:meta="http://openoffice.org/2000/meta"
xmlns:number="http://openoffice.org/2000/datastyle"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:chart="http://openoffice.org/2000/chart"
xmlns:dr3d="http://openoffice.org/2000/dr3d"
xmlns:math="http://www.w3.org/1998/Math/MathML"
xmlns:form="http://openoffice.org/2000/form"
xmlns:script="http://openoffice.org/2000/script"
xmlns:config="http://openoffice.org/2001/config"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:presentation="http://openoffice.org/2000/presentation"
office:class="text"
exclude-result-prefixes="office meta table number dc fo xlink chart math script xsl draw svg dr3d form config text style">

<xsl:output indent="yes"
method="xml"
doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
encoding="utf-8"
/>

<xsl:template match="/">
<html>
<head>
<title>Speaker Notes</title>
<xsl:element name="meta">
<xsl:attribute name="name">DC.date</xsl:attribute>
<xsl:attribute name="content">
<xsl:value-of select="/dc:date" />
</xsl:attribute>
</xsl:element>
<style>
<xsl:comment>
p {font-size: 10pt}
h1 {font-family: arial; font-size: 12pt; font-weight:
bold}
</xsl:comment>
</style>
</head>
<xsl:apply-templates/>
</html>
</xsl:template>

<xsl:template match="office:body">
<body>
<xsl:apply-templates />
</body>
</xsl:template>

<xsl:template match="draw:page">
<h1><xsl:number/>.
<xsl:value-of select="draw:text-box[1]/text:p[1]"/></h1>

<xsl:apply-templates />

</xsl:template>


<xsl:template match="text:p">
<p><xsl:apply-templates/></p>
</xsl:template>

<xsl:template match="text:unordered-list">
<ul><xsl:apply-templates /></ul>
</xsl:template>

<xsl:template match="text:list-item">
<li><xsl:apply-templates /></li>
</xsl:template>

<xsl:template match="text:span[@text:style-name='T1']">
<em><xsl:apply-templates/></em>
</xsl:template>

<!-- sections of the OO format we don't need at present -->
<xsl:template match="office:automatic-styles" />
<xsl:template match="office:font-decls" />
<xsl:template match="office:meta" />
<xsl:template match="office:script" />
<xsl:template match="office:settings" />
<xsl:template match="office:styles" />
<xsl:template match="style:*" />
<xsl:template match="dc:*">
<xsl:apply-templates />
</xsl:template>
<xsl:template match="meta:creation-date">
<xsl:apply-templates />
</xsl:template>
<xsl:template match="meta:editing-cycles" />
<xsl:template match="meta:editing-duration" />
<xsl:template match="meta:generator" />
<xsl:template match="meta:user-defined" />

<!-- xsl:template match="text()">
<xsl:apply-templates select="normalize-space(.)"/>
</xsl:template -->

</xsl:stylesheet>

regards,
--
Joris Gillis (http://www.ticalc.org/cgi-bin/acct-v...i?userid=38041)
Ceterum censeo XML omnibus esse utendum

Joris Gillis 12-06-2004 02:58 PM

Re: Solved! [Was: Re: XSL stylesheet for export of outline from OOImpressu to HTML?]
 
> Joris Gillis wrote:
>> You are extremely close to the solution; try this:
>> Nice stylesheet of yours, by the way.

>
> Thanks a lot, now it works!

I'm glad it works.
> Concerning the stylesheet for export of plain
> Speaker notes from OOImpress, I was working on the top of
> http://www.xml.com/pub/a/2004/02/04/tr-xml.html, and as a former lawyer I
> learned a value of good intendation hard way :-).
>
> The only problem I have (and it is really unimportant) -- is there a way how
> to clean XML output of all the redundant empty spaces and empty lines?


Yes, just set indent to no:

<xsl:output indent="no"
method="xml"
doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
encoding="utf-8"
/>

and use:
<xsl:template match="draw:page">
<h1><xsl:number/><xsl:text>.</xsl:text>
<xsl:value-of select="draw:text-box[1]/text:p[1]"/></h1>
<xsl:apply-templates />

</xsl:template>
to get optimal whitespace compression.


btw: I you're going to analyze the XML of OOo files. It's handy to uncheck Tools->Options->Load/Save->General->'size optimization' for nice indentation. That's easier to read;)

regards,
--
Joris Gillis (http://www.ticalc.org/cgi-bin/acct-v...i?userid=38041)
Ceterum censeo XML omnibus esse utendum

Matej Cepl 12-06-2004 05:12 PM

Re: Solved! [Was: Re: XSL stylesheet for export of outline from OOImpressu to HTML?]
 
Joris Gillis wrote:
> btw: I you're going to analyze the XML of OOo files. It's handy to uncheck
> Tools->Options->Load/Save->General->'size optimization' for nice
> indentation. That's easier to read;)


Thanks,

Matej

--
Matej Cepl, http://www.ceplovi.cz/matej
GPG Finger: 89EF 4BC6 288A BF43 1BAB 25C3 E09F EF25 D964 84AC
138 Highland Ave. #10, Somerville, Ma 02143, (617) 623-1488

The state is the great fictitious entity by which everyone seeks
to live at the expense of everyone else.
-- Frederick Bastiat




All times are GMT. The time now is 11:15 AM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.