Files
pandoc/test/docx/table_gridbefore.native
Jan Tojnar 3b9a47d02e readers/docx: Support w:gridBefore table row property (#11464)
Table rows in Docx files can use `w:gridBefore` property to specify
a number of extra empty table cells to be inserted at the beginning
of a row. Without this, table columns in tables using the element
will become misaligned.

https://learn.microsoft.com/en-us/dotnet/api/documentformat.openxml.wordprocessing.gridbefore?view=openxml-3.0.1

In the worst case, this can lead to cells at the end of some rows
to be dropped by the parser.

The test file was produced as follows based on
the “3GPP TS 24.282 V19.5.0 (2025-12)” document obtained from
<https://www.3gpp.org/ftp/Specs/archive/24_series/24.282/24282-j50.zip>
where I encountered the issue:

1. Extracted the `document.xml`.
2. Formatted it with `xmllint --format`.
3. Found the raw XML for “Table 15.2.13-2: Payload content type”.
4. Removed `w:rsid*` and `w14:*` attributes, and `w:pStyle` elements.
5. Replaced the context of `test/docx/raw-blocks.native`.
6. Used pandoc to generate the docx.
2026-02-14 14:28:03 +01:00

824 lines
25 KiB
Plaintext

[ Table
( "" , [] , [] )
(Caption Nothing [])
[ ( AlignDefault , ColWidth 7.883369330453563e-3 )
, ( AlignDefault , ColWidth 3.0669546436285097e-2 )
, ( AlignDefault , ColWidth 3.0669546436285097e-2 )
, ( AlignDefault , ColWidth 3.0669546436285097e-2 )
, ( AlignDefault , ColWidth 3.0669546436285097e-2 )
, ( AlignDefault , ColWidth 3.0669546436285097e-2 )
, ( AlignDefault , ColWidth 3.0669546436285097e-2 )
, ( AlignDefault , ColWidth 3.0669546436285097e-2 )
, ( AlignDefault , ColWidth 3.0669546436285097e-2 )
, ( AlignDefault , ColWidth 3.0669546436285097e-2 )
, ( AlignDefault , ColWidth 0.42861771058315334 )
]
(TableHead
( "" , [] , [] )
[ Row
( "" , [] , [] )
[ Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 8)
[ Plain [ Str "Bits" ] ]
, Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
]
])
[ TableBody
( "" , [] , [] )
(RowHeadColumns 0)
[]
[ Row
( "" , [] , [] )
[ Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "8" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "7" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "6" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "5" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "4" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "3" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "2" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "1" ] ]
, Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
]
, Row
( "" , [] , [] )
[ Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
]
, Row
( "" , [] , [] )
[ Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "1" ] ]
, Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "TEXT" ] ]
]
, Row
( "" , [] , [] )
[ Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "1" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "BINARY" ] ]
]
, Row
( "" , [] , [] )
[ Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "1" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "1" ] ]
, Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "HYPERLINKS" ] ]
]
, Row
( "" , [] , [] )
[ Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "1" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "FILEURL" ] ]
]
, Row
( "" , [] , [] )
[ Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "1" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "1" ] ]
, Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "LOCATION" ] ]
]
, Row
( "" , [] , [] )
[ Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "1" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "1" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "ENHANCED" , Space , Str "STATUS" ] ]
]
, Row
( "" , [] , [] )
[ Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "1" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "1" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "1" ] ]
, Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain
[ Str "Value"
, Space
, Str "allocated"
, Space
, Str "for"
, Space
, Str "use"
, Space
, Str "in"
, Space
, Str "interworking"
, Space
, Str "(NOTE)"
]
]
]
, Row
( "" , [] , [] )
[ Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "1" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "LOCATION" , Space , Str "ALTITUDE" ] ]
]
, Row
( "" , [] , [] )
[ Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "1" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "1" ] ]
, Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "LOCATION" , Space , Str "TIMESTAMP" ] ]
]
, Row
( "" , [] , [] )
[ Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 2)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "1" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "1" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "0" ] ]
, Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "CODED" , Space , Str "TEXT" ] ]
]
, Row
( "" , [] , [] )
[ Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
]
, Row
( "" , [] , [] )
[ Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 10)
[ Plain
[ Str "All"
, Space
, Str "other"
, Space
, Str "values"
, Space
, Str "are"
, Space
, Str "reserved."
]
]
]
, Row
( "" , [] , [] )
[ Cell
( "" , [] , [] ) AlignDefault (RowSpan 1) (ColSpan 1) []
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 10)
[ Plain
[ Str "NOTE:"
, Space
, Str "Usage"
, Space
, Str "of"
, Space
, Str "this"
, Space
, Str "value"
, Space
, Str "is"
, Space
, Str "described"
, Space
, Str "in"
, Space
, Str "3GPP\160TS\160\&29.582\160[48]."
]
]
]
]
]
(TableFoot ( "" , [] , [] ) [])
]