理解docx格式5

数字与级

numbering元素的里面定义,用数字部分内创建元素.

<w:numbering>
<w:abstractNum w:abstractNumId="0">
<抽象数字/>
<w:nsid w:val="099A081C"/>
<w:multiLevelType w:val="hybridMultilevel"/>
<w:lvl w:ilvl="0">
<级别/>
<w:start w:val="1"/>
<w:numFmt w:val="upperLetter"/>
<w:lvlText w:val="%1."/>
<w:lvlJc w:val="start"/>
<w:pPr>
<w:ind w:start="360" w:hanging="360"/>
w:pPr>
<w:rPr>
<w:rFonts w:ascii="Arial Black" w:hAnsi="Arial Black"/>
<w:color w:val="C00000"/>
<w:sz w:val="28"/>
w:rPr>
w:lvl>
w:abstractNum>
<上为抽象数字定义,下为实例定义/>
<w:num w:numId="1">
<w:abstractNumId w:val="0"/>
<这里/>
w:num>
w:numbering>

上面的XML定义了个只有一级的方案(w:lvl w:ilvl="0").它还创建了个数字为1(w:num w:NumId="1")的无任何更改或异常的引用abstractNum的实例.文档内容中,可针对给定段落引用此实例,如下:

<w:p>
<w:pPr>
<w:pStyle w:val="ListParagraph"/>
<w:numPr>
<w:ilvl w:val="0"/>
<w:numId w:val="1"/>
<这里/>
w:numPr>
<数字属性/>
w:pPr>
<w:r>
<w:t>这是第1个数字段w:t>
w:r>
w:p>

注意,上述示例中文档内容中的数字引用,包含直接引用级别,因为同时包含(numId)数字定义引用和(ilvl)级引用.
子元素,numIdMacAtLeanup/abstractNum/num/numPicBullet/

<ol>
<li style="list-style-type:upper-roman;">第1级li>
<ol>
<li style="list-style-type:upper-alpha;">第2级li>
<ol>
<li style="list-style-type:decimal;">第3级li>
ol>
li>
ol>
li>
<li style="list-style-type:upper-roman;">也是第1级li>
ol>

数字或级方案的核心定义是在数字部分(数字.xml)的根元素内的元素的定义.

<w:abstractNum w:abstractNumId="0">
<w:nsid w:val="099A081C"/>
<w:multiLevelType w:val="multilevel"/>
<w:lvl w:ilvl="0">
<w:start w:val="1"/>
<w:numFit w:val="upperRoman"/>
<w:pStyle w:val="Heading1"/>
<w:lvlText w:val="%1."/>
<w:lvlJc w:val="start"/>
<w:pPr>
<w:ind w:start="0" w:firstLine="0"/>
w:pPr>
w:lvl>
<w:lvl w:ilvl="1">
<w:start w:val="1"/>
<w:numFit w:val="upperLetter"/>
<w:pStyle w:val="Heading2"/>
<w:lvlText w:val="%2."/>
<w:lvlJc w:val="start"/>
<w:pPr>
<w:ind w:start="720" w:firstLine="0"/>
w:pPr>
w:lvl>
<w:lvl w:ilvl="2">
<w:start w:val="1"/>
<w:numFit w:val="decimal"/>
<w:pStyle w:val="Heading3"/>
<w:lvlText w:val="%3."/>
<w:lvlJc w:val="start"/>
<w:pPr>
<w:ind w:start="1440" w:firstLine="0"/>
w:pPr>
w:lvl>
. . .
w:abstractNum>

多个级别.只1个abstractNumID属性.

<w:abstractNum w:abstractNumId="0">
. . .
w:abstractNum>
<w:num w:numId="1">
<w:abstractNumId w:val="0"/>
w:num>

除了/nsid子元素外,有lvl/multiLevelType/name/numStyleLink/styleLink子元素.

<w:multiLevelType w:val="multilevel"/>

类型,可为singleLevel/multiLevel/hybridMultiLevel.

<w:name w:val="Example Name"/>

numStyleLink使用引用:

<w:abstractNum w:abstractNumId="0">
<w:nsid w:val="099A081C"/>
<w:multiLevelType w:val="multilevel"/>
<w:numStyleLink w:val="TestNumberingStyle"/>
w:abstractNum>

风格如下:

<w:style w:type="numbering" w:styleId="TestNumberingStyle">
. . .
w:style>

风格链接:

<w:numbering>
. . .
<w:abstractNum w:abstractNumId="5">
. . .
<w:styleLink w:val="ExampleNumberingStyle"/>
. . .
w:abstractNum>
w:numbering>

