首页 文章

LibreOffice:用于生成幻灯片的XSLT样式表?

提问于
浏览
1

libreoffice 文档是一个zip文件,其中包含(除其他外)一些XML文件 .

s$ unzip -t test.odp
Archive:  test.odp
    testing: mimetype                 OK
    testing: Configurations2/statusbar/   OK
    testing: Configurations2/accelerator/current.xml   OK
    testing: Configurations2/floater/   OK
    testing: Configurations2/popupmenu/   OK
    testing: Configurations2/progressbar/   OK
    testing: Configurations2/menubar/   OK
    testing: Configurations2/toolbar/   OK
    testing: Configurations2/images/Bitmaps/   OK
    testing: content.xml              OK
    testing: styles.xml               OK
    testing: meta.xml                 OK
    testing: settings.xml             OK
    testing: META-INF/manifest.xml    OK
No errors detected in compressed data of test.odp.

我想从xml文件中使用 XSLT (以及xsltproc元素 <xsl:document/> )动态生成ODP幻灯片,该文件看起来像这样:

<slideshow>

  <slide>
    <title>Slide 1</title>
    <content>blablablablablablablabal</content>
  </slide>
  <!-- (....) --->
  <slide>
    <title>Slide N</title>
    <content>blablablablablablablabal</content>
  </slide>
</slidesho>

是否有任何现有的XSLT样式表?

文件 content.xml 是复杂的,什么是odp的最小内容,HelloWorld.odp,可以工作?

1 回答

  • 1

    最小化的有效演示文件文件如下所示:

    <?xml version="1.0" encoding="UTF-8"?>
    <office:document-content xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0">
      <office:body>
        <office:presentation/>
      </office:body>
    </office:document-content>
    

    一个带有一些基本内容的简单文件就是:

    <?xml version="1.0" encoding="UTF-8"?>
    <office:document-content office:version="1.2"
        xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0"
        xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
        xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"
        xmlns:presentation="urn:oasis:names:tc:opendocument:xmlns:presentation:1.0"
        xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0">
      <office:body>
        <office:presentation>
          <draw:page draw:master-page-name="">
            <draw:frame presentation:style-name="" svg:width="25.199cm"
              svg:height="3.506cm" svg:x="1.4cm" svg:y="0.837cm" presentation:class="title">
              <draw:text-box>
                <text:p>Title</text:p>
              </draw:text-box>
            </draw:frame>
            <draw:frame presentation:style-name="" svg:width="24.639cm"
              svg:height="12.178cm" svg:x="1.4cm" svg:y="4.914cm" presentation:class="subtitle">
              <draw:text-box>
                <text:p>My Text</text:p>
              </draw:text-box>
            </draw:frame>
          </draw:page>
        </office:presentation>
      </office:body>
    </office:document-content>
    

    我建议使用支持ODF的oXygen这样的XML编辑器 . 拥有要使用的ODF版本的specifications and RNG也可能有所帮助 .

相关问题