当前位置: 首页 > 知识库问答 >
问题:

XML中的ODT表样式不工作

穆单鹗
2023-03-14

我正在开发一个生成一个相当大的ODT文件的应用程序。应用程序将XML写入content.XML、styles.XML等。我试图在一个表上实现一些简单的表样式,在生成文件后,我可以验证它是否按照我的预期在XML端通过,但当我在字处理器中打开文件时,没有任何样式实际显示出来。我已经把它分解成只是试图使一个简单的表格显示一些样式,即使这样也根本不起作用。

在“automatic-styles”标记中,我有这个样式片段。

    <style:style style:name="mytable" style:family="table">
        <style:properties 
            fo:background-color="#666666" 
            style:width="445.5pt" 
            fo:margin-left="4.5pt" 
            fo:margin-top="0pt" 
            fo:margin-bottom="0pt" 
            table:align="left" 
        />
    </style:style>
    <style:style style:name="mytable.A" style:family="table-column">
        <style:properties fo:background-color="#000000" style:column-width="117pt"/>
    </style:style>
    <style:style style:name="mytable.B" style:family="table-column">
        <style:properties style:column-width="103.5pt"/>
    </style:style>
    <style:style style:name="mytable.C" style:family="table-column">
        <style:properties style:column-width="193.5pt"/>
    </style:style>
    <style:style style:name="mytable.D" style:family="table-column">
        <style:properties style:column-width="31.5pt"/>
    </style:style>  

编辑:这里是我的现场文档的截图。这是这个文档中的content.xml部分,上面发布的样式是相同的。

    <table:table table:name="mytable" table:style-name="mytable">
        <table:table-columns>
            <table:table-column table:style-name="mytable.A"/>
            <table:table-column table:style-name="mytable.B"/>
            <table:table-column table:style-name="mytable.C"/>
            <table:table-column table:style-name="mytable.D"/>
        </table:table-columns>
        <table:table-header-rows>
            <table:table-row>
                <table:table-cell table:style-name="mytable.A1" office:value-type="string">
                    <text:p text:style-name="P39">citation</text:p>
                </table:table-cell>
                <table:table-cell table:style-name="mytable.B1" office:value-type="string">
                    <text:p text:style-name="P39">title</text:p>
                </table:table-cell>
                <table:table-cell table:style-name="mytable.C1" office:value-type="string">
                    <text:p text:style-name="P39">description</text:p>
                </table:table-cell>
                <table:table-cell table:style-name="mytable.D1" office:value-type="string">
                    <text:p p text:style-name="P38"/>
                </table:table-cell>
            </table:table-row>
        </table:table-header-rows>
        <table:table-row>
            <table:table-cell table:style-name="mytable.A2" office:value-type="string">
                <text:p p text:style-name="P39">Administrative Safe-guards</text:p>
            </table:table-cell>
            <table:table-cell table:style-name="mytable.B2" office:value-type="string">
                <text:p p text:style-name="P39"/>
            </table:table-cell>
            <table:table-cell table:style-name="mytable.C2" office:value-type="string">
                <text:p p text:style-name="P39"/>
            </table:table-cell>
            <table:table-cell table:style-name="mytable.D2" office:value-type="string">
                <text:p p text:style-name="P38"/>
            </table:table-cell>
        </table:table-row>
    </table:table>

共有1个答案

白学
2023-03-14

子节点应为style:properties而不是style:table-properties。在http://books.evc-cit.info/odbook/ch04.html#text-table-style-section中对此进行了解释。

<office:automatic-styles>
<style:style style:name="mytable" style:family="table">
    <style:table-properties 
        fo:background-color="#666666" 
        style:width="445.5pt" 
        fo:margin-left="4.5pt" 
        fo:margin-top="0pt" 
        fo:margin-bottom="0pt" 
        table:align="left" 
    />
</style:style>
 类似资料:
  • 我遇到了奇怪的问题与.NET版本的POI库为Excel电子表格。我正在重写从文本文件到Excel97-2003文档,我想添加一些格式,以编程方式,依赖于一些在程序的乞求下收集的值。 一开始,在我根据给定值创建一个新单元格的方法中,我也创建了一个新的工作簿CellStyle,这是错误的,因为我很快就用完了这些样式(或者我只是认为这是问题的原因)。 负责Excel工作簿的类的构造函数: 长话短说,在F

  • 我有麻烦让猫头鹰旋转木马主题样式表对我的滑块有任何影响? 我使用的是最新版本的owl.carousel.2.0.0-beta.3 这里是我的测试地点:示例网站 下面是与owl旋转木马相关的HTML代码: 名为“owl.theme.default.min.css”的样式表看起来包含了所有的导航样式表,但由于某种原因,它没有对PREV和NEXT按钮进行样式化? 如有任何帮助,我们将不胜感激。

  • 在Android Studio中,我导入了一个不包含的项目。因此,我在目录中创建了文件。和现在都在目录中。 styles.xml 错误:错误:重复资源:C:\xxx\main\res\values\styles-v21.xml:style/AppTheme,C:\xxx\main\res\values\styles.xml:style/AppTheme 错误是两个资源文件具有相同的名称:。但在我见

  • 我正在使用C#的AODL库。到目前为止,我已经能够将第二个文档的文本大量导入到第一个文档中。问题是我不知道我需要抓取什么来确保样式也移到合并的文档中。下面是我用来测试的简单代码。我能找到的最接近的答案是从代码中合并两个.odt文件,这多少回答了我的问题,但它仍然没有告诉我需要将样式放在哪里/从哪里获取。它至少让我知道我需要检查第二个文档中的样式,并确保第一个文档中没有匹配的名称,否则将会有冲突。我

  • 随着插件发放的还有三个样式表: imgareaselect-default.css – 这是默认的样式表, imgareaselect-animated.css – 这个样式与默认的样式表基本是一样的,只是它能够让选择区域边框变化 imgareaselect-deprecated.css – 只有你想使用不赞同的选项时才用这个样式表。 你只需要在html头部将其中的一个样式表添加进来就可以。这cs

  • 问题内容: 我想样式如下: forms.py: contact_form.html: 例如,如何设置一个类或ID为subject,email,message以提供外部样式表到? 问题答案: 摘自我的答案: 如何在Django中使用 标记表单字段 要么 要么 以上是对完成所要询问内容的原始问题的代码进行的最简单的更改。如果你在其他地方重复使用表格,也可以避免重复。如果你使用Django的as_tab