引用:

<w:styles>
<w:style w:type="numbering" w:styleId="ExampleNumberingStyle">
<w:name w:val="ExampleNumberingStyle"/>
. . .
<w:pPr>
<w:numPr>
<w:numId w:val="6"/>
w:numPr>
w:pPr>
w:style>
w:styles>

定义数字级别.

<w:lvl w:ilvl="0">
<w:start w:val="1"/>
<w:numFmt w:val="upperLetter"/>
<w:lvlText w:val="%1."/>
<w:lvlJc w:val="start"/>
<w:pPr>
<w:ind w:start="360" w:hanging="360"/>
w:pPr>
<w:rPr>
<w:rFonts w:ascii="Arial Black" w:hAnsi="Arial Black"/>
<w:color w:val="31849B"/>
<w:sz w:val="28"/>
w:rPr>
w:lvl>

属性tplc(显示级别)/ilvl/tentative(保存但未用)/

<w:p>
<w:pPr>
<w:pStyle w:val="ListParagraph"/>
<w:numPr>
<w:ilvl w:val="0"/>
<w:numId w:val="1"/>
w:numPr>
w:pPr>
<w:r>
<w:t>这是第1级w:t>
w:r>
w:p>

子元素,legacy兼容的.
isLgl(10进制)/lvlJc(对齐)/lvlPicBulletId(要用图片)/lvlRestart(应重启)/lvlText(显示文本)/numFmt(数字格式)/pPr(级段属性)/pStyle(级段风格),

<w:pPr>
<w:numPr>
<w:ilvl w:val="0"/>
<w:numId w:val="0"/>
w:numPr>
w:pPr>

接着:

<w:abstractNum w:abstractNumId="1">
<w:lvl w:ilvl="0">
<w:pPr>
. . .
<w:pPr>
. . .
w:lvl>
. . .
w:abstractNum>

接着

<w:rPr>
<w:rFonts w:ascii="Arial Black" w:hAnsi="Arial Black"/>
<w:color w:val="C00000"/>
<w:sz w:val="28"/>
w:rPr>

起始值:

<w:numFmt w:val="UpperRoman"/>
<w:start w:val="2"/>

start.
suff指定要在数字符号和段落文本间显示的字符.

<w:suff w:val="space"/>

可为nothing/space/tab.

<ol>
<li style="list-style-type:upper-roman;">第1级li>
<li style="list-style-type:upper-alpha; margin-left:2cm;">第2级li>
<li style="list-style-type:decimal; margin-left:4cm;">第3级li>
ol>

文本级:

<w:lvlText w:val=" "/>

示例:

<w:lvl w:ilvl="0">
<w:start w:val="1"/>
<w:numFmt w:val="upperRoman"/>
<w:pStyle w:val="Heading1"/>
<w:lvlText w:val="%1."/>
<w:lvlJc w:val="start"/>
<w:pPr>
<w:ind w:start="0" w:firstLine="0"/>
w:pPr>
w:lvl>

<w:lvl w:ilvl="1">
<w:start w:val="1"/>
<w:numFmt w:val="upperLetter"/>
<w:pStyle w:val="Heading2"/>
<w:lvlText w:val="%2."/>
<w:lvlJc w:val="start"/>
<w:pPr>
<w:ind w:start="720" w:firstLine="0"/>
w:pPr>
w:lvl>

<w:lvl w:ilvl="2">
<w:start w:val="1"/>
<w:numFmt w:val="decimal"/>
<w:pStyle w:val="Heading3"/>
<w:lvlText w:val="Sub %1-%2-%3. "/>
<指定格式/>
<w:lvlJc w:val="start"/>
<w:pPr>
<w:ind w:start="1440" w:firstLine="0"/>
w:pPr>
w:lvl>

三级:罗马/字母/指定格式.
属性:null

<w:lvlText w:null="1"/>

数字格式:.
val可为bullet/cardinalText/chicago/decimal/decimalEnclosedCircle/decimalEnclosedFullstop/decimalEnclosedParen/decimalZero/lowerLetter/lowerRoman/none/ordinalText/upperLetter/upperRoman/
format,如表示用片假名.

10进制表示.

<w:lvl w:ilvl="3">
<w:start w:val="1"/>
<w:numFmt w:val="lowerLetter"/>
<w:isLgl(添加的)/>
<w:lvlText w:val="%4."/>
<w:lvlJc w:val="start"/>
<w:pStyle w:val="Heading4"/>
<w:pPr>
<w:ind w:start="2160" w:firstLine="0"/>
w:pPr>
w:lvl>

指定数字重启.

