段落样式

段落样式提供字符格式(字体)和段落格式属性。字符格式继承自 CharacterStyle 主要体现在 font 属性。同样,大多数特定于段落的属性来自 ParagraphFormat 对象 paragraph_format 属性。

一些其他属性是特定于段落样式的。

next_paragraph_style

这个 next_paragraph_style 属性提供对样式的访问,该样式将由Word自动分配给在具有此样式的段落之后插入的新段落。此属性对于通常在序列中只出现一次的样式(如标题)最有用。

默认情况下,对插入的段落使用相同的样式。这涉及最常见的情况;例如,正文段落 Body Text 风格后面通常是一个风格相同的段落。

预期用途

此属性的优先级用例是提供可分配给段落的工作样式。属性将始终提供有效的段落样式,每当无法确定更具体的样式时,将默认为当前样式。

虽然这会使API中的某些细节变得模糊,但它解决了预期的最常见的用例。例如,需要检测缺失样式的开发人员可以很容易地使用oxml层来检查XML,如果这些用例比预期的更常见,则可以添加更多的特性。

行为

违约。 默认的下一个段落样式是相同的段落样式。

如果下一段落样式未指定或无效,则使用默认值,包括以下条件:

  • w:next 子元素存在

  • 具有在中指定的styleId的样式 w:next/@w:val 文档中不存在。

  • 中指定的样式 w:next/@w:val 不是段落样式。

在所有这些情况下,当前的风格 (self )返回。

示例XML

段落_样式。下一个段落样式是样式 ['酒吧'] ::

<w:style w:type="paragraph" w:styleId="Foo">
  <w:name w:val="Foo"/>
  <w:next w:val="Bar"/>
</w:style>

语义学。 这个 w:next 子元素是可选的。

  • 省略时,下一个样式与当前样式相同。

  • 如果不存在具有匹配styleId的样式,则 w:next 元素被忽略,下一个样式与当前样式相同。

  • 如果找到的样式不是段落类型,则 w:next 元素被忽略,下一个样式与当前样式相同。

候选方案

>>> styles = document.styles

>>> paragraph_style = styles['Foo']
>>> paragraph_style.next_paragraph_style == paragraph_style
True

>>> paragraph_style.next_paragraph_style = styles['Bar']
>>> paragraph_style.next_paragraph_style == styles['Bar']
True

>>> paragraph_style.next_paragraph_style = None
>>> paragraph_style.next_paragraph_style == paragraph_style
True

架构摘要

<xsd:complexType name="CT_Style">
  <xsd:sequence>
    <xsd:element name="name"            type="CT_String"        minOccurs="0"/>
    <xsd:element name="aliases"         type="CT_String"        minOccurs="0"/>
    <xsd:element name="basedOn"         type="CT_String"        minOccurs="0"/>
    <xsd:element name="next"            type="CT_String"        minOccurs="0"/>
    <xsd:element name="link"            type="CT_String"        minOccurs="0"/>
    <xsd:element name="autoRedefine"    type="CT_OnOff"         minOccurs="0"/>
    <xsd:element name="hidden"          type="CT_OnOff"         minOccurs="0"/>
    <xsd:element name="uiPriority"      type="CT_DecimalNumber" minOccurs="0"/>
    <xsd:element name="semiHidden"      type="CT_OnOff"         minOccurs="0"/>
    <xsd:element name="unhideWhenUsed"  type="CT_OnOff"         minOccurs="0"/>
    <xsd:element name="qFormat"         type="CT_OnOff"         minOccurs="0"/>
    <xsd:element name="locked"          type="CT_OnOff"         minOccurs="0"/>
    <xsd:element name="personal"        type="CT_OnOff"         minOccurs="0"/>
    <xsd:element name="personalCompose" type="CT_OnOff"         minOccurs="0"/>
    <xsd:element name="personalReply"   type="CT_OnOff"         minOccurs="0"/>
    <xsd:element name="rsid"            type="CT_LongHexNumber" minOccurs="0"/>
    <xsd:element name="pPr"             type="CT_PPrGeneral"    minOccurs="0"/>
    <xsd:element name="rPr"             type="CT_RPr"           minOccurs="0"/>
    <xsd:element name="tblPr"           type="CT_TblPrBase"     minOccurs="0"/>
    <xsd:element name="trPr"            type="CT_TrPr"          minOccurs="0"/>
    <xsd:element name="tcPr"            type="CT_TcPr"          minOccurs="0"/>
    <xsd:element name="tblStylePr"      type="CT_TblStylePr"    minOccurs="0" maxOccurs="unbounded"/>
  </xsd:sequence>
  <xsd:attribute name="type"        type="ST_StyleType"/>
  <xsd:attribute name="styleId"     type="s:ST_String"/>
  <xsd:attribute name="default"     type="s:ST_OnOff"/>
  <xsd:attribute name="customStyle" type="s:ST_OnOff"/>
</xsd:complexType>

<xsd:complexType name="CT_String">
  <xsd:attribute name="val" type="s:ST_String" use="required"/>
</xsd:complexType>