Open Office XML 格式中的 Style 设计原理

简介: Open Office XML 格式中的 Style 设计原理

Microsoft Word 中有一个专门用于样式的完整工具栏:正常、无间距、标题 1、标题 2、标题等。 这些样式存储在 /word/styles.xml 中,一个例子如下:

一旦在 Word 文档里有文本定义了额外的样式后,我们将在段落属性标记 <w:pPr> 中找到对该样式的引用。 下面是一个示例,其中我使用样式标题 1 定义了我的文本:

Heading1 本身的样式定义,书写在文件 styles.xml 内:

<w:style/w:rPr/w:b> xpath 指定字体为粗体,<w:style/w:rPr/w:color> 表示字体颜色。


<w:basedOn> 指示 MSWord 对任何缺失的属性使用“普通”样式。


<w:style/w:rPr/w:b> xpath 指定字体为粗体,而 <w:style/w:rPr/ w:color> 表示字体颜色。


<w:basedOn> 指示 MSWord 对任何缺失的属性使用“普通”样式。

PROPERTY INHERITANCE

Open Office XML 格式领域里有个名词叫做 run:一个简单的文档由段落组成,一个段落由一系列 run(一系列具有相同字体、颜色等的文本)组成,run 由字符(例如 <w:t>)组成。<w:t> 标记可能有几个字符,在同一个 run 中可能有几个字符。

文本属性是可以继承的。 运行有自己的属性(w:p/w:r/w:rPr/*),但它也继承了段落的属性(w:r/w:pPr/*),并且两者都可以从文件 /word/styles.xml 引用样式属性。

段落和运行以默认属性开头:w:styles/w:docDefaults/w:rPrDefault/* 和 w:styles/w:docDefaults/w:pPrDefault/*。 要获得角色属性的最终结果,您应该:

  • 使用默认的 run/paragraph properties

  • 添加 run/paragraph style properties

  • 添加本地的 local run/paragraph properties

  • 添加来自 paragraph properties 的结果

上面提到的将 B append 到 A 时,意思是遍历所有 B 属性并覆盖所有 A 的属性,使所有不相交的属性保持原样。

一个 run 实例中的字符可以从其段落继承,并且都可以从styles.xml 继承。

相关文章
|
3月前
|
XML Java 数据格式
Spring5系列学习文章分享---第一篇(概述+特点+IOC原理+IOC并操作之bean的XML管理操作)
Spring5系列学习文章分享---第一篇(概述+特点+IOC原理+IOC并操作之bean的XML管理操作)
35 1
|
4月前
|
XML JSON 前端开发
基于若依的ruoyi-nbcio流程管理系统仿钉钉流程json转bpmn的flowable的xml格式(简单支持发起人与审批人的流程)
基于若依的ruoyi-nbcio流程管理系统仿钉钉流程json转bpmn的flowable的xml格式(简单支持发起人与审批人的流程)
240 2
基于若依的ruoyi-nbcio流程管理系统仿钉钉流程json转bpmn的flowable的xml格式(简单支持发起人与审批人的流程)
|
4月前
|
XML JSON 前端开发
基于若依的ruoyi-nbcio流程管理系统仿钉钉流程json转bpmn的flowable的xml格式(支持并行网关)
基于若依的ruoyi-nbcio流程管理系统仿钉钉流程json转bpmn的flowable的xml格式(支持并行网关)
213 3
|
4月前
|
XML 机器学习/深度学习 JSON
在火狐浏览器调ajax获取json数据时,控制台提示“XML 解析错误:格式不佳”。
在火狐浏览器调ajax获取json数据时,控制台提示“XML 解析错误:格式不佳”。
55 0
在火狐浏览器调ajax获取json数据时,控制台提示“XML 解析错误:格式不佳”。
|
4月前
|
XML JSON 前端开发
基于若依的ruoyi-nbcio流程管理系统仿钉钉流程json转bpmn的flowable的xml格式(排它条件网关)
基于若依的ruoyi-nbcio流程管理系统仿钉钉流程json转bpmn的flowable的xml格式(排它条件网关)
78 3
基于若依的ruoyi-nbcio流程管理系统仿钉钉流程json转bpmn的flowable的xml格式(排它条件网关)
|
3月前
|
XML JSON 开发框架
一篇文章讲明白JSON格式转换成XML格式
一篇文章讲明白JSON格式转换成XML格式
16 0
|
3月前
|
XML JSON 开发框架
一篇文章讲明白JSON格式转换成XML格式
一篇文章讲明白JSON格式转换成XML格式
22 0
|
4月前
|
XML 网络协议 Java
XML Web 服务技术解析:WSDL 与 SOAP 原理、应用案例一览
XML Web服务是基于WSDL、SOAP、RDF和RSS等标准的网络应用程序组件技术。WSDL描述服务接口和消息格式,SOAP用于结构化信息交换,RDF描述网络资源,RSS则用于发布网站更新。Web服务特点是自包含、自描述,基于开放协议,可重用且能连接现有软件。WSDL文档包含`types`、`message`、`portType`和`binding`元素,定义服务操作和协议。SOAP协议规定消息格式,通过HTTP等传输。
525 1
|
4月前
|
XML 存储 开发工具
什么是 Microsoft Open XML 标准
什么是 Microsoft Open XML 标准
|
4月前
|
XML JSON JavaScript
使用JSON和XML:数据交换格式在Java Web开发中的应用
【4月更文挑战第3天】本文比较了JSON和XML在Java Web开发中的应用。JSON是一种轻量级、易读的数据交换格式,适合快速解析和节省空间,常用于API和Web服务。XML则提供更强的灵活性和数据描述能力,适合复杂数据结构。Java有Jackson和Gson等库处理JSON,JAXB和DOM/SAX处理XML。选择格式需根据应用场景和需求。
78 0