# Language Basics

The CsvPath's Validation Language is simple, declarative, and purpose-built. Here is a quick introduction. As well as in these pages, there is [more information and more examples on Github](https://github.com/dk107dk/csvpath/tree/main).

* [Root, Scanning, and Matching](#root-scanning-and-matching)
* [File References and Match Components](#file-references-and-match-components)
* [Scanning Expressions and Variables](#scanning-expressions-and-variables)
* [Comments and Linebreaks](#comments-and-linebreaks)
* [When/Do Expressions and References](#when-do-expressions-and-references)
* [Multiple Validation Rules](#multiple-validation-rules)
* [A Complex Validation Rule](#a-complex-validation-rule)

## Root, Scanning, and Matching

<figure><img src="https://2402701329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6wzqgDHj9mZbFxabiEbc%2Fuploads%2FX8nvUTg0NtZh7o4a1VB3%2Flanguage-the-parts.png?alt=media&#x26;token=ff3e4da4-7b3b-422f-a15c-df06492e3c39" alt="" width="563"><figcaption></figcaption></figure>

## File References and Match Components

<figure><img src="https://2402701329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6wzqgDHj9mZbFxabiEbc%2Fuploads%2F4mKmaEoop4UXTE9tg4qY%2Flanguage-scanning-and-headers.png?alt=media&#x26;token=e10746ac-8fd3-4c88-8a47-98d2ec21984f" alt="" width="563"><figcaption></figcaption></figure>

## Scanning Expressions and Variables

<figure><img src="https://2402701329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6wzqgDHj9mZbFxabiEbc%2Fuploads%2FprtQ1eOunYiERz4xx3tg%2Flanguage-scanning-and-variables.png?alt=media&#x26;token=90b8f949-2bf9-4671-a8d5-3a7812489bef" alt="" width="563"><figcaption></figcaption></figure>

## Comments and Linebreaks

<figure><img src="https://2402701329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6wzqgDHj9mZbFxabiEbc%2Fuploads%2FMahXe9NuXQKSvaibKYDh%2Flanguage-comments-and-linebreaks.png?alt=media&#x26;token=e03ae036-06c4-4e0c-b74c-077c1d654672" alt="" width="563"><figcaption></figcaption></figure>

## When/Do Expressions and References

<figure><img src="https://2402701329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6wzqgDHj9mZbFxabiEbc%2Fuploads%2Foe1S2AaNwD6cwXPFYCho%2Flanguage-do-when-and-print-references.png?alt=media&#x26;token=08ef6f10-d412-4a44-91ea-166d3be4337a" alt="" width="563"><figcaption></figcaption></figure>

## Multiple Validation Rules

<figure><img src="https://2402701329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6wzqgDHj9mZbFxabiEbc%2Fuploads%2F7z7NnPjhN1UvLUvihofT%2Flanguage-multiple-rules.png?alt=media&#x26;token=c0bdfc90-9595-4834-ae23-a824b136aa11" alt=""><figcaption></figcaption></figure>

## A Complex Validation Rule

<figure><img src="https://2402701329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6wzqgDHj9mZbFxabiEbc%2Fuploads%2Fvt4zjPxHfg5JyXKJGBNG%2Flanguage-complex-rule.png?alt=media&#x26;token=1c044ff5-2915-49b3-ade0-3e4b6ed0ed6c" alt=""><figcaption></figcaption></figure>
