XSL stylesheet for export of outline from OOImpressu to HTML?

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Matej Cepl

    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

    #2
    Re: XSL stylesheet for export of outline from OOImpressu to HTML?

    Hi,
    [color=blue]
    > 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[/color]
    Well, in the first place, you could consider not to make presentations full of junk:)
    [color=blue]
    > (moreover, she probably never heard about OO.o).[/color]
    Then let her know it exists;-)
    [color=blue]
    > 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).[/color]

    OOImpress has export filters to PDF, flash and html. You can probably use one of them.
    File->Export...
    [color=blue]
    > 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).[/color]

    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

    Comment

    • Matej Cepl

      #3
      Re: XSL stylesheet for export of outline from OOImpressu to HTML?

      Joris Gillis wrote:[color=blue]
      > Well, in the first place, you could consider not to make presentations
      > full of junk:)[/color]

      I meant pictures and such stuff.
      [color=blue][color=green]
      >> (moreover, she probably never heard about OO.o).[/color]
      > OOImpress has export filters to PDF, flash and html. You can probably use
      > one of them. File->Export...[/color]

      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.
      [color=blue]
      > 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.[/color]

      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

      Comment

      • Matej Cepl

        #4
        Re: XSL stylesheet for export of outline from OOImpressu to HTML?

        Joris Gillis wrote:[color=blue]
        > 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.[/color]

        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:unorder ed-list text:style-name="L2">
        <text:list-item>
        <text:unorder ed-list>
        <text:list-item>
        <text:p text:style-name="P3">Prese ntation for Living Waters</text:p>
        </text:list-item>
        </text:unordered-list>
        </text:list-item>
        </text:unordered-list>
        <text:unorder ed-list text:style-name="L2">
        <text:list-item>
        <text:unorder ed-list>
        <text:list-item>
        <text:p text:style-name="P3">Monda y, 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:unorder ed-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:styleshe et xmlns="http://www.w3.org/1999/xhtml"
        xmlns:style="ht tp://openoffice.org/2000/style"
        xmlns:text="htt p://openoffice.org/2000/text"
        xmlns:office="h ttp://openoffice.org/2000/office"
        xmlns:table="ht tp://openoffice.org/2000/table"
        xmlns:draw="htt p://openoffice.org/2000/drawing"
        xmlns:fo="http://www.w3.org/1999/XSL/Format"
        xmlns:xlink="ht tp://www.w3.org/1999/xlink"
        xmlns:dc="http://purl.org/dc/elements/1.1/"
        xmlns:meta="htt p://openoffice.org/2000/meta"
        xmlns:number="h ttp://openoffice.org/2000/datastyle"
        xmlns:svg="http ://www.w3.org/2000/svg"
        xmlns:chart="ht tp://openoffice.org/2000/chart"
        xmlns:dr3d="htt p://openoffice.org/2000/dr3d"
        xmlns:math="htt p://www.w3.org/1998/Math/MathML"
        xmlns:form="htt p://openoffice.org/2000/form"
        xmlns:script="h ttp://openoffice.org/2000/script"
        xmlns:config="h ttp://openoffice.org/2001/config"
        xmlns:xsl="http ://www.w3.org/1999/XSL/Transform" version="1.0"
        xmlns:presentat ion="http://openoffice.org/2000/presentation"
        office:class="t ext"
        exclude-result-prefixes="offic e 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:pag e">
        <h1><xsl:numb er/>.
        <xsl:value-of select="draw:te xt-box[1]/text:p[1]"/></h1>
        <!-- xsl:apply-templates select="present ation:notes"/ -->
        <xsl:apply-templates/>
        </xsl:template>

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

        <xsl:template match="/">
        <html>
        <head>
        <title>Speake r Notes</title>
        <xsl:element name="meta">
        <xsl:attribut e name="name">DC. date</xsl:attribute>
        <xsl:attribut e 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:b ody">
        <body>
        <xsl:apply-templates />
        </body>
        </xsl:template>

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

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

        <xsl:template match="text:lis t-item[not(text:unorde red-list)]">
        <li><xsl:appl y-templates /></li>
        </xsl:template>

        <xsl:template match="text:spa n[@text:style-name='T1']">
        <em><xsl:appl y-templates/></em>
        </xsl:template>

        <!-- sections of the OO format we don't need at present -->
        <xsl:template match="office:a utomatic-styles" />
        <xsl:template match="office:f ont-decls" />
        <xsl:template match="office:m eta" />
        <xsl:template match="office:s cript" />
        <xsl:template match="office:s ettings" />
        <xsl:template match="office:s tyles" />
        <xsl:template match="style:*" />
        <xsl:template match="dc:*">
        <xsl:apply-templates />
        </xsl:template>
        <xsl:template match="meta:cre ation-date">
        <xsl:apply-templates />
        </xsl:template>
        <xsl:template match="meta:edi ting-cycles" />
        <xsl:template match="meta:edi ting-duration" />
        <xsl:template match="meta:gen erator" />
        <xsl:template match="meta:use r-defined" />
        <!--
        <xsl:template match="text()">
        <xsl:apply-templates select="normali ze-space(.)"/>
        </xsl:template>
        -->
        </xsl:stylesheet>

        Comment

        • Morris M. Keesan

          #5
          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:[color=blue]
          > <text:unorder ed-list text:style-name="L2">
          > <text:list-item>
          > <text:unorder ed-list>
          > <text:list-item>
          > <text:p text:style-name="P3">Prese ntation for Living Waters</text:p>
          > </text:list-item>
          > </text:unordered-list>
          > </text:list-item>
          > </text:unordered-list>
          > <text:unorder ed-list text:style-name="L2">
          > <text:list-item>
          > <text:unorder ed-list>
          > <text:list-item>
          > <text:p text:style-name="P3">Monda y, 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:unordere d-list text:style-name="L2"> into one <ul> element. Do you
          >have idea how to do it with XSLT, please?[/color]

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

          and then
          ....

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

          Or, alternately:

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

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

          Comment

          • Matej Cepl

            #6
            Re: XSL stylesheet for export of outline from OOImpressu to HTML?

            Morris M. Keesan wrote:[color=blue][color=green]
            >>The problem is that I would need to condens all elements
            >><text:unorder ed-list text:style-name="L2"> into one <ul> element. Do you
            >>have idea how to do it with XSLT, please?[/color]
            >
            > In some template:
            > <ul>
            > <xsl:apply-templates
            > select="text:un ordered-list[@text:style-name="'L2'"]/>
            > </ul>
            >
            > and then
            > ...
            >
            > <xsl:template match="text:uno rdered-list">
            > <xsl:value-of select="."/>
            > </xsl:template>[/color]

            I tried this one, but it doesn't seem to work. See

            (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


            Comment

            • Joris Gillis

              #7
              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:styleshe et xmlns="http://www.w3.org/1999/xhtml"
              xmlns:style="ht tp://openoffice.org/2000/style"
              xmlns:text="htt p://openoffice.org/2000/text"
              xmlns:office="h ttp://openoffice.org/2000/office"
              xmlns:table="ht tp://openoffice.org/2000/table"
              xmlns:draw="htt p://openoffice.org/2000/drawing"
              xmlns:fo="http://www.w3.org/1999/XSL/Format"
              xmlns:xlink="ht tp://www.w3.org/1999/xlink"
              xmlns:dc="http://purl.org/dc/elements/1.1/"
              xmlns:meta="htt p://openoffice.org/2000/meta"
              xmlns:number="h ttp://openoffice.org/2000/datastyle"
              xmlns:svg="http ://www.w3.org/2000/svg"
              xmlns:chart="ht tp://openoffice.org/2000/chart"
              xmlns:dr3d="htt p://openoffice.org/2000/dr3d"
              xmlns:math="htt p://www.w3.org/1998/Math/MathML"
              xmlns:form="htt p://openoffice.org/2000/form"
              xmlns:script="h ttp://openoffice.org/2000/script"
              xmlns:config="h ttp://openoffice.org/2001/config"
              xmlns:xsl="http ://www.w3.org/1999/XSL/Transform" version="1.0"
              xmlns:presentat ion="http://openoffice.org/2000/presentation"
              office:class="t ext"
              exclude-result-prefixes="offic e 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>Speake r Notes</title>
              <xsl:element name="meta">
              <xsl:attribut e name="name">DC. date</xsl:attribute>
              <xsl:attribut e 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:b ody">
              <body>
              <xsl:apply-templates />
              </body>
              </xsl:template>

              <xsl:template match="draw:pag e">
              <h1><xsl:numb er/>.
              <xsl:value-of select="draw:te xt-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:uno rdered-list">
              <ul><xsl:appl y-templates /></ul>
              </xsl:template>

              <xsl:template match="text:lis t-item">
              <li><xsl:appl y-templates /></li>
              </xsl:template>

              <xsl:template match="text:spa n[@text:style-name='T1']">
              <em><xsl:appl y-templates/></em>
              </xsl:template>

              <!-- sections of the OO format we don't need at present -->
              <xsl:template match="office:a utomatic-styles" />
              <xsl:template match="office:f ont-decls" />
              <xsl:template match="office:m eta" />
              <xsl:template match="office:s cript" />
              <xsl:template match="office:s ettings" />
              <xsl:template match="office:s tyles" />
              <xsl:template match="style:*" />
              <xsl:template match="dc:*">
              <xsl:apply-templates />
              </xsl:template>
              <xsl:template match="meta:cre ation-date">
              <xsl:apply-templates />
              </xsl:template>
              <xsl:template match="meta:edi ting-cycles" />
              <xsl:template match="meta:edi ting-duration" />
              <xsl:template match="meta:gen erator" />
              <xsl:template match="meta:use r-defined" />

              <!-- xsl:template match="text()">
              <xsl:apply-templates select="normali ze-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

              Comment

              • Joris Gillis

                #8
                Re: Solved! [Was: Re: XSL stylesheet for export of outline from OOImpressu to HTML?]

                > Joris Gillis wrote:[color=blue][color=green]
                >> You are extremely close to the solution; try this:
                >> Nice stylesheet of yours, by the way.[/color]
                >
                > Thanks a lot, now it works![/color]
                I'm glad it works.[color=blue]
                > 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?[/color]

                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:pag e">
                <h1><xsl:numb er/><xsl:text>.</xsl:text>
                <xsl:value-of select="draw:te xt-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

                Comment

                • Matej Cepl

                  #9
                  Re: Solved! [Was: Re: XSL stylesheet for export of outline from OOImpressu to HTML?]

                  Joris Gillis wrote:[color=blue]
                  > 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;)[/color]

                  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


                  Comment

                  Working...