# Preview of the form definition (XML)

Tab **Source** allows previewing and editing the technical definition of the form (also [the composite component](/documentation/documentation-en/budowanie-aplikacji/interfejs-uzytkownika/komponenty-rozszerzone/komponenty-zlozone.md) and business one) in the **XML**format.\
It provides direct access to the template structure, making it possible to check or modify elements that are not available in the standard editor view.

## **Features**

1. **XML definition preview**
   * Displays the full structure of the form, including:
     * steps and pages of the application (`<system:Page>`),
     * base and composite components,
     * definitions of visibility and listening conditions (`<data:ListeningOn>`, `<data:ClearOn>`),
     * grid layout (`<system:Page.layout>`),
     * translations (`titleKey`, `labelKey`).
2. **Manual editing**
   * In the **Source** the application’s XML code can be edited - for example, to adjust layout parameters, change the number of columns, or add attributes not present in the graphical interface.
   * It is especially useful when working with more advanced properties, such as:
     * `numColumns` – number of columns on the page,
     * `horizontalSpan` – component width in columns.
3. **Validation of correctness**
   * The system automatically validates the XML syntax, and errors (e.g. missing closing tags, invalid attributes) are indicated in the editor.
   * In case of a save error, the form will not be saved in the repository.

**Example code snippet in the Source tab**

```xml
<system:Page id="Page3" mid="Page3" page="3" titleKey="Page3.title" fixedColumns="true">
    <p1:GesText id="GesText3" mid="GesText3" labelKey="GesText3.label" textKey="GesText3.text">
        <data:ListeningOn/>
        <data:ClearOn/>
        <p1:GesText.layoutData>
            <ns6:GridData horizontalAlignment="FILL" horizontalSpan="10" verticalAlignment="CENTER"/>
        </p1:GesText.layoutData>
    </p1:GesText>
    <system:Page.layout>
        <ns6:GridLayout makeColumnsEqualWidth="true" numColumns="12"/>
    </system:Page.layout>
    <data:Curtains/>
</system:Page>
```

The above code shows the definition of the form page with identifier 'Page3' with one label component 'GesText&#x33;*'* and the page layout in 12 columns.

## **Best practices**

* Editing in the tab **Source** should be done carefully - preferably after saving the current version of the form.
* Before making changes, it is worth checking their impact on the form in the tab **Application**.

## **Use cases**

* **Changing the number of columns** (`numColumns`), when it is not available in the graphical interface.
* **Moving page or component definitions** between forms.
* **Finding dependencies of a given component** before deleting it.

## **FAQ**

**Are changes made in Source visible immediately?**\
Yes, changes are visible after saving or switching to another editor tab.

**Can only a fragment of XML be edited?**\
Yes, any element can be edited - both a component and an entire page block - provided the syntax remains correct.

**Does the Source tab also show translations and styles?**\
Yes, translation keys are visible (`*.labelKey`, `*.titleKey`) as well as CSS classes associated with components or pages.

<figure><img src="/files/e49c5fd015c9635db66d74dd1fcc1167ad238086" alt=""><figcaption><p><em><strong>Figure 1.</strong> View of the “Source” tab in the application editor</em></p></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.eximee.com/documentation/documentation-en/budowanie-aplikacji/interfejs-uzytkownika/formularze/tworzenie-formularza/podglad-definicji-formularza-xml.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
