---
name: "XmStringTableUnparse"
section: "3"
platform: "linux"
package: "openmotif"
version: "2.3.8-4"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/XmStringTableUnparse"
---

# XmStringTableUnparse(3)

A convenience function that converts a table of compound strings to an array of text

## NAME

**XmStringTableUnparse** — A convenience function that converts a table of compound strings to an array of text

## SYNOPSIS

```
#include <Xm/Xm.h>
XtPointer * XmStringTableUnparse(
XmStringTable table,
Cardinal count,
XmStringTag tag,
XmTextType tag_type,
XmTextType output_type,
XmParseTable parse,
Cardinal parse_count,
XmParseModel parse_model);
```

## DESCRIPTION

**XmStringTableUnparse** takes an array of compound strings, allocates a string array for the type of characters determined by *type* with an equal number of slots, calls **XmStringUnparse** on each compound string in *table*, and inserts the resulting string in the corresponding slot in the array.

- *table*

  Specifies an **XmStringTable** containing the compound string to be converted.

- *count*

  Specifies the number of compound strings in *table*.

- *tag*

  Specifies the tag to be used in matching with text segments. The two types of tag types are **XmFONTLIST\_DEFAULT\_TAG** and **\_MOTIF\_DEFAULT\_LOCALE**. Only segments tagged with *tag* will be returned. If *tag* is NULL, all segments will be matched.

- *tag\_type*

  Specifies the type of tag to be searched for. These types include **XmMULTIBYTE\_TEXT**, **XmWIDECHAR\_TEXT**, and **XmCHARSET\_TEXT**.

- *output\_type*

  Specifies the type of text to be generated. These types include **XmMULTIBYTE\_TEXT**, **XmWIDECHAR\_TEXT**, and **XmCHARSET\_TEXT**.

- *parse*

  Specifies the parse table to be used.

- *parse\_count*

  Specifies the number of items in *parse*.

- *parse\_model*

  Specifies which non-text components to be considered in matching in *parse\_table*. Possible values are:

  - **XmOUTPUT\_ALL**

    Puts out all matching components.

  - **XmOUTPUT\_BETWEEN**

    Puts out only those matching components that are between two matching text components.

  - **XmOUTPUT\_BEGINNING**

    Puts out only those matching components that are at the beginning of a matching text component.

  - **XmOUTPUT\_END**

    Puts out only those matching components that are at the end of a matching text component.

  - **XmOUTPUT\_BOTH**

    Puts out only those matching components that are at the beginning or end of a matching text component.

## RETURN

Returns an allocated array of allocated strings. The application is responsible for managing the allocated space. The application can recover the allocated strings space by calling **XtFree** *count* times (that is, one time for each allocated string). The application can then recover the allocated array by calling **XtFree** on the allocated array itself.

## RELATED

**XmStringTab.**
