---
name: "stag-flatten"
section: "1p"
platform: "linux"
package: "libdata-stag-perl"
version: "0.14-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/stag-flatten"
---

# stag-flatten(1p)

turns stag data into a flat table

## NAME

stag-flatten - turns stag data into a flat table

## SYNOPSIS

```
  stag-flatten -c name -c person/name dept MyFile.xml
```

## DESCRIPTION

reads in a file in a stag format, and 'flattens' it to a tab-delimited table format. given this data:

```
  (company
   (dept
    (name "special-operations")
    (person
     (name "james-bond"))
    (person
     (name "fred"))))
```

the above command will return a two column table

```
  special-operations      james-bond
  special-operations      fred
```

If there are multiple values for the columns within the node, then the cartesian product will be calculated

## USAGE

```
  stag-flatten [-p PARSER] [-c COLS] [-c COLS] NODE <file>
```

## ARGUMENTS

- \-p\|parser FORMAT

  FORMAT is one of xml, sxpr or itext

  xml assumed as default

- \-c\|column COL1,COL2,COL3,..

  the name of the columns/elements to write out

  this can be specified either with multiple -c arguments, or with a comma-seperated (no spaces) list of column (terminal node) names after a single -c

- \-n\|nest

  if set, then the output will be a compress repeating values into the same row; each cell in the table will be enclosed by {}, and will contain a comma-delimited set of values

## SEE ALSO

Data::Stag
