Problem bei Autoexpand im XML2Spreadsheet

Hallo, ich möchte eine Struktur mit Unternodes hinzufügen. Dafür verwende ich


<#list book["measures"]["contents"] as cont>
${addColumns(row, cont, 'measures_contents_', {"autoExpand": "asColumns"})}
</#list>. Das klappt, es werden die Spalten "measures_contents_content" und "measures_contents_unit" hinzugefügt.


Nun möchte ich aber eine der Nodes der Unternode nicht dabeihaben, und das klappt leider nicht. Wenn ich z.B. ohne das autoexpand schreibe


<#list book["measures"]["contents"] as cont>
${addColumns(row, cont, 'measures_contents_', ["unit"], "exclude")}
</#list>, dann kann ich damit "unit" rauswerfen. Aber der Versuch mit autoexpand schlägt fehl, sowohl


<#list book["measures"]["contents"] as cont>
${addColumns(row, cont, 'measures_contents_', ["unit"], "exclude", {"autoExpand": "asColumns"})}
</#list>


als auch andersherum


<#list book["measures"]["contents"] as cont>
${addColumns(row, cont, 'measures_contents_', {"autoExpand": "asColumns"}, ["unit"], "exclude")}
</#list>


Woran liegt das und wie kann ich beides kombinieren? Ich möchte es gerne schon hier entscheiden und nicht in einer späteren SSM-Konfiguration die Spalte dann nachträglich löschen.


Danke und Gruß, Micha

UPDATE: Hab's selber rausgefunden!

Es sieht so aus als passen die Parameter bei dir nicht ganz. Vermutlich hast du als Lösung dann ungefähr sowas gemacht:


${addColumns(row, cont, 'measures_contents_', {"autoExpand": "asColumns", "columns":["unit"], "mode":"exclude" } )}


Der letzte Parameter von addColumns() muss eine Map sein (1-n Key-Value-Paare). Die Map ist dabei der letzte Parameter, der von geschweiften Klammern umschlossen ist.

Genau, das war meine Lösung (allerdings exclude, aber strukturell genau so)

Wir haben das "exclude" in unserer Antwort ergänzt (Sorry, war ein Copy-Paste Fehler ;) ). Zusätzlich haben wir das in der Dokumentation noch angepasst, dass der Aufbau von addColumns() mit der options-Map besser rüberkommt.

Wir haben die Doku für die addColumns-Parameter bei XML2Spreadsheet sowie JSON2Spreadsheet nochmal weiter überarbeitet und versucht die Zusammengehörigkeit der Parameter in der options-Map besser zum Ausdruck zu bringen. Weiterhin wurde noch ein Doku-Fehler gefunden und korrigiert, der vermutlich maßgeblich zur Verwirrung beigetragen hat.


Zur Zusammengehörigkeit von Parametern:

Beim XML2Spreadsheet gehören nur columns und mode direkt zusammen (d.h. mode bezieht sich auf die columns). Alle anderen Parameter stehen für sich allein. Bei JSON2Spreadsheet ist das genauso , nur dass es da auch noch delimiter und textqualifier als zusammengehörige Parameter gibt.