---
title: MD-Variablen und Ausdrücke
summary: Strings, Listen, Tabellen, Existenzprüfungen und explizite Variablennamenräume.
section: scripting
kind: guide
status: example
updated: 2026-10-27
tags: ["X4","modding","md","variables"]
sources: ["https://wiki.egosoft.com/X%20Rebirth%20Wiki/Modding%20support/Mission%20Director%20Guide/"]
---
## Werte und Ausdrücke
Viele MD-Attribute enthalten Ausdrücke. XML-Anführungszeichen begrenzen das Attribut, während innere Einzelanführungszeichen einen MD-String wörtlich bilden. Listen und Tabellen haben unterschiedliche Zugriffsmuster: `$Items.{1}` liest eine Listenposition; `$ByID.{$Key}` liest einen benannten Tabellenschlüssel.
```xml
```
## Validierung des Anfrageformulars
Das Beispiel überprüft die eingehende UI-Zuladung innerhalb des Handlers. Eine korrekte Listenlänge beweist keine Elementtypen. Validierung des Textes und des Switch-Wertes vor der Anwendung einer Einstellung.
```xml
```
## Existenz und Anwendungsbereich
`not $Records?` überprüft die variable Existenz. Objekte müssen zusätzlich `.exists`. Ein Stichwort wie `Init.$Records` explizit Kontext. False, eine leere Liste und eine fehlende Variable sind verschiedene Zustände; ersetzen Sie keine Inhaltsüberprüfung für Existenz.
## Wählen Sie explizit variables Eigentum
Nehmen Sie nicht an, `$Value` und `this.$Value` immer auf die gleiche Lagerung verweisen: `$Value` löst sich durch den Namensraum. Wählen Sie einen geeigneten `namespace="this"` z.B. lokale Handlerdaten; Shared State in einem explizit gewählten Kontext speichern.
Vergleichen Sie zwei aufeinanderfolgende Anfragen: Ändert sich das beabsichtigte Feld, und läuft die erste Anfrage in die zweite? [MD-Bibliotheken](wiki:md-libraries) für ein parametriertes wiederverwendbares Stichwort.