Schema Import ¶
You can use Schema Import to upload one or more XSD schema files and automatically generate the corresponding Rune model files in your Workspace. The generated files are added as a new, read-only namespace, so they remain structurally identical to the source schema, and you can immediately use them for modelling and for test-pack ingestion.
In this section, you will learn about:
- Accessing Schema Import
- Choosing an import format
- Step 1: Upload Schema
- Step 2: Configure Import
- Step 3: Review and Confirm
- Step 4: Import Result
- Validation and Error Handling
Accessing Schema Import ¶
A Schema Import button is available on the Workspace view if you qualify. Selecting it opens the Import Schema wizard, a multi-step modal dialog that guides you through uploading a schema and generating a Rune model from it.
Choose what type of files to Import ¶
Before the numbered steps begin, the wizard asks how you want the model to be created:

- Import XSD schema continues into the four-step flow documented below.
- Infer schema from samples infers Rune types from CSV sample files. It’s shown for visibility but isn’t yet available.
Step 1: Upload Schema ¶
On the Upload step, you upload either a single .xsd file, several .xsd files, or a single .zip file containing .xsd files.

You can add files by dragging and dropping them onto the drop zone, or by using the Browse files button. Files are validated as soon as you upload them:
- Only
.xsdand.zipfiles are accepted. - The combined size of all uploaded files must not exceed the maximum total size (50 MB).
Selecting Back on this step returns to the format screen; any files you’ve already uploaded are preserved and reappear if you choose the same format again.
Step 2: Configure Import ¶
Once you’ve uploaded and validated your files, the Configure step lets you define how the uploaded schema is converted into a Rune model. Basic options are always visible; more advanced options are grouped under a collapsible section.
Basic options ¶

| Option | Description | Default |
|---|---|---|
| Namespace | The namespace under which the imported types will be created (e.g. example.myschema). If a namespace with the same name already exists in your Workspace, you’re asked to choose a different namespace. | (required, no default) |
| Description | A short, human-readable description of the namespace. | (required, no default) |
| Grouping regex | A regex applied to each uploaded file path; the named (?<name>...) capture group is used to derive the target namespace for that file. You can show a live preview of the resulting namespace mapping. | Automatically inferred from the uploaded file names. |
Show grouping preview displays how each uploaded file will be mapped to a namespace, based on the current grouping regex.Advanced options ¶
Selecting Show advanced options reveals additional settings for fine-tuning the generated model. These options default to values that produce sensible output without any further configuration, so you don’t need to open this section the first time you import a schema.

Naming ¶
| Option | Description | Default |
|---|---|---|
| Type casing | Casing style applied to generated type names — PascalCase, camelCase or Keep original. | PascalCase |
| Attribute casing | Casing style applied to attribute and field names — PascalCase, camelCase or Keep original. | camelCase |
| Enum value casing | Casing style applied to enum values — PascalCase, camelCase or Keep original. Keep original preserves the casing used in the uploaded schema. | Keep original |
| Name overrides | Maps element names in the schema to alternative names in the generated Rune model. | (none) |

Schema parsing ¶
| Option | Description | Default |
|---|---|---|
| Root file | The entry-point XSD file from which schema parsing begins. Selected from the files you uploaded in Step 1. | The uploaded file whose name contains main, otherwise the first uploaded file. |
| Date handling | How XSD date types are represented in the generated model. Date is simpler; ZonedDateTime preserves time-zone information. | Date |
| Flatten level | Controls how many levels of virtual types are generated for XSD constructs (e.g. groups, extensions) that have no direct Rune equivalent. | Single |
| Flatten groups | Merges XSD model groups into their parent types rather than generating separate types. | Enabled |
| Generate conditions | Converts XSD restrictions (minOccurs, pattern, etc.) into Rune conditions. | Enabled |
| Type replacements | Replaces elements in the schema with alternative Rune types generated from a previous schema import; intended for use when you’re extending an existing Rune model. | (none) |

Documentation ¶
| Option | Description | Default |
|---|---|---|
| Generate doc references | Embeds documentation references (body, corpus and corpus description) into the generated types. When enabled, reveals the Body and Corpus fields below. | Disabled |
| Body | The standards body that issued the schema. Required when Generate doc references is enabled. | (none) |
| Corpus | The document corpus. Required when Generate doc references is enabled. | (none) |
| Corpus description | A short description of the corpus. | (none) |
Step 3: Review and Confirm ¶
The Review step summarises your chosen configuration and lists every file you uploaded, together with the namespace it will be mapped to, based on the configured grouping regex.

Selecting Import triggers the backend import job. A loading indicator is shown for the duration of the import, and you can’t close the wizard until the import completes.
Step 4: Import Result ¶
On success, the wizard confirms that the model has been imported and lists the namespaces that were generated.

Once you select Finish:
- Your Workspace file tree updates to show the newly imported Rune files.
- Imported files are visually marked as read-only: you can delete and re-import them at the namespace level, but you can’t edit them at the file level.
On failure, a human-readable error message is displayed, no files are added to your Workspace, and your configuration selections are preserved so you can retry the import without starting over. If the failure is caused by an unsupported schema feature, the error names the feature.
Validation and Error Handling ¶
Schema Import validates the uploaded schema and your chosen configuration at several points:
- File validation: file type and combined size limits are checked as soon as you upload files, before staging.
- Namespace validation: the chosen namespace must not already exist in your Workspace, and must not collide with a namespace produced by the import itself.
- Configuration validation: your configuration is checked against the staged files and the existing Workspace (for example, that the root file points to one of the uploaded files) before the import is run.
- Schema validation: the uploaded schema is checked for parse errors and for XSD constructs that aren’t yet supported.
If your staged session has expired, or was never created (for example, if you leave the wizard open for too long), you’re asked to re-upload your schema files and configure the import again.