8cb1f9f479
Publish SDK (PyPI) / publish (push) Waiting to run
Publish SDK (npm) / publish (@aionui/officecli-sdk) (push) Waiting to run
Publish SDK (npm) / publish (@officecli/officecli-sdk) (push) Waiting to run
Publish SDK (npm) / publish (@officecli/sdk) (push) Waiting to run
Publish SDK (npm) / publish (officecli-sdk) (push) Waiting to run
SDK smoke / smoke (windows-latest) (push) Waiting to run
SDK smoke / smoke (macos-latest) (push) Waiting to run
SDK smoke / smoke (ubuntu-latest) (push) Waiting to run
Skill parity / diff (push) Waiting to run
195 lines
6.0 KiB
JSON
195 lines
6.0 KiB
JSON
{
|
|
"$schema": "../_schema.json",
|
|
"format": "docx",
|
|
"element": "level",
|
|
"elementAliases": ["lvl"],
|
|
"parent": "abstractNum",
|
|
"addParent": "/numbering/abstractNum[@id=N]",
|
|
"operations": {
|
|
"add": true,
|
|
"set": true,
|
|
"get": true,
|
|
"query": false,
|
|
"remove": true
|
|
},
|
|
"paths": {
|
|
"positional": ["/numbering/abstractNum[@id=N]/level[L]"]
|
|
},
|
|
"note": "Single <w:lvl> under an <w:abstractNum>. L is the level index (w:ilvl, 0..8). 'add abstractNum' pre-populates 9 default levels (lvl%3 cycle); adding another --type level with the same ilvl replaces it in place. Aliases lvl / level. Top-level abstractNum.* properties also accept level0.* dotted forms for level-0 customization at creation time — this element is for adjusting levels 1..8 or replacing levels post-Add.",
|
|
"properties": {
|
|
"ilvl": {
|
|
"type": "int",
|
|
"description": "level index 0..8 (w:ilvl). Required on Add.",
|
|
"add": true,
|
|
"set": false,
|
|
"get": true,
|
|
"examples": ["--prop ilvl=1"],
|
|
"readback": "integer 0..8",
|
|
"enforcement": "strict"
|
|
},
|
|
"format": {
|
|
"type": "string",
|
|
"description": "numFmt for this level. Common values: decimal, decimalZero, upperRoman, lowerRoman, upperLetter, lowerLetter, ordinal, cardinalText, ordinalText, bullet, chineseCounting, chineseLegalSimplified, japaneseCounting, koreanCounting, hex. Default decimal.",
|
|
"aliases": ["fmt", "numFmt"],
|
|
"add": true,
|
|
"set": true,
|
|
"get": true,
|
|
"examples": [
|
|
"--prop format=decimal",
|
|
"--prop format=chineseCounting"
|
|
],
|
|
"readback": "numFmt token (lowerCamel as in OOXML)",
|
|
"enforcement": "report"
|
|
},
|
|
"lvlText": {
|
|
"type": "string",
|
|
"description": "lvlText template. Use %N to insert level N's running counter (e.g. '%1.', '%1.%2', '第%1章'). Default: %{ilvl+1}. for ordered, • for bullet.",
|
|
"aliases": ["text"],
|
|
"add": true,
|
|
"set": true,
|
|
"get": true,
|
|
"examples": [
|
|
"--prop lvlText=\"%1.\"",
|
|
"--prop lvlText=\"第%1章\""
|
|
],
|
|
"readback": "lvlText string (literal, including %N placeholders)",
|
|
"enforcement": "report"
|
|
},
|
|
"start": {
|
|
"type": "int",
|
|
"description": "starting number. Default 1.",
|
|
"add": true,
|
|
"set": true,
|
|
"get": true,
|
|
"examples": ["--prop start=5"],
|
|
"readback": "integer",
|
|
"enforcement": "report"
|
|
},
|
|
"indent": {
|
|
"type": "int",
|
|
"description": "left indent in twips (pPr/ind/left). On Add, default (ilvl+1)*720.",
|
|
"add": true,
|
|
"set": true,
|
|
"get": true,
|
|
"examples": ["--prop indent=720"],
|
|
"readback": "integer twips",
|
|
"enforcement": "report"
|
|
},
|
|
"hanging": {
|
|
"type": "int",
|
|
"description": "hanging indent in twips (pPr/ind/hanging). Default 360.",
|
|
"add": true,
|
|
"set": true,
|
|
"get": true,
|
|
"examples": ["--prop hanging=360"],
|
|
"readback": "integer twips",
|
|
"enforcement": "report"
|
|
},
|
|
"justification": {
|
|
"type": "enum",
|
|
"values": ["left", "center", "right"],
|
|
"aliases": ["jc"],
|
|
"description": "lvlJc — marker alignment within the indent area. Default left.",
|
|
"add": true,
|
|
"set": true,
|
|
"get": true,
|
|
"examples": ["--prop justification=left"],
|
|
"readback": "left | center | right",
|
|
"enforcement": "report"
|
|
},
|
|
"suff": {
|
|
"type": "enum",
|
|
"values": ["tab", "space", "nothing"],
|
|
"description": "separator between the marker and the text content. Default tab.",
|
|
"add": true,
|
|
"set": true,
|
|
"get": false,
|
|
"examples": ["--prop suff=space"],
|
|
"readback": "n/a",
|
|
"enforcement": "report"
|
|
},
|
|
"lvlRestart": {
|
|
"type": "int",
|
|
"description": "w:lvlRestart — level at which to restart this counter (0 = never restart).",
|
|
"add": true,
|
|
"set": true,
|
|
"get": false,
|
|
"examples": ["--prop lvlRestart=0"],
|
|
"readback": "n/a",
|
|
"enforcement": "report"
|
|
},
|
|
"isLgl": {
|
|
"type": "bool",
|
|
"description": "w:isLgl — render this level's counter as decimal regardless of numFmt (legal-style numbering).",
|
|
"add": true,
|
|
"set": true,
|
|
"get": false,
|
|
"examples": ["--prop isLgl=true"],
|
|
"readback": "n/a",
|
|
"enforcement": "report"
|
|
},
|
|
"direction": {
|
|
"type": "enum",
|
|
"values": ["rtl", "ltr"],
|
|
"aliases": ["dir", "bidi"],
|
|
"description": "right-to-left direction on the level's pPr. Only 'rtl' writes <w:bidi/>; 'ltr' is the canonical clear.",
|
|
"add": true,
|
|
"set": false,
|
|
"get": false,
|
|
"examples": ["--prop direction=rtl"],
|
|
"readback": "n/a",
|
|
"enforcement": "report"
|
|
},
|
|
"font": {
|
|
"type": "string",
|
|
"description": "marker font (rPr/rFonts). Useful for bullet glyphs that need Symbol or Wingdings.",
|
|
"add": true,
|
|
"set": true,
|
|
"get": false,
|
|
"examples": ["--prop font=Symbol"],
|
|
"readback": "n/a",
|
|
"enforcement": "report"
|
|
},
|
|
"size": {
|
|
"type": "font-size",
|
|
"description": "marker font size (rPr/sz). Bare number = pt.",
|
|
"add": true,
|
|
"set": true,
|
|
"get": false,
|
|
"examples": ["--prop size=14"],
|
|
"readback": "n/a",
|
|
"enforcement": "report"
|
|
},
|
|
"color": {
|
|
"type": "color",
|
|
"description": "marker color (rPr/color).",
|
|
"add": true,
|
|
"set": true,
|
|
"get": false,
|
|
"examples": ["--prop color=#FF0000"],
|
|
"readback": "n/a",
|
|
"enforcement": "report"
|
|
},
|
|
"bold": {
|
|
"type": "bool",
|
|
"description": "bold marker (rPr/b).",
|
|
"add": true,
|
|
"set": true,
|
|
"get": false,
|
|
"examples": ["--prop bold=true"],
|
|
"readback": "n/a",
|
|
"enforcement": "report"
|
|
},
|
|
"italic": {
|
|
"type": "bool",
|
|
"description": "italic marker (rPr/i).",
|
|
"add": true,
|
|
"set": true,
|
|
"get": false,
|
|
"examples": ["--prop italic=true"],
|
|
"readback": "n/a",
|
|
"enforcement": "report"
|
|
}
|
|
}
|
|
}
|