---
name: "sdml-view"
section: "1"
platform: "linux"
package: "sdml"
version: "0.3.2+20250310-1+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/sdml-view"
---

# sdml-view(1)

View formatted module source.

## NAME

sdml view - View formatted module source.

## SYNOPSIS

**sdml** *view* \[*OPTIONS*\] \[*MODULE*\]

## DESCRIPTION

View formatted module source.

This command will generate source code from a module file, which at first seems redundant. However, this view provides levels of detail that allow for an overview of module definitions. The \`--level\` argument can be used to elide content and get an overview of a module.

\- Definitions (default) :: Show only the definitions in the module, any definition body will be elided, for an overview of the module contents. Elided definitions are followed by \`";; ..."\`.

\`\`\`text ??? sdml view **--level** definitions **-i** examples/example.sdm module example \<https://example.com/api\> is

import \[ dc xsd \]

datatype Uuid \<- sdml:string ;; ...

entity Example ;; ...

end \`\`\`

\- Members :: Show definitions in the module and show the members of product types and variants of sum types but not their bodies if present.

\`\`\`text ??? sdml view **--level** members **-i** examples/example.sdm module example \<https://example.com/api\> is

import \[ dc xsd \]

datatype Uuid \<- sdml:string ;; ...

entity Example is version -\> Uuid name -\> sdml:string ;; ... end

end \`\`\`

\- Full :: Show all contents of the module.

\`\`\`text ??? sdml view **--level** full **-i** examples/example.sdm module example \<https://example.com/api\> is

import \[ dc xsd \]

datatype Uuid \<- sdml:string is @xsd:pattern = "\[0-9a-f\]{8}-(\[0-9a-f\]{4}-){3}\[0-9a-f\]{12}" end

entity Example is version -\> Uuid name -\> sdml:string is @dc:description = "the name of this thing"@en end end

end \`\`\`

Indentation level can also be specified, although the default remains 2 spaces.

### Arguments:

-

  \[MODULE\]

-

  SDML module, loaded using the standard resolver

## OPTIONS

**-l**, **--level** \<LEVEL\>

-

  \[default: definitions\]

-

  Possible values: - definitions: Top-level definitions, incomplete - members:     Top-level definitions and members, incomplete - full:        Full source

**-s**, **--indent-spaces** \<INDENT\_SPACES\>

-

  Set the number of spaces for indentation

-

  \[default: 2\]

**-o**, **--output** \<OUTPUT\>

-

  File name to write to, or '-' to write to stdout

-

  \[default: **-\]**

**-i**, **--input** \<INPUT\>

-

  Input SDML file name to read from, or '-' to read from stdin

-

  \[default: **-\]**

**-h**, **--help**

-

  Print help (see a summary with '-h')

**-V**, **--version**

-

  Print version
