8cb1f9f479
Publish SDK (PyPI) / publish (push) Has been cancelled
Publish SDK (npm) / publish (@aionui/officecli-sdk) (push) Has been cancelled
SDK smoke / smoke (windows-latest) (push) Has been cancelled
Publish SDK (npm) / publish (@officecli/officecli-sdk) (push) Has been cancelled
Publish SDK (npm) / publish (@officecli/sdk) (push) Has been cancelled
Publish SDK (npm) / publish (officecli-sdk) (push) Has been cancelled
SDK smoke / smoke (macos-latest) (push) Has been cancelled
SDK smoke / smoke (ubuntu-latest) (push) Has been cancelled
Skill parity / diff (push) Has been cancelled
210 lines
5.8 KiB
JSON
210 lines
5.8 KiB
JSON
{
|
|
"$schema": "../_schema.json",
|
|
"format": "docx",
|
|
"element": "table",
|
|
"elementAliases": [
|
|
"tbl"
|
|
],
|
|
"parent": "body",
|
|
"operations": {
|
|
"add": true,
|
|
"set": true,
|
|
"get": true,
|
|
"query": true,
|
|
"remove": true
|
|
},
|
|
"paths": {
|
|
"positional": [
|
|
"/body/tbl[N]"
|
|
]
|
|
},
|
|
"note": "Tables default to Single/Size=4 borders on all sides. Length props use twips (raw int) or unit-qualified. Data can be seeded via 'data' (semicolon rows, comma cells) or per-cell 'r{R}c{C}' props. cantSplit / noWrap / hideMark are row/cell-scoped, not table props — see 'help docx table-row' / 'help docx table-cell'.",
|
|
"children": [
|
|
{
|
|
"element": "row",
|
|
"pathSegment": "tr",
|
|
"cardinality": "1..n"
|
|
},
|
|
{
|
|
"element": "cell",
|
|
"pathSegment": "tc",
|
|
"cardinality": "1..n (per row)"
|
|
}
|
|
],
|
|
"extends": [
|
|
"_shared/table",
|
|
"_shared/table.docx-pptx"
|
|
],
|
|
"properties": {
|
|
"colWidths": {
|
|
"type": "string",
|
|
"description": "comma-separated per-column widths in twips. Aliases: colwidths.",
|
|
"aliases": [
|
|
"colwidths"
|
|
],
|
|
"add": true,
|
|
"set": false,
|
|
"get": true,
|
|
"examples": [
|
|
"--prop colWidths=3000,2000,5000"
|
|
],
|
|
"readback": "comma-separated column widths in OOXML units",
|
|
"enforcement": "strict"
|
|
},
|
|
"direction": {
|
|
"type": "enum",
|
|
"values": [
|
|
"rtl",
|
|
"ltr"
|
|
],
|
|
"aliases": [
|
|
"dir",
|
|
"bidi"
|
|
],
|
|
"description": "Reading direction (Arabic / Hebrew). 'rtl' writes <w:bidiVisual/> on tblPr (mirrors column order); 'ltr' clears it. Distinct from per-cell textDirection.",
|
|
"add": true,
|
|
"set": true,
|
|
"get": true,
|
|
"examples": [
|
|
"--prop direction=rtl"
|
|
],
|
|
"readback": "rtl when set, key absent otherwise",
|
|
"enforcement": "report"
|
|
},
|
|
"align": {
|
|
"type": "enum",
|
|
"values": [
|
|
"left",
|
|
"center",
|
|
"right"
|
|
],
|
|
"aliases": [
|
|
"alignment"
|
|
],
|
|
"add": true,
|
|
"set": true,
|
|
"get": true,
|
|
"examples": [
|
|
"--prop align=center"
|
|
],
|
|
"readback": "one of values",
|
|
"enforcement": "report"
|
|
},
|
|
"indent": {
|
|
"type": "int",
|
|
"description": "table indent in twips.",
|
|
"add": true,
|
|
"set": true,
|
|
"get": true,
|
|
"examples": [
|
|
"--prop indent=200"
|
|
],
|
|
"readback": "twips",
|
|
"enforcement": "report"
|
|
},
|
|
"cellSpacing": {
|
|
"type": "int",
|
|
"description": "space between cells in twips. Alias: cellspacing.",
|
|
"aliases": [
|
|
"cellspacing"
|
|
],
|
|
"add": true,
|
|
"set": true,
|
|
"get": true,
|
|
"examples": [
|
|
"--prop cellSpacing=40"
|
|
],
|
|
"readback": "twips",
|
|
"enforcement": "report"
|
|
},
|
|
"layout": {
|
|
"type": "enum",
|
|
"values": [
|
|
"fixed",
|
|
"autofit"
|
|
],
|
|
"add": true,
|
|
"set": true,
|
|
"get": true,
|
|
"examples": [
|
|
"--prop layout=fixed"
|
|
],
|
|
"readback": "one of values",
|
|
"enforcement": "report"
|
|
},
|
|
"padding": {
|
|
"type": "int",
|
|
"description": "default cell padding (all four sides) in twips. Add/Set only — Get does not surface the table-default cell margin today.",
|
|
"add": true,
|
|
"set": true,
|
|
"get": false,
|
|
"examples": [
|
|
"--prop padding=100"
|
|
],
|
|
"readback": "n/a",
|
|
"enforcement": "report"
|
|
},
|
|
"caption": {
|
|
"type": "string",
|
|
"description": "accessibility caption for the table (<w:tblCaption> @w:val). Surfaced to assistive technology.",
|
|
"add": true,
|
|
"set": true,
|
|
"get": true,
|
|
"examples": [
|
|
"--prop caption=\"...\""
|
|
],
|
|
"readback": "string value",
|
|
"enforcement": "report"
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "accessibility description / long-desc for the table (<w:tblDescription> @w:val).",
|
|
"add": true,
|
|
"set": true,
|
|
"get": true,
|
|
"examples": [
|
|
"--prop description=\"...\""
|
|
],
|
|
"readback": "string value",
|
|
"enforcement": "report"
|
|
},
|
|
"rowBandSize": {
|
|
"type": "integer",
|
|
"description": "rows per band when a banded table style applies (<w:tblStyleRowBandSize> @w:val). Default 1; e.g. 2 stripes every second row.",
|
|
"add": true,
|
|
"set": false,
|
|
"get": true,
|
|
"examples": [
|
|
"--prop rowBandSize=2"
|
|
],
|
|
"readback": "integer value",
|
|
"enforcement": "report"
|
|
},
|
|
"colBandSize": {
|
|
"type": "integer",
|
|
"description": "columns per band when a banded table style applies (<w:tblStyleColBandSize> @w:val). Default 1. Alias: columnBandSize.",
|
|
"add": true,
|
|
"set": false,
|
|
"get": true,
|
|
"examples": [
|
|
"--prop colBandSize=3"
|
|
],
|
|
"readback": "integer value",
|
|
"enforcement": "report"
|
|
},
|
|
"tblLook": {
|
|
"type": "string",
|
|
"description": "conditional-formatting bitmask (<w:tblLook> @w:val, 4-digit hex) selecting which facets of a conditional/banded table style apply: 0x0020 firstRow, 0x0040 lastRow, 0x0080 firstColumn, 0x0100 lastColumn, 0x0200 noHBand, 0x0400 noVBand. The w:val hex is authoritative (Word also reads the decomposed boolean attributes; w:val wins). Get emits the source hex (e.g. 0620) so dump→batch round-trips every bit; the default 04A0 (firstRow+firstColumn) is only seeded when a table style is applied and no explicit tblLook is given. Decomposed facets also settable as firstRow/lastRow/firstColumn/lastColumn/bandRow/bandCol (or the tblLook.<facet> compound form).",
|
|
"add": true,
|
|
"set": true,
|
|
"get": true,
|
|
"examples": [
|
|
"--prop tblLook=0620",
|
|
"--prop tblLook.firstRow=true --prop tblLook.firstColumn=false"
|
|
],
|
|
"readback": "4-digit uppercase hex bitmask",
|
|
"enforcement": "report"
|
|
}
|
|
}
|
|
}
|