ODF 9.1.12 purpose of element <table:table-columns>

Luke Deller luke at deller.id.au
Sat Jul 22 13:23:18 UTC 2017


Hi Regina,

I did some digging into the source history hoping to find clues about 
the original motivation for introducing this <table:table-columns> element.

Support for importing this element was added to Calc in 2000 along with 
<table:table-header-columns>, as part of the initial work for freezing 
rows and columns as headers in a spreadsheet.
Relevant commits are 7c9e9bfa for the export of headers, and 9cd39996 
and 05c72064 for the import.

I suppose the idea was that two groups of columns would be used: the 
header columns in a <table:table-header-columns> element followed by the 
non-header columns in a <table:table-columns> element.  However the 
export was not actually updated to emit a <table:table-columns> element 
like this, only the import support was added.

A couple of weeks later another similar element 
<table:table-column-group> was added, for implementing the Outlines 
feature described in help here:
https://help.libreoffice.org/Calc/Group_and_Outline

In this Outlines change (commit 869fb45a), all these three column 
grouping elements were allowed to be nested inside each other.  Prior to 
that, the <table:table-columns> and <table:table-header-columns> could 
only occur beneath the <table:table> element.

Anyway I think this background supports that the <table:table-columns> 
element was not necessary from the beginning.

On 22/07/17 08:12, Regina Henschel wrote:
> Luke Deller schrieb:
>> 2. A database (odb) file can contain reports containing tables, which
>> will be emitted with <table:table-columns>.
> 
> I was not able to generate such document. I have tried it with report as 
> text document, report as spreadsheet and with the old kind of reports 
> from OOo2.4.3. I always have got only <table:table-column> elements.

Sorry perhaps I should call it a "report design" rather than a "report". 
  I created such a design using the "Use Wizard to Create Report" link 
in the "Tasks" pane in Base.

Afterwards, in the Reports pane of Base, simply double clicking the 
report gives me a Writer document, but if I right click on the report 
and select "Edit", then I get a window entitled "Oracle Report Builder" 
which allows the design to be edited.  (BTW should we update this window 
title?)

The report design was stored in a separate XML file within the odb file, 
which was referenced in the content.xml like this:

<db:reports>
   <db:component db:name="Customers" xlink:href="reports/Obj11" 
xlink:type="simple" db:as-template="false"/>
</db:reports>

The <table:table-columns> element was located in the file 
"reports/Obj11/content.xml" within the odb.

Regards,
Luke.


More information about the LibreOffice mailing list