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

# stag-splitter(1p)

splits a stag file into multiple files

## NAME

stag-splitter - splits a stag file into multiple files

## SYNOPSIS

```
  stag-splitter -split person -name social_security_no file.xml
```

## DESCRIPTION

Splits a file using a user specified parser (default xml) around a specified split node, naming each file according to the name argument

the files will be named anonymously, unless the '-name' switch is specified; this will use the value of the specified element as the filename

eg; if we have

```
  <top>
    <a>
      <b>foo</b>
      <c>yah</c>
      <d>
        <e>xxx</e>
      </d>
    </a>
    <a>
      <b>bar</b>
      <d>
        <e>wibble</e>
      </d>
    </a>
  </top>
```

if we run

```
  stag-splitter -split a -name b
```

it will generate two files, "foo.xml" and "bar.xml"

input format can be 'xml', 'sxpr' or 'itext' - if this is left blank the format will be guessed from the file suffix

the output format defaults to the same as the input format, but another can be chosen.

files go in the current directory, but this can be overridden with the '-dir' switch

## USAGE

```
   stag-splitter [-split <ELEMENT-NAME>] [-name <ELEMENT-NAME>] [-dir <DIR>] [-format <INPUT-FORMAT>] [-outformat <OUTPUT-FORMAT>] <FILENAMES>
```

- \-p\|parser FORMAT

  FORMAT is one of xml, sxpr or itext, or the name of a perl module

  xml assumed as default

- \-w\|writer FORMAT

  FORMAT is one of xml, sxpr or itext, or the name of a perl module

- \-split\|s NODE

  node to split on

- \-name\|n NODE

  field/element to use when naming files

  will use surrogate IDs if this argument not specified

- \-dir\|d DIR

  write files to this directory