<w:lvl w:ilvl="0">
<w:start w:val="1"/>
<w:numFmt w:val="upperRoman"/>
<w:lvlText w:val="%1."/>
<w:lvlJc w:val="start"/>
<w:pPr>
<w:ind w:start="0" w:firstLine="0"/>
w:pPr>
w:lvl>

<w:lvl w:ilvl="1">
<w:start w:val="1"/>
<w:numFmt w:val="upperLetter"/>
<w:lvlText w:val="%2."/>
<w:lvlJc w:val="start"/>
<w:pPr>
<w:ind w:start="720" w:firstLine="0"/>
w:pPr>
w:lvl>

<w:lvl w:ilvl="2">
<w:start w:val="1"/>
<w:numFmt w:val="decimal"/>
<w:lvlRestart w:val="1"/>
<这里,从这里重新从1开始计数/>
<w:lvlText w:val="%3."/>
<w:lvlJc w:val="start"/>
<w:pPr>
<w:ind w:start="1440" w:firstLine="0"/>
w:pPr>
w:lvl>

指定对齐级.

<w:lvlJc w:val="start"/>

示例:

<w:lvl w:ilvl="0">
<w:start w:val="1"/>
<w:numFmt w:val="decimal"/>
<w:lvlText w:val="%1."/>
<w:lvlJc w:val="end"/>
<w:pPr>
<w:ind w:start="720" w:hanging="360"/>
w:pPr>
w:lvl>

val值为start/end/center/both/distribute/
为符号号.
通过numPicBulletId属性,在抽象数字定义中的lvlPicBulletId元素,来引用图片

<w:numPicBullet w:numPicBulletId="0">
<0号图,绘图/>
<w:drawing>
. . .
w:drawing>
w:numPicBullet>

<w:abstractNum w:abstractNumId="0">
<抽象图号/>
<w:nsid w:val="007A7BC1"/>
<w:multiLevelType w:val="hybridMultilevel"/>
<w:lvl w:ilvl="0">
<这里/>
<w:start w:val="1"/>
<w:numFmt w:val="bullet"/>
<w:lvlText w:val=" "/>
<w:lvlPicBulletId w:val="0"/>
<w:lvlJc w:val="start"/>
<w:pPr>
<w:ind w:start="720" w:hanging="360"/>
w:pPr>
<w:rPr>
<w:rFonts w:ascii="Symbol" w:hAnsi="Symbol"/>
<w:color w:val="auto"/>
w:rPr>
w:lvl>
. . .
w:abstractNum>

<w:num w:numId="1">
<w:abstractNumId w:val="0"/>
<这里/>
w:num>

文档内容中的XML不直接引用绘图,仅引用数字,即数字部分中的抽象数字的实例.

<w:p>
<w:pPr>
<w:pStyle w:val="ListParagraph"/>
<w:numPr>
<w:ilvl w:val="0"/>
<w:numID w:val="1"/>
w:numPr>
w:pPr>
<w:r>
<w:t>这是第1段.
w:r>
w:p>

numPicBullet属性为numPicBulletId标识.
drawing子元素.
lvlPicBulletIdval属性.类似:

<ul style="list-style-image: url(images/bulletImage.gif)">

指定覆盖.

<w:numbering>
<w:abstractNum w:abstractNumId="1">
<w:nsid w:val="26152095"/>
<w:multiLevelType w:val="hybridMultilevel"/>
<w:lvl w:ilvl="0">
<w:start w:val="1"/>
<w:numFit w:val="decimal"/>
<w:lvlText w:val="%1."/>
<w:lvlJc w:val="start"/>
<w:pPr>
<w:ind w:start="720" w:hanging="360"/>
w:pPr>
w:lvl>
. . .
w:abstractNum>

<w:num w:numId="1">
<w:abstractNumId w:val="1"/>
<w:num>

<w:num w:numId="2">
<w:abstractNumId w:val="1"/>
<w:lvlOverride w:ilvl="0">
<w:lvl w:ilvl="0">
<w:start w:val="1"/>
<w:numfit w:val="decimal"/>
<w:lvlText w:val="%1."/>
<w:lvlJc w:val="start"/>
<w:pPr>
<w:pBdr>
<w:top w:val="single" w:sz="24" w:space="1" w:color="FF0000"/>
w:pBdr>
<w:ind w:start="0" w:firstLine="0"/>
w:pPr>
w:lvl>
w:lvlOverride>
w:num>
w:numbering>

1个属性,ilvl指定级数,
2个元素,lvl指定被覆盖级数,startOverride指定开始数,

<w:startOverride w:val="2"/>

你可能感兴趣的:(docx,docx)